Presentation on theme: "DSpace XML UI Project Texas A&M University Digital Initiatives, Research and Technology Scott Phillips, Cody Green, Alexey Maslov, Adam Mikeal, Brian Surratt,"— Presentation transcript:
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 DSpace Java Servlets XML Framers XML Manager Theme Manager 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 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
HTTP Response Finally the XML Manager: Serialize the DOM into a stream Transmit to the user
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 metaoptionsbody sectiontabularform
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