Code: Samvera Core Component Build Status Coverage Status Version

Docs: Contribution Guidelines Apache 2.0 License

Community Support: Samvera Community Slack

What is ActiveFedora?

ActiveFedora is a Ruby gem for creating and managing objects in the Fedora Repository Architecture ( ActiveFedora is loosely based on “ActiveRecord” in Rails. Version 9.0+ works with Fedora 4 and prior versions work on Fedora 3. Version 9.2+ works with Solr 4.10. Version 10.0+ works with Fedora >= 4.5.1.

Product Owner & Maintenance

ActiveFedora is a Core Component of the Samvera community. The documentation for what this means can be found here.

Product Owner



The Samvera community is here to help. Please see our support guide.

Getting Started

The Dive into Hydra gives you a brief tour through ActiveFedora’s features on the command line.


  • A Fedora Commons Repository installation (configured by URL in fedora.yml)
  • A Solr index (configured by URL in solr.yml)
  • A JDK8+ installation (if running the test suite)


The gem is hosted on rubygems.

gem install active-fedora


You can generate a model inheriting from ActiveFedora::Base.

rails generate active_fedora:model Book

Testing (this Gem)

In order to run the RSpec tests, you need to have a copy of the ActiveFedora source code, and then run bundle install in the source directory. You can download the source code by doing the following:

git clone
cd active_fedora
bundle install

Using the continuous integration server

You can test ActiveFedora using the same process as our continuous integration server. This will automatically pull down a copy of Solr and Fedora Content Repository.

The ci rake task will download solr and fedora, start them, and run the tests for you.

rake active_fedora:ci

Testing Manually

If you want to run the tests manually, follow these instructions:


To start FCRepo, open another shell and run:

fcrepo_wrapper -p 8986

Now you’re ready to run the tests. In the directory where active_fedora is installed, run:

rake spec


If you're working on PR for this project, create a feature branch off of main.

This repository follows the Samvera Community Code of Conduct and language recommendations. Please do not create a branch called master for this repository or as part of your pull request; the branch will either need to be removed or renamed before it can be considered for inclusion in the code base and history of this repository.

Release Process

The release process is documented on the wiki.


This software has been developed by and is brought to you by the Samvera community. Learn more at the Samvera website.

Samvera Logo