-
Notifications
You must be signed in to change notification settings - Fork 5
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
Versioned Manifests have Invalid id values not matching published URIs, ex: https://iiif.archive.org/iiif/3/...
#98
Comments
I think this is a valid use of the ID and is intended to help with supporting multiple versions of IIIF. The first link which is in the manifest, is the versionless identifier for the manifest and unless you specify a accepts header then you are forwarded to the default v3 version. I'm not sure if we implemented it but the idea is you could add the following
When we need to move to v4 we would keep the same manifest identifier (and canvas identifiers) and in the short term only forward clients that request v4 and then in the long term we would update the default to forward to v4. |
Thanks @glenrobson This hurts my brain a little, so I'm going to babystep through the issue as I might not have been clear in my original issue. Perhaps I should have titled this as Versioned Manifests have Invalid id values not matching published URIs. There are two scenarios here, the first is the one that I'm struggling to grasp. Request of a versioned Manifest, ex:
|
Maybe this is a different issue, but let's pretend I request this presentation v2 manifest: The |
This is the issue where we discussed the forwarding of URLs: ArchiveLabs/iiif.archivelab.org#74 In the end we forwarded the versionless manifest URL to 3 as archivelab was still in existance so we didn't need to keep the v2 the deafult. It looks like we don't have the content negotiation features we should have here: Line 220 in 704649e
which would allow you to use the same URI for both versions and then switch based on the accept header. It maybe better in this case just to include the version numbers in the id of the manifest but the intention was to keep the manifest ids and canvas ids the same between versions so that annotations target a v2 manifest would still work with a v3. The alternative way of accessing v2 and v3 resources using the same URI is the method in the proposed cookbook: IIIF/cookbook-recipes#181 where both v2 and v3 manifests have the same URI and the only way to select the version is to use Accept headers. What issues in clover do you come across when the manifest |
@glenrobson , Clover assumes that the URL requested via the contentState In other words, Clover is happy with: But not: |
@glenrobson My concern is more related to using the |
id
values not matching published URIshttps://iiif.archive.org/iiif/3/...
Note, I have updated the title to match more precisely with the documented issue. |
Glen to create issue on the API repo for the editors to look at for v4. |
Create a new issue for 1-3 and leave this one as the 4 so we can see the discussion. |
The
id
of this Manifest is:https://iiif.archive.org/iiif/78_der-er-maske-en-lille-pige-der-drommer-om-dig-skuespiller-edgar/manifest.json
While the published URI (after a redirect) is:
https://iiif.archive.org/iiif/3/78_der-er-maske-en-lille-pige-der-drommer-om-dig-skuespiller-edgar/manifest.json
A
/3
path is added within the URI here making the Manifest invalid.According to https://iiif.io/api/presentation/3.0/#id
Note, I found this after discussing an issue related to Clover IIIF and IA Manifests with @markpbaggett. I may have noted this previously but cannot find a related issue. Most viewers seem workaround this, however, Clover is highly dependent on the URI matching this
id
value. Regardless, this isn't really a Clover issue, but a presentation spec related one.Best!
The text was updated successfully, but these errors were encountered: