The manifest used in this demo is adapted from an example in the IIIF Cookbook. On the right-hand side, it is visualized using the Glycerine Viewer. The original manifest contains a single canvas without any annotations.
In this demo, we’ll use the Glycerine Editor to create and Glycerine Viewer to display annotations for this manifest.
Whether or not you have existing IIIF infrastructure, the Glycerine Suite offers flexible plug-in modules that can be integrated into your management systems to enable annotation creation, editing and viewing.
Learn more about Infrastructure Integration
Glycerine Viewer is a general-purpose IIIF viewer with strong support for the IIIF Presentation API. It specializes in displaying annotations and can be easily embedded into any website or content management system, providing an engaging and immersive viewing experience for IIIF resources.
Learn more about Glycerine Viewer and IIIF recipes support.
Glycerine Editor allows curators to create and edit IIIF annotations within their institution’s existing management workflows. It can be embedded as a widget in an organization’s collections or content management systems to support curatorial and research activities.
It can be paired with Glycerine Server for backend data management or integrated with an institution’s digital asset management framework and collections datastore.
Learn more about Glycerine Editor.
Glycerine Server provides a complete backend data model for managing IIIF resources and annotations. It works alongside Glycerine Image Server—a scalable, high-performance IIIF image server built on the Cantaloupe framework.
It can generate IIIF Presentation API 3.0 manifests based on stored resources and annotations and supports a comprehensive set of APIs for integration with institutional digital asset and collections management systems.
Glycerine Server can also be used solely as an annotation store for external IIIF manifests, allowing institutions to leverage its annotation capabilities while maintaining their existing IIIF infrastructure.
Learn more about Glycerine Server.
On the right-hand side, the authoritative manifest is loaded into Glycerine Editor. The editor provides tools to draw various shapes—rectangles, ellipses, polygons, and circles—with support for custom outline colours and shading.
Glycerine Editor supports multiple annotation storage methods, including memory-based storage, local storage, and remote annotation stores. In this demo, the editor is configured to use Glycerine Server as its annotation store via the Web Annotation Protocol.
If your management system supports the Web Annotation Protocol, Glycerine Editor can also connect to your own annotation store.
On the right-hand side, an annotation collection is served up from Glycerine Server to Glycerine Editor. This collection already contains some demo annotations, which you can view in the editor. You’re also welcome to create your own annotations—any new annotations will be reflected in the annotation collection manifest linked below (go to the first page of the annotation collection to view the annotations).
Annotation collection (JSON-LD)
Annotation templates is a unique and powerful feature of Glycerine that allow users to configure structured annotations tailored to different curation and research scenarios. These templates influence both the annotation creation forms in Glycerine Editor and how annotations are displayed in Glycerine Viewer.
Glycerine Editor can be configured with any number of annotation templates, enabling users to
select the most appropriate one when creating annotations. Template and field definitions
are written in JSON-LD and can be hosted anywhere. They are compatible with the IIIF
Presentation API 3.0 and referenced via the generator property in the IIIF manifest.
Glycerine Workbench provides a user-friendly interface for creating and managing annotation templates. Alternatively, you can author and host your own template definition files by following the JSON-LD structure.
Learn more about Annotation Templates.
In this demo, the editor is configured with three built-in templates (Standard, Basic and Minimal) from Glycerine Workbench. When creating an annotation, you can select your preferred template from the dropdown menu.
Available templates:
In real-world scenarios, you may want to include annotations stored in Glycerine Server within the IIIF manifest served by your own infrastructure. This can be achieved by aggregating annotations from Glycerine Server into your authoritative IIIF manifest at the time of request.
By default, annotation collections from the Glycerine Server are paged by the target canvas, making it easy to append annotation pages to the corresponding canvas in the IIIF manifest. These annotation pages can either be fully embedded within the manifest or referenced externally from the Glycerine Server.
On the right-hand side, a simple pseudocode example illustrates the aggregation process. Your host system can choose whether to modify the authoritative manifest directly or generate alternate versions with different URLs—such as manifests with no annotations, curated annotations, or researcher-contributed annotations—depending on your publication or research needs.
Below is an example of the aggregated IIIF manifest including the annotations created in Glycerine Editor.
generate your normal manifest data
fetch the annotation_collections from Glycerine Server
for annotation_collection in fetched_collections:
for annotation_page in annotation_collection:
append annotation_page to the annotations of the corresponding canvas
return manifest
You can create any number of annotation collections for a single authoritative IIIF manifest. Each collection may contain different annotations tailored to specific research or curatorial contexts.
In the demo below, you can create a new annotation collection for the manifest. Once created, it will load in a new instance of the editor on the right-hand side.
In various research and publication scenarios, your host system may include multiple annotation collections in an aggregated manifest. The table below lists available collections, including the demo collection and any new ones you’ve created.
You can selectively include annotation collections in the aggregated manifest by checking the boxes next to each one. The updated manifest will be displayed in the viewer on the right-hand side.
In Glycerine Viewer, you can open the “Settings” panel to filter annotations by collection when multiple collections are included in the manifest.
| Select | Collection | |
|---|---|---|
|
|
Demo annotations | Annotation collection (JSON-LD) |