IIIF Cookbook

The IIIF Presentation API specifies a standardized way to describe complex digital objects. The resource types and properties of the specification are the building blocks of interoperable representations, for rendering by viewers and other software clients. This cookbook gathers together many examples of these representations (usually IIIF Manifests), in order to:

  • provide many more examples than the specification alone can do, for reference and learning;
  • encourage publishers to adopt common patterns in modeling classes of complex objects;
  • enable client software developers to support these patterns, for consistency of user experience (when desirable);
  • demonstrate the applicability of IIIF to a broad range of use cases.

The issues of the Cookbook Recipes repository are used to identify and discuss cookbook recipes, prior to their inclusion in the final cookbook site.

Viewer Support

As part of the work to aid implementation the Cookbook group have developed a Viewer Matrix which shows which recipe is supported by which IIIF viewer.

See IIIF viewer support

Contributing

Anyone is welcome to submit a recipe idea or work on implementing a recipe. Advice and support can be received from the IIIF Cookbook channel on the IIIF Slack. For detailed information on how to contribute please see the Cookbook process.

The Recipes

Building a manifest in stages, adding more complexity at each stage

The corresponding 2.1 test fixture(s) is given like this, where appropriate: ..(3,5)

Textual and other supplementary content

Other kinds of annotations

(leading on to segmentation examples later)

Internal structure

Higher-level structure

Segmentation and complex resources

  • Multiple choice of images in a single view (29)
  • Foldouts, Flaps, and Maps
  • Composition from Multiple Images (30,31)
  • Multiple images and multiple choices (32,33,34)
  • [Annotating part of an image to a Canvas][recipe-segment-image-part] (e.g., crop out scanner) (35,36,37,38)
  • Image with CSS Rotation (39)
  • Reusing an image service (ImageApiSelector) (41)
  • non-rectangular segmentation
  • temporal segmentation
  • Audio only from video (and other xxxContentSelector scenarios)
  • canvas on canvas (#1191)
  • CSS styling

Linking

  • alternative representations (rendering (?))
  • Homepage
  • Linking from Image API to Presentation API (via partOf as per #600, #1507)
  • Linking from Image API to external metadata
  • Linking from external metadata to Image API
  • Linking from external metadata to Presentation API
  • Linking between Presentation API representations
  • Linking to Structured Metadata (8)

Technical

  • extensions (18)
  • services (9,10)
  • Mixed version scenarios (Prezi 3+Image 2)
  • Publishing v2 and v3 versions

Real-world complex objects (ideally taken from actual collections)

Access Control

this might be in a separate auth cookbook