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.
ActiveFedora is a Core Component of the Samvera community. The documentation for what this means can be found here.
The Samvera community is here to help. Please see our support guide.
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
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
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
If you want to run the tests manually, follow these instructions:
solr_wrapper
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.
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.