On Oct 15, 2009, at 9:08 PM, Anca Luca wrote:

> Vincent Massol wrote:
>> On Oct 14, 2009, at 10:03 PM, Anca Luca wrote:
>>
>>> Hello devs,
>>>
>>> The current state of the annotation feature in the sandbox can be
>>> described by
>>> the follwing:
>>> * there is a single type of annotation which can be added, using a
>>> specific
>>> javascript client backed by a rest service. Such an annotation
>>> contains an
>>> annotation text, the annotated content and its position and this
>>> type is highly
>>> coupled in the plugin implementation
>>> * the backing annotation storage is based on components, currently
>>> with an XWiki
>>> objects implementation but a different service can be easily created
>>> (there is
>>> one implemented for Scribo annotations stored in RDF)
>>> * for the moment, only xwiki documents and feed entries fetched by  
>>> the
>>> feedreader plugin can be used as targets for annotations (the
>>> annotated
>>> documents), with the restriction that the content of the document is
>>> *not*
>>> generated using scripting. A component can be implemented for a new
>>> type of
>>> document but the current UI (the javascript client) is *specific to
>>> xwiki documents*
>>> * the javascript client (UI) is only in the state of a prototype:
>>> while proving
>>> that it works, it is not robust enough and the user experience is  
>>> poor
>>> * annotation creation algorithm seems to perform well in practice,
>>> but we should
>>> put it to more real-world test (by releasing).
>>>
>>> Some *requirements* in terms of functionality, in order to make this
>>> an
>>> extensible and flexible feature, would be to:
>>> * be able to have different types of annotations (one to be able to
>>> easily
>>> specify fields for the annotations to add), with storage as xwiki
>>> objects. This
>>> needs to be flexible at all levels: UI and storage backend,
>>> preferably using
>>> xwiki scripting (no jars on the server side, or java coding) so that
>>> it can be
>>> easily customized. Also, the annotation UI should be thought of as
>>> easy to
>>> customize and create whatever forms and actions in a light manner.
>>> * be able to annotate any type of document (object inside such a
>>> document),
>>> namely all or any number of text fields in such an object.
>>> Preferably this
>>> should also be doable only using xwiki scripting or configuration.
>>>
>>> I would like to propose the following road to perfect this feature:
>>> *Version 1.0* (somewhere in the timeframe of XE 2.1 RCs)
>>> The aim would be to take feature out of sandbox preserving its
>>> current features:
>>> allowing to add a specific type of annotation saved as XWiki object
>>> on a
>>> regular, non scripted XWiki Document. We should:
>>> - format, improve comments, generally clean up the current code
>>> sandbox to match
>>> XWiki coding styles
>>> - refactor packages and components to remove some dependencies
>>> issues and
>>> increase flexibility
>>> - simplify flow, stripping out all code which is not strictly needed
>>> by the
>>> targeted functionality (such as the Feed entry handling code), and
>>> make it
>>> easily implementable by a component in a distinct jar (so that the
>>> Scribo
>>> requirements currently implemented can be preserved)
>>> - finish the javascript client: robust user interaction, intuitive
>>> interface,
>>> cleaned up integration with XE
>>> - ensure quality assurance process by a well setup battery of tests,
>>> unit and
>>> functional
>>> At this point I propose to have the annotation feature as an
>>> installable plugin
>>> but not included by default in XE, unless after a few bugfixing
>>> cycles.
>>
>> Sounds good. What do you miss to make it use the "new" architecture
>> fully?
>
> Hi Vincent,
> I don't think I fully understand what you mean. Can you rephrase,  
> please?

I meant using components and not plugins.

Thanks
-Vincent

>
> Thanks,
> Anca
>
>>
>> Thanks
>> -Vincent
>>
>>> *Version 1.1* (somwhere in the timeframe of XE 2.2, at the beginning
>>> of next year)
>>> * first iteration on the 2 desired features. At this point one
>>> should be able to
>>> configure the type of annotation to add, UI should be accomodate
>>> this type,
>>> backing XWiki storage should be easy to integrate with any
>>> annotation storage
>>> service (for Scribo requirements), and one should easily set a field
>>> in a
>>> structured document which would support annotations. (Note that this
>>> might
>>> require heavy rewrite / refactor of the 1.0 version. We could decide
>>> to skip it
>>> and go straight to this version, but it would take longer.)
>>> * integration of Scribo requirements can be met at this point by
>>> setting the
>>> configurations according to the Scribo annotation type and target
>>> requirements.
>>> At this point, if we find appropriate, we could make the decision of
>>> including
>>> the annotation feature in XE by default
>>>
>>> *Version 1.2* (future)
>>> * finish the 2 requirements, integration with Scribo would be done
>>> in the same
>>> manner, by specific configuration and storage backend specific
>>> implementation.
>>>
>>> What do you think?
>>>
>>> For the moment I will focus on version 1's tasks while finding a  
>>> good
>>> architecture to achieve the desired requirements, converting, where
>>> necessary,
>>> the direction of the development towards that goal.
>>>
>>> Thanks (for reading this very long mail),
>>> Anca
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to