Description
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.
Getting Help
- Community Discussions & Mailing List are located at http://groups.google.com/group/hydra-tech
- Developers hang out on IRC in #projecthydra on freenet.
Installation
The gem is hosted on rubygems.
gem install active-fedora
Getting Started
The Dive into Hydra gives you a brief tour through ActiveFedora’s features on the command line.
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. Testing requires hydra-jetty, which contains version for Fedora and Solr. Setting up and maintaining hydra-jetty for the purposes of testing this gem is all accomplished via:
git clone https://github.com/projecthydra/active_fedora.git
cd active_fedora # or whatever directory your clone is in
bundle install
Using the continuous integration server
You can test ActiveFedora using the same process as our continuous integration server. To do that, unzip a copy of hydra-jetty first. This includes copies of Fedora and Solr which are used during the testing process.
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 -d solr/config/ --collection_name hydra-test
You can switch hydra-test
to hydra-dev
if you want to create a collection for development.
To start FCRepo, open another shell and run:
fcrepo_wrapper -p 8984
Now you’re ready to run the tests. In the directory where active_fedora is installed, run:
rake spec
Predicate Mappings
ActiveFedora versions 2.2.1 and higher provides specialized control over
the predicate mappings used by SemanticNode. In order to provide your
own mappings,
you must supply a predicate_mappings.yml
in the same format as the
config/predicate_mappings.yml
file shipped with the ActiveFedora gem.
Place the file in the same directory
as your fedora.yml
file and use the current method of initializing
ActiveFedora:
ActiveFedora.init("/path/to/my/config/fedora.yml")
If no predicate_mappings.yml
file is found, ActiveFedora will use the
default mappings.
Acknowledgements
Creator: Matt Zumwalt (MediaShelf)
Developers: Justin Coyne, McClain Looney & Eddie Shin (MediaShelf), Rick Johnson (Notre Dame)