A growing number of institutions are beginning to provide linked open data APIs or direct search portals that allow external users to explore their public digital resources. These can offer a wide range of options and can be used as the basis of new collection presentations or even cross collection search options. However, even when they are well documented, it can still take quite a bit of technical knowledge to fully exploit their potential and it can take some time to learn how local data structures or even international standards have been used before specific resources, such as IIIF manifests, can be found. The propose of the Simple IIIF Discovery system is to provide a structure through which simpler more direct access can be provided to IIIF resources.
This end-point definition is relatively simple, it is meant to be. It could be seen as an entry level or level 0 form of IIIF discovery. It is envisaged that more complex end-points could be produced in the future providing more complex search options in relation to more standardised data presentations.
A Simple IIIF Discovery End-point is a small website or service that is designed to process simple text based queries and return formatted IIIF resources. They need to be able to process a simple GET request using a defined set of variables, carry out a predefined search for either IIIF manifests or info.json files and then reformat the search results to provide a simple defined set of JSON results that can then be used to display the IIIF resources that have been discovered. Once and end-point has been setup to talk to a given institutions API then far less technical savvy users can use systems like Simple Site to create their own IIIF presentations.
End-Point request URL format
Further description of the four possible GET variables can be found in the model diagram.
https://api-url/?search=TERMs&limit=INT&from=INT
End-Point results format
Simple IIIF Discovery end-points are required to return results in the form of a JSON document as shown below. Further description of the various variables can be found in the model diagram.
Example Simple IIIF Discovery End-Points
The following six example endpoints have been setup to demonstrate the required functionality.
Simple IIIF Discovery end-points could be created using a range of programming languages, this simplified version on PHP is just included to provide and example of the processes required.
Example JSON End-point configuration file
The current example end-points and example search pages, host by the National Gallery, are all automatically generated using a JSON configuration file. An example with some explanations is provided here. To add a new collection to this system one would just need to provide a completed template.