Tim Sherratt

Sharing recent updates and work-in-progress

May 2025

SLV LAB and GLAM Workbench updates

Last week the State Library of Victoria launched SLV LAB, a prototyping and innovation lab that ‘experiment[s] with technology to open access to collections, data and spaces’. The SLV LAB encourages collaboration, and is sharing code, datasets, and tutorials. It’s an exciting development and I’m looking forward to seeing what they get up to. I’ve added SLV LAB to the GLAM data portals & repositories section of my Australian GLAM data list.

The launch prompted me to have a look at the SLV section of the GLAM Workbench, which I added about 5 years ago. There are currently two notebooks which both relate to the SLV’s use of IIIF to deliver their images. When I created them, there was an issue with IIIF image links needing to have a cookie set before you could access them, but that now seems to have been fixed, so I thought it was time for an update.

  • Download an image using the IIIF server and a Handle url ­– The SLV uses the Handle system to create persistent urls for images, and IIIF to deliver the images for use. But how do you get from one to the other? This notebook uses the Handle url to find an image’s IIIF identifier, and then uses IIIF to download the image. The Handle urls are aggregated into Trove, so you could use this method to download SLV images from Trove metadata harvests.
  • More fun with IIIF – This notebook demonstrates how you can use the standard IIIF API to manipulate images from the SLV collection.
Screen capture of the More fun with IIIF notebook demonstrating how to rotate an image.

I’ve removed the need for cookie consumption and simplified some of the code in the notebooks. I’ve also updated the repository to embed the GLAM Workbench’s latest systems and integrations. This means, among other things, that the repository is preserved in Zenodo with a DOI, and a Docker image is automatically built that makes it easy to run the notebooks in a variety of contexts – including the ARDC Binder service.

Perhaps most interestingly, I’ve also created a Jupyter Lite version of the ‘More fun with IIIF’ notebook that runs in your browser without any need for a cloud server. Unfortunately, I can’t do the same with the Handle/IIIF notebook because Jupyter Lite runs afoul of CORS permissions when requesting the Handle url.

I’m looking forward to adding additional notebooks and examples as the SLV LAB develops, and shares more data and code.