Skip to content

Commit

Permalink
Merge pull request #513 from IIIF/feature/theseus-viewer
Browse files Browse the repository at this point in the history
Added Theseus Viewer support
  • Loading branch information
glenrobson authored Aug 21, 2024
2 parents 702014b + 4b45523 commit e76f549
Show file tree
Hide file tree
Showing 60 changed files with 207 additions and 170 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name: Deploy-preview
on:
push:
branches:
- '*'
- '**'
- '!master'
- '!main'
- '!beta'
Expand Down
7 changes: 6 additions & 1 deletion _includes/viewer_link.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,12 @@
https://demo.viewer.glycerine.io/viewer?iiif-content={{manifest_url |strip}}
{% endcapture %}
{% assign default_text="View in Glycerine Viewer" %}
{% else %}
{% elsif include.type == 'Theseus' %}
{% capture viewer_url %}
https://theseusviewer.org/?iiif-content={{manifest_url |strip}}
{% endcapture %}
{% assign default_text="View in Theseus" %}
{% else %}
{% capture default_text %}Unknown Viewer type '{{ include.type}}'{% endcapture %}
{% capture viewer_url %}{{manifest_url |strip}}{% endcapture %}
{% endif %}<a href="{{ viewer_url | strip }}" target="_blank">{{ include.text | default: default_text }}</a>
7 changes: 3 additions & 4 deletions recipe/0000_template/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ layout: recipe
tags: [tbc]
summary: "tbc"
viewers:
topic:
topic:
- basic
---

Expand All @@ -21,7 +21,7 @@ How do you implement the pattern?

## Restrictions

When is this pattern is usable / not usable? Is it deprecated? If it uses multiple specifications, which versions are needed, etc.?
When is this pattern is usable / not usable? Is it deprecated? If it uses multiple specifications, which versions are needed, etc.?

Delete this section if it is not needed.
If you don't know what the restrictions might be initially, just leave the following line:
Expand All @@ -32,7 +32,7 @@ If you don't know what the restrictions might be initially, just leave the follo
Describe the solution in prose and provide an example.
The example json document must be an external document, and imported with the following:

