Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

URLs for supporting IIIF v2 and v3 #74

Closed
glenrobson opened this issue Mar 10, 2023 · 3 comments
Closed

URLs for supporting IIIF v2 and v3 #74

glenrobson opened this issue Mar 10, 2023 · 3 comments

Comments

@glenrobson
Copy link
Collaborator

glenrobson commented Mar 10, 2023

Currently you access a v2 manifest like this:

https://iiif.archivelab.org/iiif/<identifier>/manifest.json

(e.g. https://iiif.archivelab.org/iiif/img-8664_202009/manifest.json)

and for a image:

https://iiif.archivelab.org/iiif/<identifier>/info.json

e.g. https://iiif.archivelab.org/iiif/img-8664_202009/info.json

(note the identifier can contain a $ if the item is multi-page e.g https://iiif.archivelab.org/iiif/wg35-2-388$0/info.json) . After the $ it can either be an index of the uploaded filename.

We need to keep the existing URLs working and pointing to v2 manifests and images.

There is a longer discussion on Slack about how to manage v2 and v3 manifests and images: https://internetarchive.slack.com/archives/C04Q0DKBRU6/p1676999483620919

@glenrobson
Copy link
Collaborator Author

glenrobson commented Mar 10, 2023

Proposal

As we would be moving to a new URL (i.e. away from archivelab) we have some flexibility. I propose the following URL for a v3 manifest:

https://iiif.archive.org/3/<identifier>/manifest.json

and for v2 manifest:

https://iiif.archive.org/2/<identifier>/manifest.json

We have a third URL which would go into the Manifest id in both the v2 and v3 manifests:

https://iiif.archive.org/<identifier>/manifest.json

This would by default forward you on to the v3 manifest unless you specify the following header:

Accept: application/ld+json;profile=http://iiif.io/api/presentation/2/context.json

which would then forward you on to the v2 manifest.

Requests to https://iiif.archivelab.org/iiif/<identifier>/manifest.json would forward on to the v2 manifest.

Canvas identifiers should be the same in both v2 and v3 manifests.

This should allow existing clients to continue working provide access to v3 by default after this work and still allow v2 clients to find v2 manifest. By having the different URLs available for v2 and v3 it allows users to browse the two versions without a special client which can send headers.

The accept forwarding can be done with the Nginx proxy setup in the Dockerfile.

The Internet Archive would need to setup the redirect from https://iiif.archivelab.org/iiif/<identifier>/manifest.json to https://iiif.archive.org/<identifier>/manifest.json and a similar redirect for the Image API.

@digitaldogsbody
Copy link
Collaborator

Maybe the existing archivelabs manifest URL should explicitly forward to the /2/ address, as that way the client will definitely receive the same version that they receive currently? Forwarding it to the general address that defaults to v3 could break an existing consumer who does not send the Accept header.

@glenrobson
Copy link
Collaborator Author

glenrobson commented Mar 10, 2023

Yes I agree we should forward

"Requests to https://iiif.archivelab.org/iiif/<identifier>/manifest.json would forward on to the v2 manifest."

So https://iiif.archivelab.org/iiif/<identifier>/manifest.json would redirect to https://iiif.archive.org/2/<identifier>/manifest.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants