Miguel,

You are confusing the object approach with the content approach.


With object there would be an XWiki class to store the drawing and a 
reference too it would be done using $doc.display("fieldname")
With the content you would put the drwaing code inside a macro element 
{svg} for example.

I think you are more describing the content approach.. I think this one 
is simpler for now, especially since you already have an {svg} macro 
that converts SVG to image.

Ludovic

Miguel Bento wrote:
> As some of you know, the collaborative drawing application will use svg(
> http://www.w3.org/Graphics/SVG) syntax in order to draw the various objects
> and therefore we have to found a way to store and edit this information.
>
> Currently we have two implementation options to perform this task, the
> Object approach and the Attachment approach, and are trying to decide which
> one is the better, so, in order to perform that i've prepared a few mockups.
>
>
> To clarify the intent of these approachs, it's good to keep in mind that a
> drawing has various edition modes and privileges.More specifically, we
> should have 3 user modes:
>
>
>    - Administrator: In administrator mode the drawing content will be
>    presented by the SVG editor and the user can:
>       - Edit the drawing
>       - Add or remove users
>       - Modify the drawing name and description
>    - Editor: In the editor mode the drawing content will also be presented
>    by the SVG editor but the user can only edit the drawing content.
>    - Viewer: In the viewer mode the drawing will be presented as .png file
>    using the Batik plugin and therefore the user only has rights to view the
>    drawing.
>
>
>  The object approach:
>
> In this perspective, the SVG content would be saved on a SVG object with the
> following properties:
> http://dl.getdropbox.com/u/47956/XWiki_SVG_Object_Description.pdf , this SVG
> object would be available in the page, could be accessed by the getContent()
> method and edited with a simple saveContent() call.
>
> In order to store the privileges and the creation date the current page
> should be used and to show that here's example:
> (
> http://dev.xwiki.org/xwiki/bin/download/Design/CollaborativeDrawing/XWikipagerightsmanagement.png?height=400&width=900)
>
> Here's a example of the view mode:
>
> (
> http://dev.xwiki.org/xwiki/bin/download/Design/CollaborativeDrawing/SVGObjectviewmode.png?height=628&width=900)
>
> And finally here's a edition mode example:
>
> (
> http://dev.xwiki.org/xwiki/bin/download/Design/CollaborativeDrawing/SVGObjecteditor.png?height=683&width=900)
>
>
>  The attachment approach:
>
> In this approach, the SVG content will be stored on a attachment and so all
> the edition operations would be saved on it as new versions. It's identical
> to the object approach except in the fact that the svg content wouldn't be
> in the page itself(we still would need a reference to the attachment on it).
>
> When a user want's to go to edition mode, in this approach a full-screen
> editor will be launched like the next one:
>
> (
> http://dev.xwiki.org/xwiki/bin/download/Design/CollaborativeDrawing/SVGObjectfulllscreenedit.png?height=419&width=901)
>
> and all the document properties would have to be stored on the attachment.
>
> Note: Obviously the full screen mode can be used in both approaches and the
> examples shown are possible desings for the UI which in the future will be
> discussed.
>
> (Refer to http://dev.xwiki.org/xwiki/bin/view/Design/CollaborativeDrawingfor
> a better version)
>
> So, WDYT?
>
>
> Best Regards,
> Miguel Bento
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
>   


-- 
Ludovic Dubost
Blog: http://blog.ludovic.org/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to