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?

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
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to