Transcript XML Framer

DSpace XML UI Project
Texas A&M University
Digital Initiatives, Research and Technology
Scott Phillips, Cody Green, Alexey Maslov, Adam Mikeal, Brian Surratt, John Leggett
Agenda
 What & Why
 Design goals
 Architectural Overview
 Schema Overview
 Themes
 Future Work
 Questions
What is the “XML UI”?
 The XML UI is a new front-end for DSpace that:



Enables communities and collections to customize
their interface
Improves support for internationalization
Removes stylistic logic from the core DSpace
business logic
Why?
 Why is this good?

Branding




University level
Community level
Institutional credibility
Community ownership & buy in
 Increase adoption of DSpace?
Design Goals
 Enable each community & collection to maintain a
distinct look and feel
 Separate business logic from stylistic controls
 Increase ease of adaptability


Languages
Other formats
 Provide an alternative user interface

With no API or DB changes
Architectural Overview
1.
HTTP Request

HTTP
Request
2.
Java Servlets



Java Servlets
3.

themes.xml
4.
XML Framers
5.

6.
Determines the theme
Applies the theme
HTTP Response

HTTP
Response
Inserts content into the document
Theme Manager

Theme
Manager
Creates the XML Document
Calls the XML Object
XML Framer

XML
Manager
Processes form data
Determines flow control
Instantiates the XML Object
XML Manager

DSpace
Tomcat identifies the Java servlet
Serializes the document into a
stream for transmission.
HTTP Request
 Tomcat receives the HTTP Request
 Directs request to a Java Servlet
 No difference from the current “webui” (except a different
implementation of the servlet is used)

Future plug-in architecture?
Java Servlets
 Processes the form data
 Determines flow control
 Instantiates the XML Framer
 Servlet & XML Object ( JSP ) coupling made more
explicit
XML Manager
 Creates the XML Document
 Interfaces with:
 XML Framework
 XML Framer
 Theme Manager
 Roughly equivalent to the “webui”s JSPManager
XML Framework
 Document Object Model (DOM) based


Objects vs streams or events
Easier manipulation
 XML Framework



Used by the XML Manager & XML Framers
Manipulate the DOM
Specific to the DSpace XML UI Schema
(described later in the presentation)
XML Framer
 Inserts the desired content into the
document
 Uses the XML Framework
 Equivalent in purpose to JSP pages.


“Pure java”
No <% some java code here %> tags!
XML Framer (Example)
XML Framer (Example)
Theme Manager

Determines the theme based on:
1.
2.
3.
4.
user supplied theme parameter
url path
regex expression
collection or community

Themes are configured by an XML file, themes.xml

There is no equivalent of the theme manager in the
existing implementation
Theme Manager (themes.xml)
HTTP Response
 Finally the XML Manager:
 Serialize the DOM into a stream
 Transmit to the user
Schema Overview
 Examining an existing DSpace page we found
three main parts:
Meta information about the page
Available navigational options
The main body
Schema Overview
 Three major parts:



page
meta
options
body
meta
body
options
section
tabular
form
 Display types:



sections
tables
forms
Schema & Languages
 Problems
 Themes generating content



Partial page translations
Multiple languages?
Display formats other than plain XHTML

Applets, JavaScript

Caching

Simplicity

Keep theme writing easy & simple
Schema & Languages
 Two language models:
Simple Model

May mostly ignore
language issues.
Complex Model

More control given to
the theme.
Themes
 Transform the DSpace XML into a display format



Themes are implemented in XSL
May filter content
For XHTML interfaces:



“css_base”
A set of templates to transform the DSpace XML UI
schema into XHTML
Themes are able to use what they like and override
what they don’t.
Future Work
 Plug-in architecture
 User selected themes
 Shared library of common themes
 Cocoon Integration?
Summary

XML UI is a new front end for DSpace:



Architectural Overview


XML Framers, XML Manager, Theme Manager
XML UI Schema




Customize look & feel for communities & collections
Increase community adoption of DSpace
Three parts
Three display types
Two language models
Themes

Base libraries for easy development
Questions?