Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
JavaScript Ruby
Pull request Compare This branch is 813 commits ahead, 3 commits behind flyingzumwalt:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config
db
doc
features
jetty @ bfc7258
jspec
lib
public
script
solr
spec
test
tmp
vendor
.gitignore
.gitmodules
CHANGELOG.txt
Capfile
Gemfile
Gemfile.lock
HYDRA_OVERVIEW.textile
LICENSE
README.textile
RELEASE_NOTES.textile
Rakefile
cruise_config.rb
hydrangea.gems

README.textile

Hydrangea

Hydrangea & the Hydra Framework

Introduction and Installation Instructions

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

Prerequisites

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:

  • git
  • rubygems
  • rake (gem install rake)
  • Rails 2.3.5 (gem install -v=2.3.5 rails)

Basic installation & Running RSpec tests

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 httparty

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 run the rails lighttpd server

script/server

If all goes well, you will be able to see an empty copy of hydrangea at http://localhost:3000

To get cucumber features to pass

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
  rake hydra:import_fixture pid=hydrangea:fixture_mods_dataset1

Then run your tests.

  rake cucumber

Acknowledgements

Design & Strategic Contributions

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 Contributions

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

Additional thanks

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.

Something went wrong with that request. Please try again.