IIIF Presentation & Media Embed

Hello,

For “reasons” we are using an external image server: Cantaloupe. Cantaloupe provides an IIIF Image API but not a Manifest API (which makes sense as there is no relevant metadata to “manifest”).

When ingesting an image from Cantaloupe via IIIF Image, Omeka-S leaves the “original” on the Cantaloupe server but nonetheless creates derivative images on the Omeka-S server.

The IIIF Presentation module, when installed creates an IIF Manifest API. When from a browser we enter: https://myserver/iiif-presentation/3/item/37, we get the built in Omeka-S Mirador viewer and the associated item metadata … which is great.

However, when we view Item #37 in the Admin Panels or on a site, we get the Seadragon viewer using (as best I can tell) the derivatives.

We’d like to do two things:

(1) Not create image derivatives on the Omeka-S server

(2) Have the Admin Panels or at least the websites we build use the internal Mirador viewer.

I am assuming there are good reasons it works the way it does but if perhaps I am doing something wrong and/or there is a clear sense that this is not a “bad thing” would it then be something that can be developed as part of a custom theme?

Omeka’s “IIIF image” media uses OpenSeadragon to render the original IIIF image. It does not render derivatives created by Omeka.

If you want to render your images using Mirador, you’ll need to use Omeka’s “IIIF presentation” media, providing it a URL to a IIIF collection or manifest.

Thanks for the response. A couple of follow ups:

Why are derivatives created if not used?

Why does the Seadragon viewer zoom in steps versus continuously and to less level of detail than the embedded Mirador viewer when called from IIIF Presentation? Is that just a Seadragon thing?

I understand that IIIF Media ingest is related to the Seadragon viewer and that IIIF Presentation ingest is related to the embedded Mirador viewer. But I have no Manifest API until I ingest the image and IIIF Presentation creates it (which is great) but then I cannot use the Mirador viewer … is there a way to do that which I have overlooked?

The derivatives for a “IIIF image” media are used in places where it’s not possible or desirable to render the viewer, like showing thumbnails when browsing items or media, or having something to display when a user configures a block to show a static image.

IIIF image servers could theoretically return images for the same purposes but there’s issues in doing that: among them being the fact that the IIIF standard allows for image servers to not support requests to, say, return a square-cropped thumbnail.

Edit: all this being said, it is possible with Omeka S as it exists today to disable derivative/thumbnail creation completely, and a theme designed to work with that kind of setup could either not use thumbnails or construct its own IIIF image server URLs for IIIF image media if it wanted to do so.

Why are derivatives created if not used?

They are used as thumbnails in Omeka.

Why does the Seadragon viewer zoom in steps versus continuously and to less level of detail than the embedded Mirador viewer when called from IIIF Presentation? Is that just a Seadragon thing?

I’m not sure why you’re seeing that. It’s possibly an OpenSeadragon thing? You can check the image source in your browser’s dev tools while zooming in. Image tiles should be coming from your image server, not Omeka.

But I have no Manifest API until I ingest the image and IIIF Presentation creates it (which is great) but then I cannot use the Mirador viewer … is there a way to do that which I have overlooked?

Double check to see if your image server provides manifest files. I believe some do.

Otherwise, you could have an item point to its own manifest. After adding a “IIIF image” media, add a “IIIF presentation” media using the item’s own manifest URL. like the one you posted above. The item should now render the image in Mirador.

Thanks again for the responses. Documenting what I sorted out based on your suggestions in case someone else finds this useful – and there is one more question at the bottom.

Does Cantaloupe support the IIIF Manifest API? No, it does not.

Is Seadragon using tiles from Cantaloupe? Yes, it is. The “odd” behavior (of seeming to zoom in steps vs smoothly and have less zoom depth) seems a Seadragon thing.

Can I do an IIIF Presentation ingest after the Omeka-S IIIF Presentation module is active? Yes, but here are some further observations on that:

  • It appears you have to use a URL with manifest at the end (seems not to work otherwise): myserver/ iiif-presentation/3/item/37/manifest

  • If you add this before ingesting images via IIIF Image you will of course not have a thumbnail.

  • As you add new images to the item, they automatically show up in the embedded Mirador viewer (which of course makes sense)

  • All media (the IIIF Manifest and the IIIF Images) display in the Media List and Media Embed. From the Media List, depending on which the user selects, they get Mirador or Seadragon.

It is not desirable to have Media List (maybe) and Media Embed (certainly) show both the IIIF Presentation and the IIIF Media on a site. Hiding (by clicking the “eye” on the item-media edit page) hides the IIIF Images entirely (they show neither as individual images nor in the Mirador viewer). Looking around at Omeka-S Settings, Site Admin Settings, Theme Settings or Item View Page I do not see an obvious way to work around that. Am I missing anything?

2 Likes

Closing the loop on this for others with similar question:

Overriding the theme’s media-embeds.phtml is a possible solution. You can evaluate each media’s renderer value and sort them that way:

$renderer = $media->renderer();