annotation management in an xml cms
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
XML 2002
Annotation Management in an XML CMS
A Case Study
XML 2002
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
XML 2002
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
XML 2002
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
XML 2002
Why manage annotations?
• Changing / Versioned content• Access Controls• Speed• Special Applications
XML 2002
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
XML 2002
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
XML 2002
• Annotation must work in a versioned environment
• Limited time frame and resources
XML 2002
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
XML 2002
Environment (cont.)
XML 2002
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
XML 2002
Difficulties
In this case, there were only two difficult problems:
– Managing the relationship between annotations and content
– Integrating annotation management with workflow
XML 2002
Linking == Annotation
• Any content that is linkable can be annotated
• Annotation has all of the problems associated with link management
XML 2002
<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
XML 2002
Architecture & Implementation
Annotation Manager Core
Annotation Manager GUI
Annotation Manager Web
XML 2002
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
XML 2002
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
XML 2002
XML 2002
XML 2002
XML 2002
XML 2002
XML 2002
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
XML 2002
XML 2002
XML 2002
XML 2002
XML 2002
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
XML 2002
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
XML 2002
• 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
XML 2002
Successes
• Completed two weeks ahead of schedule
• Completed under budget• Customer was satisfied with product
and used it for the duration of the project
XML 2002
Failures
• Code reusability• User interface look and feel• Extensibility of system• Use of SAX for dynamic rendering of
documents• Workflow interaction too rigid
XML 2002
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
XML 2002
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