October 30, 2012 Hot Topics: DuraSpace Community Webinar Series
Hot Topics: The DuraSpace Community Webinar Series
Series Three: “Get a Head on Your Repository with
Hydra End-to-End Solutions”
Curated by Tom Cramer
October 30, 2012 Hot Topics: DuraSpace Community Webinar Series
Webinar 3: Hydra Technical Deep Dive
Presented by: Matt Zumwalt,
Technical Lead, Hydra Project, MediaShelf
Techincal Framework
Matt ZumwaltDuraSpace Webinar
30 October 2012
The Hydra has hatched & put on some muscle. What does it look like?
The Problem
long lived, complex content
the data we create extend beyond and outlast the software used to create them
“the open data movement is more important than the open source movement”
- Ian Davis Code4Lib 2009
the funny problemOur vision is to create complex, evolving, long-lived content. Meanwhile, each set of users wants to see & interact with that content in different ways relative to temporal and intellectual context.
content in open, complex, long-lived context
users in task-specific, time-specific context
many lightweight views onto complex content
The Solution: Framework & Community
software & community aimed at supporting teams who are
creating & sustaining repository solutions
Framework for Creating
hydra heads for creation & management of repository content
search interfaces
scripts / bots to operate on repository contents
Pragmatic Development
becoming better developers
becoming better teams
sharing code
supporting software
Robust Collaborationpublicly visible code
continuous integration
test coverage
release cycle & release managers
developer documentation
The Basic Structure
CRUD
CreateRetrieveUpdateDelete
CRUD
Create/SubmitModifyDeleteIndex
CRUD
SearchBrowse
View Details
CRUD in Rails
Rails MVC
RDBMS
CRUD in repositories
Manage & Arrange(CUD)
Search & View(R)
Indexing
the Hydra framework
Hydra-based Models, Views &
Controllers(CUD)
Blacklight(R)
SolrizerFedora Solr
http://github.com/projecthydra/hydrangeahttps://wiki.duraspace.org/display/hydra/
The Architecture
the Hydra framework
Hydra-based Models, Views &
Controllers(CUD)
Blacklight(R)
SolrizerFedora Solr
http://github.com/projecthydra/hydrangeahttps://wiki.duraspace.org/display/hydra/
models that work
• models with intuitive syntax• xml parsing & manipulation • Ruby wrapper for Fedora APIs
http://github.com/projecthydra/active_fedorahttp://github.com/projecthydra/omhttp://github.com/projecthydra/rubydora
MVC on Fedora
• models: active-fedora & om• views: (regular rails) • controllers: (regular rails)
rich, faceted search
• faceted search & discovery• metadata agnostic• content-aware• supports specialized users• Rails plugin• solr-driven • strong dev community
http://projectblacklight.org
putting it together
indexing with solrizer
a whole hydra head
Key Technical Parts
the technology stack presents a hierarchy of promises where
each piece relies on a set of dependencies, and provides its own
set of promises
http://is.gd/hydrastack
pragmatic modeling syntax makes it easy for you to use Fedora
without Fedora using you
abstraction layer on top of repository opens possibility for
putting Hydra on something other than Fedora
simple, configurable solrization & faceted search with gated
discovery
access controls that use Hydra rightsMetadata, not XACML
now the fun begins...
http://projecthydra.orghttp://yourmediashelf.comhttp://curationexperts.com
http://is.gd/hydrastack