Skip to content

Instantly share code, notes, and snippets.

@tomcrane
tomcrane / mosaics.md
Created March 21, 2019 14:10
Mosaics content

As an editor, you have been given the task of making the slideshow seen here:

https://www.vam.ac.uk/articles/gilbert-mosaics

The materials you have been given to work with are a list of IIIF Image API endpoints. The thumbnails below are not to be used, they are just to be able to see which image is which. The only data to use is the Image Service URL.

It's a better test of the tools if you type at least some of the text by hand, creating links and styling where appropriate. However, there is quite a lot of text, so you could also copy and paste bits from the manifest directly. However, you should treat this text as if it were in a document given to you by a content editor.

https://iiif.vam.ac.uk/slideshows/gilbert/manifest.json

@tomcrane
tomcrane / sorty-presley-omeka.txt
Created October 10, 2019 15:33
Sequence: Sorty, Presley and Omeka
title Sorty, Presley and Omeka
participant User
participant Sorty
participant Presley
participant Omeka
note over User, Sorty
Sorty instance is configured with module for selecting
appropiate source manifests for the project. In IDA case,
a module that pulls in the list of prepared reels.
end note
@tomcrane
tomcrane / storagemap.md
Created October 15, 2019 17:17
StorageMap efficiency

(the answer to this might be completely different for DDS on AWS - e.g., a massive location-resolving key-value store.)

Given a relative file path in a METS file (e.g., a JP2 or ALTO file), the DDS needs to resolve the S3 location of that file.

The simple way to do this is load the storage manifest, find the entry corresponding to the path in METS, and deduce the S3 URI. But that would be very inefficient.

So the DDS caches a StorageMap for each storage manifest, which is this object, serialised:

    [Serializable]
{
"@context": "http://iiif.io/api/presentation/4/context.json",
"id": "https://example.org/iiif/3d/manifest",
"type": "Manifest",
"label": { "en": [ "I am 3D" ] },
// all your favourite IIIF props are exactly the same
"behavior": [ "some", "new", "behaviors", "probably" ],
{
"@context": "http://iiif.io/api/presentation/4/context.json",
"id": "https://example.org/iiif/3d/manifest",
"type": "Manifest",
"label": { "en": [ "I am 3D" ] },
"behavior": [ "some", "new", "behaviors", "probably" ],
"items": [
{