Technology stack

A Hydra repository solution may be though of in terms of functional blocks which, between them, provide the full range of CRUD services (create, read, update, delete).  In order to provide search and discovery services, some form of indexing is required.

CRUD in Repositories

Underlying a Hydra head there must be a repository and, thus far, Hydra uses the Fedora Commons repository software to provide this.  (Fedora is not an absolute given; there are already institutions considering other possibilities.)

The content of the repository must be indexed if the overall system is to provide effective search and discovery.  Hydra uses Apache Solr for this purpose.

Hydra Architecture

In order to perform the indexing, Hydra has developed its Solrizer gem.  The Solr index thus created is used to drive the Blacklight faceted search and discovery interface.

The CUD elements are provided by further Hydra gems that allow interaction with Fedora and Solrizer.  These gems are under constant development with regular new releases to provide additional features and functionality as well as bug-fixes.  The full range of gems includes:

    • Active Fedora
    • HydraHead
    • Hydra-jetty
    • Jettywrapper
    • OM (Opinionated metadata)
    • Rubydora
    • Solrizer
    • Solrizer-Fedora

The purpose of each of these components is explained in our Hierarchy of Promises on the wiki.