Skip to content

wang58/pumpkin

 
 

Repository files navigation

Pumpkin. A Hydra head to support digitization workflows

CircleCI Coverage Status Code Climate Apache 2.0 License

Pumpkin is a Hydra head based on Plum and CurationConcerns, with two types of works:

  • ScannedResource: a book or other resource composed of one or more scanned pages
  • MultiVolumeWork: a book set, sammelband or other resource composed of multiple ScannedResources

Features

  • Drag-and-drop tools for reordering FileSets and editing structure
  • Generating IIIF manifests for Collections and Works based on that structure
  • Building PDFs of Works based on their IIIF manifests
  • Performing OCR with Tesseract
  • Simple state-based workflow
  • Retrieving external metadata from our finding aids and catalog web services

Dependencies

  • Redis
    • Start Redis with redis-server or if you're on certain Linuxes, you can do this via sudo service redis-server start.
  • Kakadu
    • The installer doesn't work on MacOSX 10.11 (El Capitan), but the files kdu_compress and libkdu_v77R.dylib can be extracted from the download packages and used by manually installing them in /usr/local/bin and /usr/local/lib respectively.
  • Tesseract
    • Version 3.04 is required. You can install it on Mac OSX with brew install tesseract --with-all-languages For Ubuntu you'll have to compile it.
  • RabbitMQ (Optional)
    • Start with rabbitmq-server
    • Used for publishing create/update/delete events for systems such as Pomegranate

Running the Tests

Setup dependencies and run the test suite:

$ bundle install
$ rake db:migrate
$ rake ci

You may also want to run the Fedora and Solr servers in one window with:

$ rake hydra:test_server

And run the test suite in another window:

$ rake spec

Adding an Admin user

  1. Run the development servers with rake server:development
  2. Run Plum with rails s
  3. Go to http://localhost:3000/users/auth/cas and login with CAS
  4. $ rake add_admin_role

Configuring Loris for Development

  1. Install Docker Toolbox https://www.docker.com/toolbox
  • Only necessary for mac or windows machines. For unix boxes install via wget -qO- https://get.docker.com/ | sh
  1. Start a docker VM: docker-machine start default
  2. Setup your docker environment: eval "$(docker-machine env default)"
  3. Retrieve the loris image: docker pull lorisimageserver/loris
  4. Start the container:
docker run --name loris -v /path/to/plum/tmp/derivatives:/usr/local/share/images -d -p 5004:5004 lorisimageserver/loris
  1. Find the docker IP address with docker-machine ls
  2. Export config variable for IIIF url: export PLUM_IIIF_URL="http://<docker-ip>:5004"
  3. Images should be available at http://<docker-ip>:5004/ based on the FileSet id. e.g., if your docker IP address is 192.168.99.100, the full view of FileSet 70795765b would be at http://192.168.99.100:5004/70%2F79%2F%2F57%2F65%2Fb-intermediate_file.jp2/full/full/0/default.jpg

About

Pumpkin: Hydra Head to support digitization workflows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 60.2%
  • CSS 14.4%
  • Java 11.1%
  • Ruby 10.8%
  • HTML 2.8%
  • XSLT 0.5%
  • Other 0.2%