Closed jacobwegner closed 4 years ago
The current iterations of the JHU georeference annotations and ATALS' sentence level translation alignment annotations are functional in the custom Mirador 3 (M3) plugin. Some very specialize knowledge of CTS URNs as well as some fun hacks were needed to get then to show as they do.
To address your questions
One of the issues with the M3 plugin is how the plugin knows that there are ATLAS services that can provide annotations for given IIIF canvases. Right now things are fudged a bit with some hard coded links in the viewer. I don't know if this is feasible, but I think my ideal would be to have a service that can accept a IIIF Canvas ID (such as https://rosetest.library.jhu.edu/rosademo/iiif3/homer/VA/VA034VN-0536/canvas) and respond with the annotation collections associated with that canvas, or even just the URLs to those services. Then on the JHU side, we could attach this service URL to the IIIF data to make viewers aware of the service.
Based on using our georeference annotations in the M3 plugin, there is some feedback I have about these kinds of annotations. I think it would be helpful for a web annotation viewer to have annotations that target other annotations to explicitly call out the targeted annotation in its target
property. Not sure how possible this is. The current plugin parses the CTS URN to guess at the intended target annotation, which may not always be correct.
For example, a georeference annotation that targets some translated text:
{
"type": "SpecificResource",
"source": {
"type": "Annotation",
"id": "https://aniop-atlas-staging.eldarion.com/wa/urn:cite2:hmt:msA.v1:35r/translation-alignment/622/text/"
},
"selector": {
"type": "TextQuoteSelector",
"exact": "Athens"
}
}
@markpatton may be interested
@jabrah I opened a new issue to discuss annotations targeting other annotations, (#90 cc: @markpatton ), just so I can keep discussion here to your feedback about "discovery"
@jabrah So absent a full-fledged discovery service, how does this sound?
1) We add a new endpoint /wa/discovery/
2) Pass the canvas id via a ?canvas_id
param...e.g. /wa/discovery/?canvas_id=https://rosetest.library.jhu.edu/rosademo/iiif3/homer/VA/VA012RN-0013/canvas
3) We return a payload
What would you like that payload to look like?
{
"collections": [
"https://aniop-atlas-staging.eldarion.com/wa/urn:cite2:hmt:msA.v1:12r/audio-annotations/collection/compound/",
"https://aniop-atlas-staging.eldarion.com/wa/urn:cite2:hmt:msA.v1:12r/named-entities/collection/compound/",
"https://aniop-atlas-staging.eldarion.com/wa/urn:cite2:hmt:msA.v1:12r/translation-alignment/collection/html/",
"https://aniop-atlas-staging.eldarion.com/wa/urn:cite2:hmt:msA.v1:12r/translation-alignment/collection/text/"
]
}
or something else?
@jacobwegner @jabrah
One thought looking at this the need to normalize on IIIF 2 vs IIIF 3. On our side we normalized on IIIF 2 because of delays with IIIF 3, but probably forgot to communicate that fact. Sorry about that! So our web annotation service is pointing to uris using /iiif/ instead of /iiif3/. And now the mirador viewer is using IIIF 2. If you have already used the IIIF 3 URIs and its just a pain to change, no worries. We can hack around the issue.
The proposed structure seems completely fine to me, but let's hear from John who will be consuming it.
The proposed discovery service looks good to me as well. I do agree with Mark about the /iiif/
vs /iiif3/
URIs
Understood about IIIF3; I've changed the URIs within the ATLAS annotations to match.
Will try to have something done with the new TextQuoteSelectors and the discovery service by the end of the week.
@jabrah:
I've got a preview instance that is set up with the discovery endpoint:
You'll notice that I did tweak the URLs throughout; originally we were offering both a "text" and "html" version of the translation alignment WA, but since you've asked to standardize around just the "html" version, each of the urls for collections, annotation pages, and individual changes have dropped the "format":
e.g.
vs
Since this is a backwards incompatible change, I won't deploy to the aniop-atlas-staging instance until you've had a chance to update your application to make use of the discovery endpoint.
@jacobwegner
I tried this out in our viewer, finally, and it seemed to work nicely. I have it integrated as a proof of concept with the discovery service URL baked into the UI, but when the service stabilizes, we can think about adding it to our IIIF manifests as a service
block that the UI can access. No more magic URLs in the UI :)
@jabrah Great! I'll work on getting the "stable" instance (aniop-atlas-staging.eldarion.com
) deployed with this change, and eventually will spin down explorehomer-feature-wa-jm1koi.herokuapp.com
@jabrah I've deployed the discovery endpoint to aniop-atlas-staging.eldarion.com
:
When convenient (but no rush!), please update to aniop-atlas-staging.eldarion.com
and let me know here, and I'll tear down the preview instance.
I've updated the discovery endpoint, seems to work as expected.
Thanks; I've shut down the preview instance.
@jabrah wrote in Slack:
Here are some things I've been wondering for the web annotations being served by ATLAS: