Hi Niels, On 10/16/2009 11:49 PM, Niels Mayer wrote: > On Wed, Oct 14, 2009 at 1:03 PM, Anca Luca <[email protected] > <mailto:[email protected]>> wrote: > > * 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) > > > Where is the source for the xwiki-based annotation storage? Is this it? > http://hg.nuxeo.org/sandbox/scribo/file/a9c5293ae8b3/scribo-xwiki-documentsource/src/main/java/ws/scribo/ > or some other part of http://hg.nuxeo.org/sandbox/scribo/summary ?
The xwiki based storage backend is here in the xwiki sandbox: https://svn.xwiki.org/svnroot/xwiki/sandbox/xwiki-annotation-parent/xwiki-annotation-io/src/main/java/com/xpn/xwiki/annotation/internal/document/ implementing the interfaces in https://svn.xwiki.org/svnroot/xwiki/sandbox/xwiki-annotation-parent/xwiki-annotation-core/src/main/java/org/xwiki/annotation/ . In the scribo sources, they're here (slightly refactored compared to the xwiki sandbox): http://bitbucket.org/lpereira/scribo/src/tip/scribo-xwiki-annotation-parent/scribo-xwiki-annotation-io/src/main/java/org/xwiki/annotation/internal/document/ , along with the ScriboIOService implementation. > > Also, I request a simple feature: The addition of an extra, separate, > string-property alongside every annotation. This would allow an > arbitrary JSON structure (text) to be entered, containing additional > information. > > As my interest is in semantic video and audio annotations, this kind of > "back-link" would allow easy addition of structured information > alongside an annotation. One of the issues with "annotation" in general > is that there can be a variety of information one wants to supply. For > example, in a structured document, one may want to annotate a named > element, an unnamed-element positionally defined within a larger named > structure, as well as an "extent" , in case the annotation doesn't > correspond to an exact DOM structure. > With streaming media, you will want to annotate with a start and a stop > time, but also there may be the need for much additional information to > be cross-referenced: for example, if using automatic indexing, structure > or dialog detection in a video or audio stream, one will typically have > a variety of other information one may need attached to any particular > annotation. So in my need for annotation, I may want to include a JSON > structure like this alongside every audio annotation: > > {"title": "Michael Jackson Special", "file": > "http://www.aspenpublicradio.com/podcasts/sp/soulpatrol_mjspecialjul09.mp3", > "type": "sound", "link": "http://www.aspenpublicradio.org/support.php", > "tags": "Music", "image": "/Misc_icon_Media_Clip_1813.jpg", "author": > "KAJX, Soul Patrol Podcast", "description": "Clip: segment32 start: > 00:15:12.600 end: 00:19:01.400 length: 228.80000000000007s. > analyzer=VampQmSegmenter:segment", "date": "2009-07-05T08:00:00Z", > "start": 912.6, "duration": 228.80000000000007, "captions.file": > "/xwiki/bin/view/Episodes/www_aspenpublicradio_com_podcasts_sp_soulpatrol_mjspecialjul09_mp3?xpage=plain&analyzer=VampQmSegmenter%3Asegment", > "trainspodder.analysis": "VampQmSegmenter:segment"} > > This is from a real-world example: > http://nielsmayer.com/trainspodder-prototype-2009-10-16.jpg But this is the requirement number 1 that I mentioned in my original mail: "* 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. " , isn't it? in short, my idea would be that a programmer of the wiki would write (and configure) an xwiki class that would define the type of the annotation that needs to be added, and then the javascript client, UI, communication with server and default xwiki storage) would all automatically handle all the fields in the class, without the need to pass and handle custom JSON. More, right now, the communication between the javascript client and annotations REST service is done in XML, using JAXB for deserialization on the server. So rather than accepting a piece of JSON, more straightforward would be to loosen the schema to accept anything. The sources for the XWiki annotation application are here: https://svn.xwiki.org/svnroot/xwiki/sandbox/xwiki-annotation-parent/ and some user & developer guides are here: http://dev.xwiki.org/xwiki/bin/view/Design/AnnotationFeature . Happy hacking, Anca > > ... This discussion is timely, as I'm now implementing the functionality > behind the "add comment" button in the timeline popup bubble. Thus my > interest in finding the source code and it's status for your annotations > back-end for use outside your project.... > > Regarding Scribo, > http://trueg.wordpress.com/2009/05/14/scribo-getting-natural-language-into-the-mix/ > suggests that the main focus is on natural language processing for > documents, which is a laudable goal, as I spent some time in college > writing in prolog for just this purpose and then spent 8 years in > research working alongside NLP people. > See before the web existed, we did "web" over email: > http://nielsmayer.com/p93-shepherd.pdf and worried about semantic > tagging of "intent", and automating conversation structures based on > tracking conversational moves.... > > Today, however, a vast unexplored chunk of content and "intelligence" > (and it's dialectic, stupidity) out there is in audio and video form. > For that, semantic-audio technologies on which I base my work come in > very handy, e.g. http://www.omras2.org/ . Is scribo intending to focus > any effort on semantic tagging audio and video content? Given the shared > platform, Xwiki, perhaps there's room for collaboration? > > Also, please note that there is a good deal of potential with the "idiot > savant" technology such as that employed by > http://www.google.com/voice . Excited to see things from the labs hit > the mainstream, I installed my new free google voice "Call Me" button on > my website... the performance of the transcription capabilities are less > than stellar (it's own "annotation" animated beautifully in synchrony > with the recorded message, dynamically underlining each spoken word in > the transcript, many of which were completely wrong): > > *Niels Mayer* () ..... > 11:10 PM > Hey this is a groovy tester google voice on my homepage. I wanna see how > prizes, as I can release my number. What they're gonna do. I have keep > number private sector so. Ohh no it's not facts of course it's not gonna > do it. Anyways, it's all very excited and an call on the web and see > what it actually and they call. > > > -- Niels > http://nielsmayer.com > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

