240 likes | 258 Views
The XML.UI is a new front-end for DSpace that allows communities and collections to customize their interface, improve internationalization support, and separate stylistic logic from the core DSpace business logic.
E N D
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 • HTTP Request • Tomcat identifies the Java servlet • Java Servlets • Processes form data • Determines flow control • Instantiates the XML Object • XML Manager • Creates the XML Document • Calls the XML Object • XML Framer • Inserts content into the document • Theme Manager • Determines the theme • Applies the theme • HTTP Response • Serializes the document into a stream for transmission. HTTP Request Java Servlets DSpace themes.xml XML Manager Theme Manager XML Framers HTTP Response
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: • 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
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: • meta • options • body • Display types: • sections • tables • forms page meta body options 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. • Two language models: Simple Model 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: • 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