Project

General

Profile

Actions

Feature #2067

closed

IIIF presentation API

Added by Bernhard Koschiček-Krombholz 8 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Category:
IIIF
Target version:
Start date:
2023-09-18
Estimated time:

Description

One major issue to get IIIF working is the presentation API, that creates the manifest. The manifest holds all information of that image/file and can also contain annotations. The viewer need the manifest to present the image.

Short info: https://guides.iiif.io/guide_for_implementers/#presentation-api
Libaries: https://github.com/IIIF/awesome-iiif#presentation-api-libraries
Understanding a manifast: https://training.iiif.io/iiif-online-workshop/day-three/

Manually creating manifests: https://digital.bodleian.ox.ac.uk/manifest-editor/

Branch: feature/iiif


Related issues 1 (0 open1 closed)

Follows OpenAtlas - Feature #1909: IIIF image API serverClosedBernhard Koschiček-Krombholz2023-09-15Actions
Actions #1

Updated by Bernhard Koschiček-Krombholz 8 months ago

Actions #2

Updated by Bernhard Koschiček-Krombholz 7 months ago

  • Status changed from Acknowledged to In Progress
  • Assignee set to Bernhard Koschiček-Krombholz

Played around with cantaloup and iiif-prezi3, these work like a charm also inside OpenAtlas. Since both are no options, I have to find other solutions. For python, only iiif-prezi and iiif-prezi3 exists, which have no Debian packages. To manually handle/create manifests is possible, but since it can get very fast quite complex, this would be the last option.

I'm currently at a loss of what to do. No Debian packages available. Current Node.js and js libraries doesn't support the presentation API 2 and I don't know how suitable they are for us. So I'm open for any kind of help.

Actions #3

Updated by Bernhard Koschiček-Krombholz 7 months ago

  • Description updated (diff)
Actions #4

Updated by Bernhard Koschiček-Krombholz 7 months ago

I slept over it and tried today things out. If nobody has a better idea, I will write the initial manifest manually to get things done. But the more complex the manifests get (e.g. more pages, annotations, metadata), the more error-prone it will get.

Actions #5

Updated by Alexander Watzinger 7 months ago

A few thoughts about the libraries
  • We are not limited to Debian packages if they are "just" JavaScript libraries (or similar) and can be installed via our calmjs/npm workflow
  • Nevertheless, underlying libraries may be required. With the update to Debian bookworm around new year much more current (and possible more) libraries should be available
About the manifest
  • We can just try some things out, you don't have to find the perfect solution on the first try
  • Don't worry too much about how to manage the manifests. In a first step these could be uploaded as additional files via the user interface. We deal with how to manipulate them when we figured out the rest.

I also added our frontend team as watchers. Maybe they can help with this.

Actions #6

Updated by Alexander Watzinger 7 months ago

Actions #7

Updated by Alexander Watzinger 7 months ago

  • Start date changed from 2023-09-14 to 2023-09-18
  • Follows Feature #1909: IIIF image API server added
Actions #8

Updated by Bernhard Koschiček-Krombholz 7 months ago

Libraries
I know, that we can use JavaScript libraries. The most promising is manifesto, but since the documentation/tutorial site is down, I don't know.

Manifest
The manipulation part is not of my concerns right now. But in order to view any image in an IIIF viewer, there has to be a manifest that points to that image.

Solution
The first step is, that OpenAtlas will provide an on-the-fly manifest of that image. This, I will create by "hand" (so putting together the JSON file). Then the image can be viewed in a viewer with the appropriate licence tag, reference and description.
The second step (there will be a new issue about that) is, that the user can create with some (external) tools a manifest and can upload it to an entity (e.g. place, NOT file). In this manifest, the user can add a sequence, canvas and so on which is linked to that entity.

I think we most likely will talk about this in person.

Actions #9

Updated by Bernhard Koschiček-Krombholz 7 months ago

  • Status changed from In Progress to Resolved

I created a simple manifest within the IIIF Presentation API 2.1. To get to the manifest, install the a IIIF Image API Server, get it running and configure OpenAtlas (IIIF). Then navigate to an image file, there is a button "make iiif available", and click it. In the background the image will get converted and moved to the "dropzone". Then the button should change to "IIIF", and if you click it, you get the manifest. This manifest URL can then be added in any external viewer (e.g. Mirandor Live Demo)

So first steps are done. How we are manipulating our manifests and handling external ones, we have to discuss in person. I will proceed to the viewer for now, to have a rudimentary IIIF environment in OpenAtlas.

Actions #10

Updated by Bernhard Koschiček-Krombholz 7 months ago

  • Description updated (diff)
Actions #11

Updated by Bernhard Koschiček-Krombholz 7 months ago

  • Status changed from Resolved to In Progress

Proof of concept is finished. Needs revision and testing.

Actions #12

Updated by Bernhard Koschiček-Krombholz 7 months ago

  • Description updated (diff)
Actions #13

Updated by Bernhard Koschiček-Krombholz 7 months ago

  • Description updated (diff)
  • Status changed from In Progress to Closed
Actions #14

Updated by Alexander Watzinger 6 months ago

  • Category changed from Backend to IIIF
Actions

Also available in: Atom PDF