About Hyrax (for Managers)

Questions and answers

How does Hyrax relate to Samvera?
Samvera provides a framework for building web applications on top of a repository back-end and a search index. Hyrax uses the full power of Samvera and extends it to provide common repository features such as file and folder upload, metadata assignment, flexible user and group access controls, derivative generation, faceted and full-text search, delivery/download, and a host of social experience-related features. It offers self-deposit, proxy deposit, and configurable mediated deposit workflows. Hyrax delivers its rich and growing set of features via a modern, responsive user interface, which its users have come to expect from web applications.
How does Hyrax relate to Fedora?
All versions of Hyrax require the Fedora repository software. Hyrax requires at least Fedora 4.0. Hyrax provides a user-friendly web application for depositing and retrieving items from a Fedora repository. Hyrax is built on Samvera which is a multi-tenant architecture, therefore more than one Hyrax-based or other Samvera-based application can use the same Fedora instance.
How does Hyrax relate to Avalon Media System / Sufia / CurationConcerns / Hyku?
  • Avalon: The Avalon Media System is related to Hyrax only in that they both build atop Samvera and are the most widely used solution bundles.
  • Sufia: The Sufia gem is one of Hyrax's two progenitors, and much of Hyrax's user interface comes straight out of Sufia..
  • CurationConcerns: The CurationConcerns gem is one of Hyrax's two progenitors, bringing configurable workflows and the ability to create, read, update, and delete flexible PCDM-based repository object types which can be created on demand.
  • Hyku: Hyku is being built atop Hyrax and is in active development, taking what Hyrax provides and adding in multi-tenancy and UI configurability needed to make it a turnkey product.
