The last month has been spent grappling with the issues I’d encountered with the Universal Viewer. In summary, updates made by Ex Libris during the summer have caused previously operational functionality to break. I’m now unable to use their product, Alma Digital, to embed the Universal Viewer as an iframe in another resource, or access dynamic coordinates (xywh values) from our object urls.

The lack of this functionality means that our content is effectively trapped within our digital repository, and if even if this limitation were addressed, without url coordinates, we have no control over how to present our objects. We cannot dictate which page, which area of an image to show in an iframe. A major selling point of Alma Digital was its compliance with IIIF (the International Image Interoperability Framework), but currently, our content no longer complies with the framework – it is no longer interoperable.

I raised an official case with Ex Libris’ development team on 9th August, and was informed that the issue will be looked at in order of relative priority, with no indication of when that might be. This has made it very difficult to plan the forward progress of the Fellowship.

While awaiting progress from Ex Libris, I reached out to a few community contacts for suggestions as to what could be causing the issues. My thanks to Glen Robson at IIIF, Vicky Phillips and Sara Weale, developers at the National Library of Wales, and Ben Crabstick and Carly Richardson, developers at Archives Hub for volunteering their time to look into this with me. Unfortunately, this behaviour seems to have everyone stumped.

Andy Irving, Senior Systems Architect at the Bodleian, and a member of the Universal Viewer community on Slack, has been very helpful in suggesting workarounds that involve editing the json manifests themselves or the urls:

Suggestion to force the production of presentation API 2 by adding the suffix, manifest?iiifVersion=2 Suggestion to change image format in the json from image/tiff to image/jpeg

I'm unable to access our json files, but with some trial and error, I’ve been able to use Andy's tip about forcing the production of presentation API 2 to handcraft urls. Now our objects will successfully embed in an iframe, and show the correct page/location:

  • Using the prefix: https://universalviewer.io/uv.html?manifest=
  • Adding our Alma instance: https://librarysearch.cardiff.ac.uk/view/iiif/presentation/44WHELF_CAR/
  • Adding the mms (unique identifier of the object): e.g. 12204337930002420
  • Adding a suffix to force the presentation of API v2: /manifest?iiifVersion=2

When I put all this together: https://universalviewer.io/uv.html?manifest=https://librarysearch.cardiff.ac.uk/view/iiif/presentation/44WHELF_CAR/12204337930002420/manifest?iiifVersion=2, the object correctly loads in a UV instance, outside Alma Digital, in which the dynamic coordinates in the url also function correctly. From here, I can select the page I want to display, zoom into the desired page area, then copy the url from the address bar. I can then use that url in iframe code to embed the object in a third party location, successfully displaying the page and section I chose, e.g.:

This has allowed me to make repairs to a student project I've been working on, which had been intended as a pilot to show the potential of IIIF for making interactive and engaging resource guides. When the summer update broke the sharing functionality, all of the iframes I'd included in the resource had broken. My handcrafted url solution is clunky and unsustainable, and vulnerable to breaking again in future, so I’m still keen to pursue a more appropriate fix from Ex Libris. It should be possible to simply copy a correctly functioning url directly from our own UV instance.

As well as testing and trialling Universal Viewer fixes, and repairing our student-authored resource guide, I’ve been writing a paper for Ex Libris’ international conference, IGeLU 2022. The abstract for my paper, Unlocking your collections with Alma Digital and IIIF, promises to ‘outline the ways in which IIIF functionality can facilitate the creation and use of innovative digital outputs for teaching and research’.

I had submitted my proposal and abstract prior to the summer updates that caused the issues with the Universal Viewer, and as such, I’ve needed to think how to present information about functionality that I can no longer demonstrate with our own implementation. I got around this by using examples from the University of St Andrews, an institution that uses the Universal Viewer, but not Alma Digital. After each example, by contrast, I’ve demonstrated the behaviour that Ex Libris customers are seeing, in the hope that someone watching may be able to facilitate and expedite the work needed to sustainably resolve these issues.