{% include manifest_links.html viewers="UV, Mirador, Curation" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Annona, Clover, Ramp, Aviary, Glycerine, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" %}

Expand All @@ -44,4 +44,3 @@ Provide a bulleted list of related recipes and why they are relevant.

{% include acronyms.md %}
{% include links.md %}

1 change: 1 addition & 0 deletions recipe/0001-mvm-image/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ viewers:
- Annona
- Clover
- Glycerine Viewer
- Theseus
topic:
- basic
- image
Expand Down
5 changes: 3 additions & 2 deletions recipe/0002-mvm-audio/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ viewers:
- Clover
- Ramp
- Aviary
topic:
- Theseus
topic:
- basic
- AV
code:
Expand All @@ -30,7 +31,7 @@ The implementation is identical to the [image example][0001], except that the co

This example shows a Manifest with a single Canvas that lasts for 1985.024 seconds. It has a single audio file (audio-sample.mp4) which is associated with it. The mp4 also has a duration of 1985.024 seconds.

{% include manifest_links.html viewers="UV, Mirador, Clover, Ramp, Aviary" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Clover, Ramp, Aviary, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" %}

Expand Down
7 changes: 4 additions & 3 deletions recipe/0003-mvm-video/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ viewers:
- Clover
- Ramp
- Aviary
topic:
- Theseus
topic:
- basic
- AV
code:
Expand All @@ -28,9 +29,9 @@ The implementation is identical to the [image example][0001], except that the co

## Example

This example shows a Manifest with a single Canvas that lasts for 572 seconds, or just under 10 minutes. It has a single video file (lunchroom_manners_1024kb.mp4) which is associated with it. The mp4 also has a duration of 572 seconds.
This example shows a Manifest with a single Canvas that lasts for 572 seconds, or just under 10 minutes. It has a single video file (lunchroom_manners_1024kb.mp4) which is associated with it. The mp4 also has a duration of 572 seconds.

{% include manifest_links.html viewers="UV, Mirador, Clover, Ramp, Aviary" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Clover, Ramp, Aviary, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" %}

Expand Down
5 changes: 3 additions & 2 deletions recipe/0004-canvas-size/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ tags: [image, presentation, canvas]
summary: "Demonstrates that image dimensions (pixels) need not be the same as the Canvas dimensions (unit-less)"
viewers:
- UV
- Mirador
- Mirador
- Annona
- Theseus
topic: image
code:
- iiif-prezi3
Expand Down Expand Up @@ -38,7 +39,7 @@ The aspect ratio should be consistent between your source image and Canvas. Othe

This example shows a Manifest with a single Canvas that has height and width dimensions three times the pixel dimensions of the image in order to construct a Canvas with both dimensions greater than 1000px.

{% include manifest_links.html viewers="UV, Mirador, Annona" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Annona, Theseus" manifest="manifest.json" %}
{% include jsonviewer.html src="manifest.json" config="data-line='14-15,29-30'"%}

# Related recipes
Expand Down
9 changes: 5 additions & 4 deletions recipe/0005-image-service/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ viewers:
- Annona
- Clover
- Glycerine Viewer
topic:
- basic
- Theseus
topic:
- basic
- image
code:
- iiif-prezi3
Expand All @@ -22,7 +23,7 @@ You have a rare or special object in your collection that you'd like to make ava

## Implementation Notes

A service may be attached to any IIIF resource type, and requires at minumum the use of `id` and `type`. The annotation structure follows that of the [Simplest Manifest - Image][0001] recipe. Within the `body` of the image annotation, specify the IIIF Image API service using the `service` property. The service's `id` property value is the base URI of that IIIF Image API service.
A service may be attached to any IIIF resource type, and requires at minumum the use of `id` and `type`. The annotation structure follows that of the [Simplest Manifest - Image][0001] recipe. Within the `body` of the image annotation, specify the IIIF Image API service using the `service` property. The service's `id` property value is the base URI of that IIIF Image API service.

The `type` tells the client what version of the IIIF Image API (1, 2, or 3) you are referencing. Values for `type` are defined in [the IIIF Registry of Services][service-registry] and include values for compatibility with other IIIF APIs. See [the service property in the IIIF Presentation specification][prezi3-service] for more information.

Expand All @@ -36,7 +37,7 @@ Though a version 3 Manifest may specify a service using the version 2 `@id` and

## Example

{% include manifest_links.html viewers="Mirador, Annona, Clover, Glycerine Viewer" manifest="manifest.json" %}
{% include manifest_links.html viewers="Mirador, Annona, Clover, Glycerine Viewer, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="36-42"' %}

Expand Down
5 changes: 3 additions & 2 deletions recipe/0006-text-language/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ tags: [i18n, text, presentation]
summary: "An example of a IIIF Resource with labels/descriptions in multiple languages."
viewers:
- UV
- Mirador
- Mirador
- Annona
- Glycerine Viewer
- Theseus
topic: basic
property: label, summary, metadata, requiredStatement
code:
Expand Down Expand Up @@ -41,7 +42,7 @@ To see the language choice in the linked viewers, open the settings menu (gear i

The image in this example was sourced via Wikimedia Commons and is public domain.

{% include manifest_links.html viewers="UV, Mirador, Annona, Glycerine Viewer" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Annona, Glycerine Viewer, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="6-11, 16-21, 24-26, 31-36, 39-44, 49-54, 58-63, 66-68"' %}

Expand Down
5 changes: 3 additions & 2 deletions recipe/0007-string-formats/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@ tags: [text, presentation]
summary: "You want to have more control on how your metadata is displayed. For example scientific names, and also links out to other sites. Also legacy systems that might include things like italic tags."
viewers:
- UV
- Mirador
- Mirador
- Annona
- Clover
- Glycerine Viewer
- Theseus
topic: property
property: label, summary, metadata, requiredStatement
code:
Expand All @@ -32,7 +33,7 @@ For security reasons, clients are expected to allow only `a`, `b`, `br`, `i`, `i

## Example

{% include manifest_links.html viewers="UV, Mirador, Annona, Clover, Glycerine Viewer" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Annona, Clover, Glycerine Viewer, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="7,12,24,38"' %}

Expand Down
4 changes: 2 additions & 2 deletions recipe/0008-rights/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ viewers:
- Annona
- Clover
- Glycerine Viewer
- Theseus
topic: property
property: rights, requiredStatement
code:
Expand Down Expand Up @@ -40,7 +41,7 @@ None known.

## Example

{% include manifest_links.html viewers="UV, Mirador, Annona, Clover, Glycerine Viewer" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Annona, Clover, Glycerine Viewer, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="15-27"' %}

Expand All @@ -51,4 +52,3 @@ None known.

{% include acronyms.md %}
{% include links.md %}

8 changes: 4 additions & 4 deletions recipe/0009-book-1/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ tags: [image, presentation]
summary: "Represent a book, or any object composed of a set of images, as a simple Manifest."
viewers:
- UV
- Mirador
- Mirador
- Annona
- Clover
- Glycerine Viewer
topic:
- Theseus
topic:
- image
- basic
code:
Expand All @@ -37,7 +38,7 @@ You should also consider providing a [thumbnail][prezi3-thumbnail] for each Canv

## Example

{% include manifest_links.html viewers="UV, Mirador, Annona, Clover, Glycerine Viewer" manifest="manifest.json" %}
{% include manifest_links.html viewers="UV, Mirador, Annona, Clover, Glycerine Viewer, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" %}

Expand All @@ -52,4 +53,3 @@ You should also consider providing a [thumbnail][prezi3-thumbnail] for each Canv

{% include acronyms.md %}
{% include links.md %}

7 changes: 4 additions & 3 deletions recipe/0010-book-2-viewing-direction/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ tags: image, text, layout
summary: "Informing a client how the Canvases should be displayed to the viewer in order to read the contents authentically in accordance with the script used, object layout, or reading practice."
viewers:
- UV
- Mirador
- Mirador
- Annona
topic:
- Theseus
topic:
- image
- property
property: viewingDirection
Expand Down Expand Up @@ -40,7 +41,7 @@ None known

This Manifest shows the playbill for "Akiba gongen kaisen-banashi," "Futatsu chōchō kuruwa nikki", and "Godairiki koi no fūjime", kabuki performances at the Chikugo Theater in Osaka, from the fifth month of Kaei 2 (May, 1849).

{% include manifest_links.html viewers="UV, Mirador, Annona" manifest="manifest-rtl.json" %}
{% include manifest_links.html viewers="UV, Mirador, Annona, Theseus" manifest="manifest-rtl.json" %}

{% include jsonviewer.html src="manifest-rtl.json" config='data-line="15"' %}

Expand Down
9 changes: 5 additions & 4 deletions recipe/0011-book-3-behavior/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ summary: "The 'behavior' property specifies how Canvases should be displayed in
viewers:
- id: UV
support: partial
- Mirador
- Mirador
- Theseus
topic: property
property:
property:
- behavior
- image
code:
Expand Down Expand Up @@ -44,15 +45,15 @@ The property is permissible for all resource types, but some values (`unordered`

This Manifest represents an Ethiopic accordion book with a continuous layout running left-to-right. It has four images that, when using the `"behavior": "continuous"` property, will display as a single continuous image in the viewer.

{% include manifest_links.html viewers="Mirador" manifest="manifest-continuous.json" %}
{% include manifest_links.html viewers="Mirador, Theseus" manifest="manifest-continuous.json" %}

{% include jsonviewer.html src="manifest-continuous.json" config='data-line="10-12"' %}

### Use case 2: Book imaged as 2-page spreads (`individuals`)

This Manifest represents a book imaged as 2-page spreads (two facing pages in a single image). When using the `"behavior": "individuals"` property, the presentation client will force a one-at-a-time view and remove the "book view" option.

{% include manifest_links.html viewers="UV, Mirador" manifest="manifest-individuals.json" %}
{% include manifest_links.html viewers="UV, Mirador, Theseus" manifest="manifest-individuals.json" %}

{% include jsonviewer.html src="manifest-individuals.json" config='data-line="10-12"' %}

Expand Down
6 changes: 3 additions & 3 deletions recipe/0013-placeholderCanvas/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ summary: "Provide the user with something to look at before they choose to start
viewers:
- Clover
- Ramp
topic:
- Theseus
topic:
- property
- AV
property: placeholderCanvas
Expand All @@ -16,7 +17,7 @@ property: placeholderCanvas

## Use Case

You have an exceptionally large video to present to site visitors. As each visitor's connection reliability and bandwidth are unknown and unpredictable, you want to show them a still image preview of the video (which will load more quickly) until the video has finished loading or has sufficiently buffered.
You have an exceptionally large video to present to site visitors. As each visitor's connection reliability and bandwidth are unknown and unpredictable, you want to show them a still image preview of the video (which will load more quickly) until the video has finished loading or has sufficiently buffered.

## Implementation notes

Expand Down Expand Up @@ -45,4 +46,3 @@ In the example, the main content is a video of a performance of Donizetti's _L'e

{% include acronyms.md %}
{% include links.md %}

9 changes: 5 additions & 4 deletions recipe/0014-accompanyingcanvas/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ layout: recipe
tags: [audio,image]
summary: "Provide the user with something to look at before they choose to start interacting with the main content, and/or while they wait for it to load/buffer, and/or while interacting with the main content."
viewers:
- Clover
- Aviary
topic:
- Clover
- Aviary
- Theseus
topic:
- property
- AV
property: accompanyingCanvas
Expand All @@ -33,7 +34,7 @@ Each instance of `accompanyingCanvas` may only contain one Canvas, and as such m

In the example, the main Canvas contains audio of a performance of Gustav Mahler's Symphony No. 3 and the `accompanyingCanvas` contains an image of a page from the score.

{% include manifest_links.html viewers="Clover, Aviary" manifest="manifest.json" %}
{% include manifest_links.html viewers="Clover, Aviary, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config="data-line='20-58'"%}

Expand Down
5 changes: 3 additions & 2 deletions recipe/0015-start/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ summary: "This manifest uses the 'start' property to specify a point in an audio
viewers:
- Ramp
- Aviary
topic:
- Theseus
topic:
- AV
- property
property: start
Expand Down Expand Up @@ -39,7 +40,7 @@ For more information on other Selector classes, see: [IIIF Open/Web Annotation E

This example shows a Manifest with a single Canvas with a duration of 1801.055 seconds. It has a single video file (30-minute-clock.mp4) which is associated with it. The `start` property specifies a start point of 120.5 seconds into the playback. The video was created by [DrLex1](https://www.youtube.com/watch?v=Lsq0FiXjGHg) and was released using a [Creative Commons Attribution license](https://creativecommons.org/licenses/by/3.0/).

{% include manifest_links.html viewers="Ramp, Aviary" manifest="manifest.json" %}
{% include manifest_links.html viewers="Ramp, Aviary, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="10-18"' %}

Expand Down
6 changes: 3 additions & 3 deletions recipe/0017-transcription-av/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ summary: "Transcripts as alternative representation of A/V content"
viewers:
- Ramp
- Aviary
- Theseus
topic: AV
property: rendering
code:
Expand All @@ -16,7 +17,7 @@ code:

## Use Case

You have a transcription file for your A/V resource and want to allow users to download it.
You have a transcription file for your A/V resource and want to allow users to download it.

## Implementation notes

Expand All @@ -36,7 +37,7 @@ In this example, the Manifest is using a single A/V file; therefore, it is equiv

In Ramp, the transcript file is made available to download on the right of the player controls. Click the filename listed in the menu to download the transcript file.

{% include manifest_links.html viewers="Ramp, Aviary" manifest="manifest.json" %}
{% include manifest_links.html viewers="Ramp, Aviary, Theseus" manifest="manifest.json" %}

{% include jsonviewer.html src="manifest.json" config='data-line="39-50"'%}

Expand All @@ -50,4 +51,3 @@ In Ramp, the transcript file is made available to download on the right of the p

{% include acronyms.md %}
{% include links.md %}

Loading

0 comments on commit e76f549

Please sign in to comment.