annotation management in an xml cms

36
XML 2002 Annotation Management in an XML CMS A Case Study

Upload: umed

Post on 22-Jan-2016

32 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Annotation Management in an XML CMS

XML 2002

Annotation Management in an XML CMS

A Case Study

Page 2: Annotation Management in an XML CMS

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

Page 3: Annotation Management in an XML CMS

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

Page 4: Annotation Management in an XML CMS

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

Page 5: Annotation Management in an XML CMS

XML 2002

Why manage annotations?

• Changing / Versioned content• Access Controls• Speed• Special Applications

Page 6: Annotation Management in an XML CMS

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

Page 7: Annotation Management in an XML CMS

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

Page 8: Annotation Management in an XML CMS

XML 2002

• Annotation must work in a versioned environment

• Limited time frame and resources

Page 9: Annotation Management in an XML CMS

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

Page 10: Annotation Management in an XML CMS

XML 2002

Environment (cont.)

Page 11: Annotation Management in an XML CMS

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

Page 12: Annotation Management in an XML CMS

XML 2002

Difficulties

In this case, there were only two difficult problems:

– Managing the relationship between annotations and content

– Integrating annotation management with workflow

Page 13: Annotation Management in an XML CMS

XML 2002

Linking == Annotation

• Any content that is linkable can be annotated

• Annotation has all of the problems associated with link management

Page 14: Annotation Management in an XML CMS

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

Page 15: Annotation Management in an XML CMS

XML 2002

Architecture & Implementation

Annotation Manager Core

Annotation Manager GUI

Annotation Manager Web

Page 16: Annotation Management in an XML CMS

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

Page 17: Annotation Management in an XML CMS
Page 18: Annotation Management in an XML CMS

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

Page 19: Annotation Management in an XML CMS

XML 2002

Page 20: Annotation Management in an XML CMS

XML 2002

Page 21: Annotation Management in an XML CMS

XML 2002

Page 22: Annotation Management in an XML CMS

XML 2002

Page 23: Annotation Management in an XML CMS

XML 2002

Page 24: Annotation Management in an XML CMS

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

Page 25: Annotation Management in an XML CMS

XML 2002

Page 26: Annotation Management in an XML CMS

XML 2002

Page 27: Annotation Management in an XML CMS

XML 2002

Page 28: Annotation Management in an XML CMS

XML 2002

Page 29: Annotation Management in an XML CMS

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

Page 30: Annotation Management in an XML CMS

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

Page 31: Annotation Management in an XML CMS

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

Page 32: Annotation Management in an XML 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

Page 33: Annotation Management in an XML CMS

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

Page 34: Annotation Management in an XML CMS

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

Page 35: Annotation Management in an XML CMS

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

Page 36: Annotation Management in an XML CMS

XML 2002

Questions & Contact Info

David Price

[email protected]

+1 214.954.5107