Hi, The solution we are trying to find for annotation is one that would not necessarly require to store permanently the annotation in the document. We could decide to do this and it's true that it can remove us a few problems.
But one of the idea was to try to be non obtrusive and do not touch the annotated document when annotating. This would also allow to use the same annotation tool on non wiki content (static HTML or even any document transformable to HTML as long as it would not change). Now even tough we decide or not to store the annotation fully / partially (only the marker, and keep the annotation itself outside) / not at all in the wiki syntax document, I think the same technologies could be used or not to do the annotation itself. Example: wiki syntax document with annotation in wiki macro (whatever it is) or wiki syntax document with annotation externally with positions in the document --> transformed to wiki syntax with annotation --> transformed to HTML with HMTL markers for the annotation which willl allow a JS interface to make great and fun UI to visualize the annotation ---- insert of new annoation in the same HTML as the one generated by the wiki syntax rendering of annotation --> transformation to wiki syntax with wiki macro for the new annoation --> save of the wiki syntax document + annoation or extraction of the annotation to calculate it's position For repositionning the annotation on document changes, we would have nothing to do in case of the marker stored in the wiki syntax or we would have to work on DIFFs to reposition the annotation. This could be done by reintroducing the marker and see how they move after the merging. If there is a conflict then this means the impact on the annotation is significant (disappearance of content or significant change). With a DIFF at the character level I think conflict will automatically mean disappearance of content. Now we could decide to not make the effort of trying to store annotations separately and to decide to have at least the markers in the wiki document. Now if we do this we need to be aware that this could make annotation create a lot of updates to document. This is a simple decision to make: 1/ Annotation with markers in the wiki document - no need for repositioning but issue if annotation markers are removed by editing - slightly simpler to set an annotation since it is like and editing but this creates saving of document after conversion from HTML to wiki syntax (risk on document) - much easier to render annotation, harder to not render them - could create heavy document 1/ Annotation with markers - more work to position - more work to set the annotation but no risk on the document - slightly more work to render annotation - lighter document - annotation system can be more easily used on non wiki content Ludovic Vincent Massol a écrit : > Hi Lucien and all, > > Several ideas: > > 1) If this were implemented at the xwiki syntax level we couldn't do > it with a macro as this would break the semantic of the wiki but it > could be done using semantic inline poroperties > (http://code.google.com/p/wikimodel/wiki/AdvancedStructuralElements > ). Note that we haven't implemented this yet in the rendering. Right > now the closest would be using custom XHTML attributes. > 2) If it were to be implemented at the level of the wiki syntax it > would only work with XWiki syntax 2.0 since we don't have a XHTML to > wiki syntax converter for the 1.0 syntax (there would be too many > other problems too) > 3) You must talk to Marius and reuse his Range and Selection API that > he implemented for Firefox/IE for selecting portions of text > 4) I agree that it would be easier implemented at the xwiki syntax as > otherwise you would have a very hard time synchronizing document > changes with text selections. In addition having it at the wiki syntax > allows to enter annotations when editing the document using the > wysiwyg editor or the wiki editor and it solves the way to persist the > location information. > > So, is 2) acceptable for your need Lucien? > > If we agree that it's best to implement at the wiki syntax level then > we'll need to wait for 1.8 since we'll need to introduce semantic > properties in the rendering module. > > This is an interesting use case ;) > > Thanks > -Vincent > > On Nov 17, 2008, at 10:22 AM, Lucien PEREIRA wrote: > > >> Hi, >> >> I'd like to propose this design >> <http://dev.xwiki.org/xwiki/bin/view/Design/AnnotationFeature> for >> annotation feature implementation. >> >> Vote is about choosing between solution 1 and 2. >> >> if we can have an (almost) perfect bijective function between HTML and >> XWiki code, I'm +1 for solution 2 because implementation will be more >> efficient , stable and clean. >> Otherwise solution 1 seems to be a good solution. >> >> WDYT? >> >> Lucien >> > _______________________________________________ > 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

