IIIF Registry

This is the basis of the IIIF Registry of Activity streams. This project aims to give access to a large amount of IIIF resources and provide a way to keep up to date with changes. The Activity Streams format is defined in the Change Discovery Specification.

We welcome additions to the registry and additions can be made using the following process:

  1. Create branch for your addition
  2. Create a directory for your institution. This should be a short name without spaces or punctuation
  3. Create a registry JSON file. See details below
  4. Create a pull request with your changes and submit to IIIF/registry

Registry JSON format

To register a link to your streams we use the following JSON structure:

{
    "id": "http://www.getty.edu/",
    "institution": {
        "id": "http://www.getty.edu/",
        "label": {
            "en": [ "Getty" ]
        }    
    },
    "streams": [
        {
            "id": "http://www.getty.edu/museum.json",
            "label": {
                "en": [ "Museum collections" ]
            }
        },
        {
            "id": "http://www.getty.edu/library.json",
            "label": {
                "en": [ "Library collections" ]
            }    
        },
        {
            "id": "http://www.getty.edu/research.json",
            "label": {
                "en": [ "Research Center" ]
            }    
        }
    ]
}

Where:

The JSON file should be named appropriately so people know what it represents and must have an extension of .json.

Aggregators

For Aggregators or institutions that collect content from other providers and aggregate their content. A slightly different structure can be used. Examples of Aggregators would be Europeana or OCLC with ContentDM. Both hold multiple institutions’ data. In this case the Aggregator would have one registry JSON file per institutional client. The Provider can then add the following to the root of the JSON to show who provided the content:

"provider": {
    "id": "https://www.oclc.org/en/home.html",
    "label": {
        "en": [ "OCLC" ]
    }    
},

You can see examples of this in the OCLC directory where instx.json would be the set of changes from one ContentDM instance and insty.json is a second institution.