Should I use Hyrax or Hyku for my application?
Whether you choose to use Hyku or your own application based on Hyrax depends on a number of factors including your requirements and availability of resources to develop and maintain the application over time. The Hydra-in-a-Box team has written up a guide to help explain the relationship and differences between Hyku and Hyrax on the Hyku documentation site. This guide should help inform your decision. If you still have questions, you should engage the Samvera community.
Does Hyrax use the Portland Common Data Model (PCDM)?
All repository objects created in Hyrax are modeled using the Portland Common Data Model.
What do I do when I want to customize (or extend) Hyrax?
First, check the Hyrax GitHub page to see if the aspect of the system you would like to customize has documentation, such as this section on customizing metadata (which is perhaps the most common customization). A good place to go next is the archives is the Samvera-Tech community discussion list. This will give you a sense of whether anyone else has already done work customizing the same thing, which could suggest one or more persons to consult with or existing documentation. Please do feel free to get in touch with the Samvera-Tech list, or Hyrax's product owner (Mike Giarlo), about your customization and how that might fit into the Hyrax development roadmap as collaborative work.
I don't have developers, but are there other ways I can contribute to Hyrax development?
Absolutely. One way is by contributing use cases and user stories to inform future Hyrax development. If you're likely to be managing a Hyrax-based repository at some point, then there are working groups and interest groups in the Samvera community that you may wish to join, in order to get a sense of the activities taking place in the community; to see what fellow Samvera institutions are involved and what they're focusing on; and to learn who your service manager peers are as well.
Who provides technical support for Hyrax?
Because Hyrax and Samvera are open and community supported, there is no centralized or official technical support entity. One of the best ways to get technical support for Hyrax is to join the Samvera-Tech list and post questions to the forum. The Samvera community also holds a weekly technical call where all are free to pose questions. Last, there are currently a handful of independent consultancies that specialize in assisting users of Samvera products. At this time, the best way to find these consultancies is to contact members of the Samvera community through one of the Samvera message forums.
What kinds of metadata are supported?
By default, Hyrax provides relatively simple, Dublin Core Terms-based RDF metadata. The Hyrax GitHub wiki provides some technical documentation for customization per individual needs. Please note that customization of metadata, while common, will require in-house maintenance over time as new versions of Hyrax are released.
How often are there new releases?
Hyrax is a relatively new product, but based on what we learned from our experience with Sufia and CurationConcerns, we anticipate new Hyrax releases every 6-8 weeks, with no more than one major version per year.
How can I keep my Hyrax application updated? How often should I plan to upgrade it?
We have found that devoting one day per month (again, on average) to updating Hyrax and other components, and then testing that work, to be an effective and sustainable way to stay up to date.
What components/gems are there in a complete "stack?"
Samvera itself requires a few very important pieces of software: Apache Solr, Blacklight, the Fedora repository, and a relational database (most often MySQL or PostgreSQL). In addition, Hyrax requires the Redis datastore, ImageMagick, and FITS software. In terms of Ruby gems that are dependencies of Hyrax, there are many, including hydra-head, active-fedora, hydra-derivatives, hydra-editor, google-api-client, and browse-everything.
How do I stay updated on the latest Hyrax developments?
There are many ways to track Hyrax development depending on what you're interested in. To track development in-depth, you can follow along on GitHub. All Hyrax development, technical documentation, and issue tracking is done on GitHub. To track it at a higher level (new releases, opportunities for collaboration, usage surveys), subscribe to the samvera-tech and samvera-community lists and keep an eye out for updates specifically about Hyrax. Occasionally Hyrax-related development, as one of the most active and widely contributed-to Samvera projects, is discussed on the weekly Samvera Tech call.
What preservation activities does Hyrax do automatically?
Every file that is uploaded via Hyrax is "characterized" by the File Information Tool Set (FITS) tool. FITS extracts salient technical characteristics of each file, and that information is stored in Fedora as technical metadata and is searchable. Gathering this metadata can help drive future digital preservation strategies such as emulation, normalization, and format migration. Hyrax uses Fedora's fixity service to record and periodically evaluate file integrity for every file uploaded via Hyrax. Hyrax works with Fedora to create and maintain a log of significant fixity events over time, which can aid in auditing changes to an object.
Does Hyrax provide use and user stats?
Yes, in the administrative dashboard. For now it provides some high-level stats around use and users, such as the following: Number of objects deposited; Number of users; Number of downloads for individual files; Number of pageviews for individual files; Visualizations for downloads and page views for each file - these visualizations are viewable (via "Analytics" link) on open access files to anyone. Hyrax also makes certain use/user stats available only to admin users: Determining various statistics (number of users, number of files) within date ranges (i.e., number of new users between September 2014 and September 2015); Number of total works, collections, and files in system (with breakdown by access controls); Number of total users, who they are, number of files they've deposited; Top five users (users with most files deposited); and top file formats.
How many people are developing Hyrax? And is the Hyrax development community "right" for my developers?
There are approximately 30 institutions who have contributed to the development of Hyrax; some of these continue to develop Hyrax. On top of these, the larger Samvera development community contributes functionality to the core Samvera framework which Hyrax extends. Hyrax has so far had code contributions from over 80 different developers (as of March of 2017). As to whether the community is "right" from a skill-set perspective, it will be helpful for your developers/administrators to have (or be willing to gain) experience with Ruby on Rails, Solr, Blacklight, and Fedora. The developer community for Samvera welcomes and works together to support new users and there are active communication channels for developers seeking assistance and conversation around Samvera and Hyrax issues. The Samvera community is committed to providing a welcoming and inclusive experience for all community members.
What user roles (depositor, curator, administrator) exist off the shelf?
  • Unauthenticated user (public)
  • Authenticated user/Depositor
  • Reviewer
  • Collection manager
  • Collection depositor
  • Collection viewer
  • Administrator (for access to certain use/user stats and for editor access to certain pages where content is dynamic)
  • A number of Hyrax adopters have used gems such as the hydra-role-management gem or rolify for adding extra roles to Hyrax-based applications
