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

