Samvera gems

 

*** Under construction ***

 

This page describes the purpose of the various Samvera gems.  It is intended to be a lightweight overview for those wanting to orient themselves in the Samvera landscape!

 

Core gems

Active Fedora

Rubydora and ActiveFedora between them provide a set of Ruby gems for creating and managing objects in the Fedora Repository Architecture (http://fedora-commons.org). ActiveFedora is loosely based on “ActiveRecord” in Rails. The 3.x series of ActiveFedora depends on Rails 3, specifically activemodel and activesupport.

Hydra Head

Hydra-Head is a Ruby-on-Rails gem containing the core code for a web application using the full stack of hydra building blocks.

Jetty Wrapper

Convenience tasks and classes for automated testing of hydra heads.

Hydra-jetty

Hydra Jetty Instance -- has both Solr and Fedora pre-installed.

OM (opinionated metadata)

Opinionated Metadata - allows you to define a “terminology” to ease translation between XML and ruby objects – you can query the xml for Nodes or node values without ever writing a line of XPath.

 

OM "terms" are ruby symbols you define (in the terminology) that map specific XML content into ruby object attributes.

 

Rubydora

Fedora Commons REST API Ruby library.  Rubydora is a low-level Fedora Commons REST API consumer, providing direct access to REST API methods, as well as a primitive Ruby abstraction.

Solrizer

A lightweight, configurable tool for indexing metadata into solr. Can be triggered from within your application, from the command line, or as a JMS listener.

Solrizer provides the baseline and structures for the process of solrizing. In order to actually read objects from a data source and write solr documents into a solr instance, you need to use an implementation specific gem, such as "solrizer-fedora":https://github.com/projecthydra/solrizer-fedora, which provides the mechanics for reading from a fedora repository and writing to a solr instance.

Solrizer-fedora

An extension to Solrizer that provides utilities for loading objects from Fedora Repositories and creating solr documents from them.

Optional supported gems

Hydra

This gem provides a distribution-like snapshot of all dependencies within the core Hydra technology stack.

Hydra-role-management

User roles for hydra users.  An engine gem to provide a RDBMS backed list of roles and their associated user. This replaces the hydra default role mapper.

Sufia

Sufia is a Rails engine for creating a self-deposit institutional repository. A web application for ingest, curation, search, and display of digital assets. Powered by Hydra technologies (Rails, Hydra-head, Blacklight, Solr, Fedora Commons, etc.)

Gems under active development

Curate

Curate is a Rails engine leveraging ProjectHydra and ProjectBlacklight components to deliver a foundation for an Institutional Repository.

Hydra::Works

Hydra::Works is a flexible, extensible domain model that is intended to underlie a wide array of repository and DAMS applications.  The primary objective of this model is to establish a framework that developers of tools (e.g., Sufia, Curate, Worthwhile, Avalon) can use for working with models in a general way, allowing adopters to easily use custom models with any tool.  Given this interoperability goal, the initial work has been focused on structural metadata and access control, since these are the key actionable metadata.

To encourage adoption, this model must support the most complex use cases, which include rich hierarchies of inter-related collections and works, but also elegantly support the simplest use cases, such as a single user-contributed file with a few fields of metadata.  It must provide a compact interface that tool developers can easily implement, but also be extensible enough for adopters to customize to their local needs.

As the Hydra community migrates to Fedora 4, much of our metadata is migrating to RDF.  Hydra::Works encourages linked data best practices, such as using URIs to identify all resources, using widely-used vocabularies where possible, and subclassing existing classes and properties when creating new terms. 

Hydra::Works emerged from a discussion at Hydra Connect 2 in a session about the various community solutions to institutional repository-like applications – such as Sufia, Worthwhile, Curate, and Hydrus, and including some non-IR-like apps like Avalon – during which we learned that there was broad interest in an IR-like solution bundle that combined the best features available in these applications (see notes from that session).  More detail can be found at  Hydra::Works Shared Modeling

Worthwhile

A very simple extensible IR platform for Hydra being developed by Digital Curation Experts.  

Worthwhile is a stripped down fork of the Curate gem, with updated versions of Blacklight, Bootstrap and Hydra.  Additionally Worthwhile has some expanded capabilities around leases and embargoes.  Worthwhile is the foundation for Case Western Reserve University's new Hydra project.