Hydrangea is the reference implementation of the Hydra framework, which builds on Blacklight, ActiveFedora and Ruby on Rails
For a more thorough overview of the Hydra framework, see HYDRA_OVERVIEW.textile
Hydrangea requires Ruby version 1.8.7. It will not run on Ruby 1.8.6. If you need to upgrade Ruby, consider using RVM to do so, especially in your development environment.
Other Requirements:
This is based on Matt Zumwalt’s Hydra Stack: Getting Started notes from LibDevConX in March 2010.
Clone the git repository from github and pull the copy of jetty
git clone git://github.com/projecthydra/hydrangea.git cd hydrangea git submodule init git submodule update
Note: It’s OK if ‘git submodule init’ returns ‘No submodule mapping found in .gitmodules for path ’vendor/plugins/blacklight/data’
This will pull all of the code. The ‘git submodule update’ command is pulling a copy of hydra-jetty into the jetty directory within hydrangea.
You are now in your working copy of hydrangea. Use rake to install the gem dependencies (this might not work perfectly – we’re still preparing this code for distribution).
rake gems:install
Review the output from running gems:install and make sure that there were no errors. Depending on what operating system you’re on, you might have to install library dependencies in order for all of the gems to install successfully. In particular, nokogiri and sqlite3 require native C-libraries such as libxml2, libxslt and libsqlite3.
Now install the development dependencies (not required for runtime, but required to run tests)
gem install rcov rspec rspec-rails cucumber cucumber-rails webrat database_cleaner ruby-debug mocha
Run your database migrations (only need to do this once after cloning the git repository).
rake db:migrate
Now run the bundled copy of Jetty, which has Fedora and Solr installed & configured to work with Hydra.
First, copy hydrangea’s solr configs into the hydra-jetty solr cores. (You only need to do this when you first clone the jetty submodule and when Hydrangea’s solr configurations change)
cp solr/conf/* jetty/solr/development-core/conf/
cp solr/conf/* jetty/solr/test-core/conf/
Then start jetty:
cd jetty java -jar start.jar
… leave that running and open a new terminal window. cd to wherever you checked out hydrangea
Run the Rspec tests to make sure everything is working properly.
{cd to wherever you cloned hydrangea, then…}
rake hydra:import_fixture pid=hydrangea:fixture_mods_article1
rake hydra:import_fixture pid=hydrangea:fixture_mods_article3
rake hydra:import_fixture pid=hydrangea:fixture_file_asset1
rake spec
Now start rails using the WEBrick web server
script/server
If all goes well, you will be able to see an empty copy of hydrangea at http://localhost:3000
You must ingest some more fixtures:
rake hydra:import_fixture pid=hydrangea:fixture_mods_article2 rake hydra:import_fixture pid=hydrangea:fixture_uploaded_svg1 rake hydra:import_fixture pid=hydrangea:fixture_archivist_only_mods_article
Then run your tests.
rake cucumber
The Hydra Framework would not exist without the extensive design effort undertaken by representatives of repository initiatives from Stanford University, University of Virginia and University of Hull. Contributors to that effort include Tom Cramer, Lynn McRae, Martha Sites, Richard Green, and Chris Awre.
Thorny Staples from Fedora Commons & DuraSpace deserves special thanks for putting all of these people in the same room together.
Technical Lead: Matt Zumwalt (MediaShelf)
User Interface & User Experience Designer: Jennifer Vine
Developers:
Eddie Shin, Jessie Keck, Christopher Jesuderai, McClain Looney, Luke Francl, Dan Weinand, Ken Earley, Paul Wenzel
Testers:
Charles Kerns, Bess Sadler, Richard Green, Tom Lauderman, Mark Matienzo
Project Blacklight and the Blacklight contributors
Willy Mene, who created one of the “Hydra head” prototypes on which Hydrangea is based.
Chris Fitzpatrick & Douglas Kim, who created the first version of Solrizer and then thoroughly exercised it.
Naomi Dushay, whose knowledge of solr is impeccable.
Stu Snydman, project manager for the SALT Hydra prototype.