Skip to content

Latest commit

 

History

History
131 lines (88 loc) · 5.04 KB

README.md

File metadata and controls

131 lines (88 loc) · 5.04 KB

CurationConcerns

Code: Version Build Status Coverage Status Code Climate

Docs: Apache 2.0 License Contribution Guidelines API Docs

Join in: Slack Status Ready

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:

  1. Solr
  2. Fedora Commons digital repository
  3. A SQL RDBMS (MySQL, PostgreSQL), though note that SQLite will be used by default if you're looking to get up and running quickly.
  4. Redis, a key-value store. The redlock gem requires Redis >= 2.6.
  5. ImageMagick with JPEG-2000 support.
  6. LibreOffice
  7. FITS version 0.8.5.
  8. 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:

$ rails curation_concers:workflow:load

Give all the roles to all the users. This works for testing, but you probably don't want this in production:

CurationConcerns::Workflow::PermissionGenerator.call(roles: Sipity::Role.all,
                                                     workflow: Sipity::Workflow.last,
                                                     agents: User.all)

Something about notification should go here.

Help

If you have questions or need help, please email the Hydra community tech list or stop by the Hydra community IRC channel.