ActiveFedora
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
Help
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.
Prerequisites
- 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)
Installation
The gem is hosted on rubygems.
gem install active-fedora
Generators
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:
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
Contributing
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.
Acknowledgments
This software has been developed by and is brought to you by the Samvera community. Learn more at the Samvera website.