Skip to content

kb-dk/valhal

Repository files navigation

VALHAL. Digital Curation Platform

Part of Chronos - The Royal Librarys ‘Digital Library Platform’

GIT checkout of repository

git clone gitusername@github.com/Det-Kongelige-Bibliotek/valhal.git

Replace ‘gitusername’ with your own gitusername. This is necessary, if you want to push commits back to master branch.

Software requisites

The Hydra part of valhal has the same basic software requisites as the Hydra-Head component (Ruby, Rails, etc.).

In a development setting it is recommended to use a Hydra Jetty Instance which comes with both Solr and Fedora pre-installed. For the set up of Hydra Jetty, see bellow.

Redis version 2.8.x or greater (redis.io/) - default package only contains source code, so remember to run ‘make install’.

RabbitMQ. Note that RabbitMQ depends on Erlang.

ImageMagick-devel (on RHEL6 run ’yum install ImageMagick-devel’ with repo ’rhel-x86_64-server-optional-6’) (on Ubuntu run ’apt-get install libmagickwand-dev’).

File Information Tool Set (FITS), projects.iq.harvard.edu/fits/downloads. Set environment variable FITS_HOME to the fully qualified file name of the FITS script. We have tested with FITS 0.8.4, and we have compiled it in a version, which supports java 8 (github.com/Det-Kongelige-Bibliotek/fits)

RubyMine setup for developers

In RubyMine chose File->Open Directory and select the valhal directory. RubyMine should automatically integrate with the valhal Git repository.

Initialize before first run

In the config directory, create an application.local.yml file based on the application.local.template.yml file.

Run RabbitMQ on default port - 5672 (on RHEL6 there might be a Qpid daemon running on port 5672 already)

$ bundle install
$ rake db:migrate
$ rake jetty:clean

Before using the Valhal interface it can be an advantage to load the set of predefined controlled lists by:

$ rake valhal:load_controlled_lists
$ rake adl:init

Run

Start Redis (must be running in a separate terminal or as a background job):

$ cd REDIS_HOME (where ever you have installed redis)
$ ./src/redis-server

Start fedora and solr:

$ rake jetty:start

Start the workflow engine (must be running in a separate terminal or as a background job):

$ rake resque:work QUEUE='*'

Start a job for receiving responses from preservation (does not require its own terminal):

$ rake valhal:schedule_preservation_receiver

The interface can be started on localhost:3000 by:

$ rails server

The tests can be run by:

$ rake spec

Stopping Valhal

Stop the rails server by using “ctrl-c” in the terminal running “rails server”.

then stop the jetty application with:

$ rake jetty:stop

More information

  • Public website

  • Valhal is only intended for curation inside the Royal Librarys firewall. All public material should eventually be published through our dissemination platform ‘Bifrost’

  • License

See LICENSE.txt