Manakin-UI
Manakin
(Scott Philips)
What is it?
- interface framework, built on Apache Cocoon
- modular, extensible, tiered
- new UI for DSpace
What can it do?
- modify look and feel
- brand content (entire repository, community/collection level, or per item)
- visualize metadata (keeps metadata in its native format, and creates UI for it)
- provide modularity (extend and distribute extensions for UI)
Look and feel
- integrate look with other sites and services at same institution
- branding
Visualization
- interpret, link, explain metadata
- *extremely* cool demo of geospatial metadata mashed up with Google Maps
Modularity
- extend, adapt, customize
- example: filtered ETD search (by committee, degree level, year)
Manakin vs JSP UI
- JSP is difficult to extend, expensive to maintain
- JSP imposes one monolithic interface for all collections regardless of content
- Manakin’s modular design makes extension easier
- Multiple interfaces can adapt to collection needs
- Manakin handles metadata in native formats
Manakin 1 released on Monday
- browsing, searching, authentication, submission workflow, administration
- (woo-hoo! I so want this!)
How to start?
- install DSpace
- install Manakin on DSpace
- design new interface
Tiers
- style tier (XHTML + CSS; tutorial document available)
- theme tier (XSL + XHTML + CSS; metadata visualization)
- aspect tier (Cocoon + Java + DSpace API; new features such as filter search, new workflows, shopping cart)
Resources
- Aspect Developers Guide
- Theme Writing Tutorial
- Schema Reference Manual
- mailing lists (dspace-devel, dspace-manakin)
Architecture
- Apache Cocoon: pipeline web-dev framework, SAX-based
- modular components: generators, transformers, serializers
sitemap (XML config file, “simple” he says, ha ha) defines the pipeline; documents start with generator, go through one or more transformers, then get serialized
Parts of Manakin
- aspects (groups of related transformers that implement specific features such as browsing, logging in, etc.)
- themes
- DRI schema (passed between aspects, input to theme)
- entire aspect chain runs first, then a theme is selected
DRI schema “Digital Repository Interface:” abstract representation of a repository page
- TEI doc (light) for structure
- metadata elements: METS, MODS, QDC, DIM; extensible to other metadata formats
<document> <body> ... structural info for displaying page... </body> <options> ... navigational paths through repository... </options> <metadata> ... METS, MODS, DIM, etc. ... ... everything that needs to be viewed on page... </metadata> </document>
Aspects
- Aspects both input and output DRI; they exist to modify DRI documents to produce a page.
- Core Aspects: artifact browser, e-person, submission system, administration
- possibilities: shopping cart, specialized searching, customized workflow
- Aspects are self-contained packages: contain all Java source, Javascript flow scripts, XML configuration necessary to make it work. Very easy to pass around! (woo-hoo again!)
Themes
- can apply to a single page, all pages in a collection, all pages in a community, or the whole repository
- also self-contained (like Aspects); contain XSL, CSS, images, static resources
Demo
- extremely ugly; why is it that default DSpace *anything* shows all the visual-design sense of Jakob Nielsen and usability of Microsoft? Can’t wait to get my hands on this and do something that looks and feels good!
- Looking at the DRI for an item — very namespaced, but if you grok METS it’s okay