A Standard UI Interface to Repositories
Building a generic UI to repositories with Ruby
Katie Legere, Kristina Long, Jeremy Frumkin, Donna Dinberg, Harish Maringanti, Gabriel Farrell, Terry Reese
Problem
- Building and/or customizing user interfaces for institutional repositories is cumbersome, and they are difficult to maintain
- Standard repository UI's aren't sufficient, or may not even exist
- No real ability to share UI's across repository systems
Approach
- A standard interface layer
- UI<-->Standard Interface API<-->Repository Connector
- Time constraint -- concentrate on one function
SEARCH!!!
(Well, browse really)
Search / Browse
- Chose one specific workflow to prototype
- Sketched out a browse use case
Users want to
- see top level description and
- links to lower levels and lower level description
- Some Assumptions
- Hierarchical organization to items (i.e. DSpace's Communities and Collections)
- Need descriptions at each level
- May (or may not) need to pass all information at once
Sample Search/Browse
User starts with a broad search : Foo
- returns the community (top level data) heading
Foo Community
Alpha collection
-->Foo subcollection
...
- selection returns the second level data
Foo Collection
meta description
sub collections
--> Foo Sub
--> ...
Define Request / Response
For standardization, need to define a standard request and a standard response.
Request:
- Use an existing standard
- SRU/W, likely. Others possible (OpenSearch, for example)
container markup
container guid="..…”
metadata [mets] /metadata
supercontainers
container guid="..…”/
/supercontainers
subcontainers
container guid="..…”/
/subcontainers
/container
Next Steps
- Build a proof of concept with Ruby on Rails
- Create a dummy repository (a couple of database tables)
- Create a connection to DSpace
- Create a connection from Fedora
- Expand and mature API