When can I expect X to be implemented?
That depends on a number of factors, including what functionality you are interested in, who may already be working on it (or have done related work in codebases other than Hyrax), and who is interested in doing this work when. The Samvera community works together to advance collective interests, and this collaborative model has been leveraged considerably in Hyrax. The open community model speaks to the need for folks desiring new functionality to communicate their needs with the Samvera community, to align timelines and user stories, and, where possible, to allot time and resources to collaborate. Get in touch early and often, either with the samvera-tech or samvera-community lists or with Hyrax's product owner (Mike Giarlo). We have made a conscious decision not to maintain and commit to a long-term roadmap for Hyrax (or even for Samvera), as this provides agility and the ability to take advantage of opportunities to collaborate that sometimes can not be known in advance.
What other products/services does Hyrax integrate with out-of-the-box?
  • Uses the browse_everything gem to allow users to upload files via cloud providers such as Dropbox, Box, Google Drive, and SkyDrive
  • Exports metadata to Zotero, Mendeley, and EndNote
  • Integrates with Zotero's new "My Publications" feature for automated upload and management of Zotero-managed content into Hyrax
  • Leverages Google Analytics for usage statistics
  • Hyrax does not yet provide ORCID integration, but there is an orcid gem that is intended to be implemented atop Hyrax in your application and there are Hyrax installations that have already done this and may be consulted.
  • Hyrax does not yet provide DOI integration, but there is a hydra-remote-identifier gem that is intended to be implemented atop Hyrax in your application and there are Hyrax installations that have already done this and may be consulted.
  • Hyrax does not provide institutional Single Sign-On integration since there are many possible SSO products in use. There are a number of Hyrax installations which do integrate with SSO and it's often possible to adopt other institutions' recipes to do this customization.
Does it work with DPN / APTrust / DuraCloud / DPLA / MetaArchive, etc.?
There are many such services in this space, and Hyrax does not provide integration with any out of the box. There are some Hyrax installations which do integrate with some of the above services, which you may consult for hints and tips. That said, some of these services require hand-off of BagIt bags, and Fedora provides the ability to export bags for each object. Hyrax also supports the ResourceSync specification, providing resource lists and change lists, which DPLA has expressed interest in supporting as a mechanism for harvesting.
We're ready to test/move forward - what do we need to do to get started?
Great to hear it! There are numerous ways to plug in. First, be sure to join the samvera-tech and samvera-community lists to stay aware of the latest developments and to share your progress. Attend the annual Samvera Connect event, which is the one event that all Samvera community members endeavor to attend to connect with fellow Samvera adopters. If your developers and devops have not done any Samvera-specific training, have them go through the Dive into Samvera tutorial and keep an eye out for upcoming Samveracamp training sessions. SamveraCamp is a cornerstone of the Samvera ramping-up process. Much of the work done in Samvera, and now in Hyrax, is done in Interest Groups and Working Groups, so review the list of IGs/WGs and consider joining an existing group and starting your own. And last but not least do feel free to drop a line to Hyrax's product owner (Mike Giarlo) who can help orient you and get you whatever information or context would be helpful in planning and decision making.
How does Hyrax handle many/large files?
Hyrax comes preconfigured to limit the number of files that can be uploaded at one time to 100, and each file is allowed to be up to 500MB. There is an open issue to revisit these numbers and allow them to be more easily configurable — if this is a need of yours, we encourage you to get in touch especially if you have development cycles to work on this. Beyond these limits, we suggest using Hyrax's integration with the browse-everything gem to upload large files asynchronously via a third-party storage provider such as Dropbox or Google Drive. Another option that browse-everything provides, though this requires some small amount of work to set up, is to allow server-based uploads, where you open up space on your server for users to drop files into, and configure Hyrax to point at your server space.
How is it decided what makes it into a Hyrax release? How is the roadmap planned?
Following a discussion of these questions at the March 2017 Samvera Partner meeting, a subset of Partners have begun to define a potential new model governing how community roadmap planning is done and how Partners work together with the larger Samvera community to ensure broad, distributed investment in the development, maintenance, testing, and documentation of our shared technologies. This work is ongoing, and this answer will be updated at a later date.

Care to contribute to the documentation?

Get involved!