A Rails interface to the Fedora repository, akin to ActiveModel
Switch branches/tags
Clone or download
no-reply Merge pull request #1368 from samvera/point_fields
Use PointField Solr types rather than deprecated Trie* types
Latest commit 4a6fd5f Nov 13, 2018
Failed to load latest commit information.
config Remove deprecations in preparation for AF 10.0 May 10, 2016
lib Use PointField Solr types rather than deprecated Trie* types Nov 1, 2018
script Fix script/console [ci skip] Feb 28, 2014
spec Fix `#blank?` and `#present?` Sep 24, 2018
.gitignore Update rspec configuration with new default settings Aug 26, 2016
.gitmodules Removed jetty as a submodule Feb 27, 2013
.mailmap Adding mailmap for improving changelog generation Jul 11, 2013
.rspec Put rspec options in a .rspec file for rspec 3 Jun 10, 2014
.rubocop.yml Update rubocop to 0.56.0 May 16, 2018
.rubocop_todo.yml Update rubocop to 0.56.0 May 16, 2018
.solr_wrapper solr_wrapper now uses the generated solr configs for testing AF inste… Aug 11, 2016
.travis.yml Clarify support in build matrix Sep 27, 2018
CODE_OF_CONDUCT.md add CODE_OF_CONDUCT.md in line with Samvera Maintenance Templates Sep 19, 2018
CONTRIBUTING.md Updating the CONTRIBUTING guidelines after the samvera-labs/maintenan… Aug 15, 2018
CONTRIBUTORS.md Overhauling implementatation of ActiveFedora::Rdf Mar 17, 2014
Gemfile No need to set RSolr 2.0 explicitly Jun 13, 2017
History.txt Removing remaining references to the projecthydra GitHub organization… Aug 13, 2018
LICENSE bring license in line with Samvera Maintenance Templates Sep 19, 2018
README.md bring README.md in line with Samvera Maintenance Templates Sep 19, 2018
Rakefile Test on Solr 5 Feb 4, 2016
SUPPORT.md add SUPPORT.md in line with Samvera Maintenance Templates Sep 19, 2018
active-fedora.gemspec Limit support to Rails 5.2; add support for `ldp` 1.0 Sep 26, 2018



Code: Version Build Status Coverage Status

Docs: Contribution Guidelines Apache 2.0 License

Jump in: Slack Status

What is ActiveFedora?

ActiveFedora is a Ruby gem for creating and managing objects in the Fedora Repository Architecture (http://fedora-commons.org). 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 https://github.com/samvera/active_fedora.git
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


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

Samvera Logo