iiif-annotations

A proof-of-concept, annotating a IIIF manifest with Zooniverse classification data.

Generates IIIF Annotation Collections from Zooniverse project builder data exports, and publishes them on GitHub Pages.

Run it locally with

npm install
npx eleventy --serve

Or browse work in progress at

Publishing annotations

The workflow subjects must have been created from an IIIF manifest (see https://github.com/zooniverse/Panoptes-Front-End/pull/6095.) Currently, only In The Spotlight uses that feature, so the code here is specific to its two workflows.

You will need to download classifications exports for the In The Spotlight workflows from the 'Data Exports' page in the Project Builder.

  1. Clone this repo so that you can edit it locally.
  2. Edit _data/config.js and make sure that the manifest URL points to the correct manifest.
  3. If you're only interested in publishing consensus data for your manifest, you can skip this step. Strip the dates and titles workflow classification exports of volunteers' personal information and save them to _data/dates.csv and_data/titles.csv.
  4. Run offline aggregation to generate consensus results from the downloaded classifications. Version 2 drawing tools aren't currently supported, but you can aggregate the dates workflow. Save the consensus results as _data/consensusDates.csv.
  5. Commit your changes to the _data/ directory and push to GitHub.
  6. Wait a couple of minutes and your new annotations should have been published as annotation collections at the URLs given above.

How it works

Builds are run by Eleventy and managed by GitHub Actions. Merging a change to the data files in the _data directory will build a new collection of JSON files.

_data contains the source data files:

Output templates are in the annotations directory: