dspace xml ui project texas a&m university digital initiatives, research and technology scott...

24
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

Upload: curtis-anthony

Post on 24-Dec-2015

213 views

Category:

Documents


0 download

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

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

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!

XML Framer (Example)

XML Framer (Example)

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

Theme Manager (themes.xml)

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

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

Questions?