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.
Curation Concerns requires the following software to work:
- 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
redlockgem requires Redis >= 2.6.
- ImageMagick with JPEG-2000 support.
- FITS version 0.8.5.
Add this line to your application's Gemfile:
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
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)
fits.sh -hfrom 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"
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.
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
To turn on virus detection, install clamav on your system and add the
clamav gem to your Gemfile:
If you are modifying the curation_concerns gem and want to run the test suite, follow these steps to set up the test environment.
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
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
If you have questions or need help, please email the Hydra community tech list or stop by the Hydra community IRC channel.