CurationConcerns
A Hydra-based Rails Engine that extends an application, adding the ability to Create, Read, Update and Destroy (CRUD) objects (based on Hydra::Works) and providing a generator for defining object types with custom workflows, views, access controls, etc.
Prerequisites
Curation Concerns requires the following software to work:
- Solr
- Fedora Commons digital repository
- A SQL RDBMS (MySQL, PostgreSQL), though note that SQLite will be used by default if you're looking to get up and running quickly.
- Redis, a key-value store. The
redlock
gem requires Redis >= 2.6. - ImageMagick with JPEG-2000 support.
- LibreOffice
- FITS version 0.8.5.
- FFMPEG
Installation
Add this line to your application's Gemfile:
gem 'curation_concerns'
Then execute:
bundle install
Then run the install generator. You will be prompted if you want to overwrite the default app/controllers/catalog_controller.rb
, to which you should type Y
(yes). If you don't want to be prompted on overwrite, you may run the generator with the -f
(force) option.
rails generate curation_concerns:install
rake db:migrate
FITS
To install FITS 0.8.5:
- Download fits-0.8.5.zip or possibly newer from the project page. Unpack it somewhere on your machine. Alternatively, use homebrew on OSX:
brew install fits
(you may also have to create a symlink from fits.sh -> fits in the next step). - Mark fits.sh as executable (
chmod a+x fits.sh
) - Run
fits.sh -h
from the command line and see a help message to ensure FITS is properly installed - Give your app access to FITS by:
- Adding the full fits.sh path to your PATH (e.g., in your .bash_profile), OR
- Changing config/initializers/sufia.rb to point to your FITS location:
config.fits_path = "/<your full path>/fits.sh"
FFMPEG
Curation Concerns includes support for transcoding audio and video files with ffmpeg > 1.0 installed.
On OSX, you can use homebrew:
brew install ffmpeg --with-fdk-aac --with-libvpx --with-libvorbis
Otherwise, to compile ffmpeg yourself, see the CompilationGuide.
Usage
Generator
To generate a new object type, use the curation_concerns:work
Rails generator. Follow the usage instructions provided on the command line when you run:
rails generate curation_concerns:work
Virus Detection
To turn on virus detection, install clamav on your system and add the clamav
gem to your Gemfile:
gem 'clamav'
Testing
If you are modifying the curation_concerns gem and want to run the test suite, follow these steps to set up the test environment.
rake ci
Or you can do all the steps manually:
solr_wrapper -p 8985 -d solr/config/ --collection_name hydra-test
# in another window
fcrepo_wrapper -p 8986 --no-jms
# in another window
rake engine_cart:generate
rake curation_concerns:spec
Workflow
Load the workflows, workflow states, transitions and user roles:
$ rails curation_concerns:workflow:load
Now that the Roles are loaded, grant the appropriate roles to the users by visiting the "Workflow Roles" section of the admin dashboard
Further documentation for defining and customizing workflows.
Something about notification should go here.
Adding Sample Data to Test Application
Sometimes when working with the test application, it can be helpful to have a repository populated with some number of objects. Rather than having to create them all through the user interface, which can be timely, the test application bundled with CurationConcerns provides a rake task that automatically creates 24 objects in the test application repository with different titles, levels of visibility, embargoes, and leases:
cd .internal_test_app
rake db:seed
Configuring the Administration Panel
To configure the Administration Pane see Admin Menu Guide
Help
If you have questions or need help, please email the Hydra community tech list or stop by the Hydra community IRC channel.