Here we shall give you a brief introduction to what a IIIF manifest is. A IIIF manifest is at the very heart of MemoRekall-IIIF, and ensures, amongst other things, interoperability of content, lightweight referential creation of data and collections of documents, the integration of MemoRekall into an existing community. For more details about IIIF and how it works, we suggest taking a look at their website.
Form: JSON
So, what even is an IIIF Manifest? Technically, it is a JSON file. JSON is a lightweight, (quasi-)human-readable data format used by many different software both local and online to store, read and share data. Here is an example of a JSON file (suffix .json)
{
“key” : “value”,
“myNumber” : 20,
“myList” : [ 1, 2, 3, “foo”, “bar”],
“anotherLevel : {
“myString” : “hello world”
}
}
Everything is contained within curly brackets. Then, you give as many bits of data as you want. Each piece of data has a key, for example here we have the keys key, myNumber, myList and anotherLevel. Each key had a value associated with it, here the value of key is value, the value of myNumber is 20 and so on. Each key/value pair is separated by a comma. A value can also be a list of values contained within square brackets. You can also give your data hierarchies by making the value another JSON structure contained within curly brackets.
Once the JSON file is loaded into a piece of software, it is very easy to retrieve the values associated with each key. For example, in Python or JavaScript it works like this:
keyValue = myData[“key”]
lowerLevelValue = myData[“anotherLevel”][“myString”]
An IIIF Manifest is nothing more than a json file with a specific structure. Each time you Add a Resource to Mirador for example, you are telling Mirador which JSON file to use as a manifest.