Final Project: DSpace

Live demo:

Participants

Responsibilities

Technologies

Description

Our project will modify the current web-based user interface for DSpace to remove the HTML stylistic code from the business logic of DSpace. The current web-based user interface for DSpace consists of a mix between Java Server Pages (JSP), which imbed Java hooks into the core of DSpace, and a set of Java Servlets which work as filters to the server pages.

In our design the Java Servlets will be used to process form data from the HTTP request, and maintain flow control to identify the item to be displayed. Once this has been identified it will be passed to the XML Display object. The XML Display object will create a new DOM object (using JDOM) and hand it off to the DSpace XML objects (see figure 1).

The DOM object is an internal representation of an XML document; this will allow the Dspace XML objects to process the document as a tree structure, making changes dynamically to the document throughout the entire processing stage. Once the XML objects have completed building the DOM object it will be returned to the XML Display manager, where JDOM will invoke an XSL transormation library (in this case Xalan) to use XSLT to produce the HTML that will be sent to the client (browser). Obviously, this scema opens up the possibility of serving the same content to multiple diverse platforms, wuch as WML (for mobile devices) or plain text (for accessibility concerns).

Diagram of
   		proposed changes to DSpace internal UI workflow

Since DSpace is logically arranged into a hierarchy of communities and collections, there will be a mechanism for allowing the community section of a DSpace installation to override/extend the global UI gracefully, and in the same way, a collection will be able to override/extend the UI it inherits from its community.