1 / 36

Annotation Management in an XML CMS

Annotation Management in an XML CMS. A Case Study. Who is this guy?. David Price Consultant for Isogen International, LLC Technical lead on this project Experienced in content management system implementation, customization, and tool integration

umed
Download Presentation

Annotation Management in an XML CMS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Annotation Management in an XML CMS A Case Study

  2. Who is this guy? • David Price • Consultant for Isogen International, LLC • Technical lead on this project • Experienced in content management system implementation, customization, and tool integration • Focused on implementations and practical applications

  3. Presentation Goals • To describe an instance of annotation management within a large CMS • Demonstrate what can be done with annotating XML, and how • To show what it took us, resource and time-wise, to implement it • To present lessons that were learned in the development process

  4. What is an annotation? • Annotations are a kind of metadata with three distinguishing characteristics: • Fine granularity • Created and viewed outside the normal authoring process • Stored and managed separately from the annotated content

  5. Why manage annotations? • Changing / Versioned content • Access Controls • Speed • Special Applications

  6. What does this have to do with XML? • XML lends itself particularly well to annotation for several reasons: • Structured content • Human-readable, machine parsable • Existing linking technologies • Broad tool set • The system as built exploits these properties

  7. System Requirements • A tool for reviewers to add annotations to content over the web • A tool for authors to read and respond to annotations made by reviewers • Integration of both tools with process workflow

  8. Annotation must work in a versioned environment • Limited time frame and resources

  9. Environment • Documentum 4i / Oracle as a CMS • Arbortext Epic 4.2 as an editor • iPlanet 4 as a web application server • Custom link management solution

  10. Environment (cont.)

  11. Language • Java was decided on as the language of choice for three reasons: • Familiarity with the language • Available APIs and a Java-friendly environment • Availability of Java XML tools

  12. Difficulties In this case, there were only two difficult problems: • Managing the relationship between annotations and content • Integrating annotation management with workflow

  13. Linking == Annotation • Any content that is linkable can be annotated • Annotation has all of the problems associated with link management

  14. <task name=“blah” objectId=“AGXxF192rU”> <step objectId=“G9fc83UIcD13”> <para>Blah! Blah blah blah blha blhab</para> </step> <step objectId=“889GkwlE9”> <para>BLAH! BLAH!</para> </step> </task> Annotation

  15. Architecture & Implementation Annotation Manager Core Annotation Manager GUI Annotation Manager Web

  16. Annotation Manager Core • Handles the creation, deletion, modification, and querying of annotations • Consists of abstract classes, interfaces, and specific implementations • Abstraction of the core was intended to allow multiple back-end implementations, but was only partially successful • Poor integration of workflow damaged the abstraction

  17. Web Interfaces • A set of Java Servlets that allow access to the annotation manager • Provides a web interface to the core components, along with basic access controls • Includes a SAX application to transform XML documents within the system into reviewer-friendly HTML on the fly, including transclusions

  18. Java Interfaces • A Java Swing application with some Epic-specific customizations • Allowed authors to search for and view annotations on the document currently being edited • Did not permit editing of the annotation beyond workflow state changes

  19. Project Timeline • Project began in Mid-September, 2001 • System was substantially complete by mid-October • First client review – 17 October 2001 • Second client review – 9 November 2001 • Code Complete – 19 November 2001 • Installed at the client site one week later

  20. Implementation • Project started in mid September of 2001 • Two core team members, with a third programmer being brought in to write the SAX portion of the web interface

  21. Work was started simultaneously on the Core components and web interfaces. • Once the core interfaces were defined, an initial implementation based on MS Access was built, which was used for testing while the Documentum implementation was still in progress • A significant amount of this time was devoted to learning the APIs needed to access the CMS

  22. Successes • Completed two weeks ahead of schedule • Completed under budget • Customer was satisfied with product and used it for the duration of the project

  23. Failures • Code reusability • User interface look and feel • Extensibility of system • Use of SAX for dynamic rendering of documents • Workflow interaction too rigid

  24. Improvements / Extensions • Refactor code for re-use and multiple databases • Abstract workflow • Use XML for annotation content as well • Improve user interface • Use a more agile development process

  25. Conclusions • Adding a customized annotation solution to a CMS is not necessarily a difficult task • If a linking solution is in place, the main work of an annotation system is done. Creating an annotation system means creating a link manager • More customer interaction is better • Workflow might not be as trivial as it seems

  26. Questions & Contact Info David Price davidp@isogen.com +1 214.954.5107

More Related