This repository contains a number of Sidekiq background jobs. The jobs are enqueued by workflow-server-rails.
The following workflows are supported by this repository:
- Assembly - https://github.com/sul-dlss/workflow-server-rails/blob/main/config/workflows/assemblyWF.xml
- Transforms the stubContentMetadata.xml provided by Goobi into contentMetadata.xml
- Creates derivative JP2 files for access and preservation if the object type is image or page.
- Computes checksums for files in contentMetadata.xml
- Adds exif, mimetype, file size data to contentMetadata
- Kicks off accessioning
- Accession - https://github.com/sul-dlss/workflow-server-rails/blob/main/config/workflows/accessionWF.xml
- Moves the metadata from the workspace into the SDR.
- Moves objects into preservation.
- Dissemination - https://github.com/sul-dlss/workflow-server-rails/blob/main/config/workflows/disseminationWF.xml
- cleans up the workspace after accessioning
- Release - https://github.com/sul-dlss/workflow-server-rails/blob/main/config/workflows/releaseWF.xml
- Moves files to PURL and updates the marc record in Folio (adding fields that are needed for SearchWorks indexing and display)
- Goobi - https://github.com/sul-dlss/workflow-server-rails/blob/main/config/workflows/goobiWF.xml
- informs goobi there are new items
It's possible to invoke the jobs manually or have an interactive shell:
From the root of the robot project:
Interactive console:
$ ROBOT_ENVIRONMENT=production ./bin/console
Running a single robot step manually (without checking current workflow status):
$ ./bin/run_robot --druid druid:12345 --environment production Accession::Publish
Note that libvips
is a pre-requisite for running the assemblyWF step that creates derivative JP2s.
A simple "rake" should do everything you need
See Capfile
for deployment instructions