dspace xml ui project texas a&m university digital initiatives, research and technology scott...
TRANSCRIPT
DSpace XML UI Project
Texas A&M UniversityDigital Initiatives, Research and Technology
Scott Phillips, Cody Green, Alexey Maslov, Adam Mikeal, Brian Surratt, John Leggett
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
DSpace
Java Servlets
XM
L F
ram
ers
XMLManager
ThemeManager
themes.xml
HTTP Request
HTTP Response
1. HTTP Request Tomcat identifies the Java servlet
2. Java Servlets Processes form data Determines flow control Instantiates the XML Object
3. XML Manager Creates the XML Document Calls the XML Object
4. XML Framer Inserts content into the document
5. Theme Manager Determines the theme Applies the theme
6. HTTP Response 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!
Theme Manager
Determines the theme based on:1. user supplied theme parameter
2. url path
3. regex expression
4. collection or community
Themes are configured by an XML file, themes.xml
There is no equivalent of the theme manager in the existing implementation
Schema Overview
Available navigational options The main body
Meta information about the page
Examining an existing DSpace page we found three main parts:
Schema Overview
Three major parts: meta options body
Display types: sections tables forms
page
meta optionsbody
section tabular form
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
May mostly ignore language issues.
Simple Model Complex Model More control given to
the theme.
Two language models:
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: Customize look & feel for communities & collections Increase community adoption of DSpace
Architectural Overview XML Framers, XML Manager, Theme Manager
XML UI Schema Three parts Three display types Two language models
Themes Base libraries for easy development