Home

IIIF Discovery with Pontiiif

Date: 17 Feb 2017

Author: Sara Carlstead Brumfield and Ben Brumfield, Brumfield Labs


Interoperable image resources are only useful if they can be discovered. While the IIIF Content Search API “search within” for IIIF annotations is well defined and individual institutions have search technologies for their content, there has been no way to search for IIIF-enabled content across institutions.

To address this challenge, Brumfield Labs proposed & built Pontiiif, a cross repository search engine for IIIF manifests, as a commissioned implementation. Pontiiif crawls and indexes IIIF manifests starting at top-level collection manifests. It ingests labels, descriptions, navDates, licenses and metadata from collections and manifests, storing them in an ElasticSearch datastore. As collections are crawled, any errors are logged into files which can be downloaded from Pontiiif, providing a way to validate a content provider’s implementation of the Presentation API.

Pontiiif also includes a web UI that allows simple search across all indexed fields, or advanced search on specific fields. Search results allow users to drag and drop IIIF icons onto Mirador, open manifests within the Universal Viewer, or view the manifest JSON directly.

Pontiiif includes a simple draft API – for example, http://pontiiif.brumfieldlabs.com/api/v0.0/search/Virginia will return the results of the search as a IIIF Collection manifest for ingestion by other IIIF clients.

The Pontiiif 1.1 release incorporates feedback from the IIIF community, regularizing the mechanism for crawling collections. When a user adds a collection to crawl, this collection is stored in a list of crawlable collections in addition to initiating an immediate crawl of the added collection. Each indexed collection is displayed on the “add collection” screen, along with the most recent dates at which it was indexed.

You can search with Pontiiif at http://pontiiif.brumfieldlabs.com/ The source code is available at https://github.com/saracarl/Pontiiif A preview demo is available at https://www.youtube.com/watch?v=v2-3hAtidUM