Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions recipe/0027-alternative-page-order/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,17 @@ A book may contain pages in the incorrect order; for example, a codex that was r

## Implementation Notes

In [Presentation API 3.0](https://iiif.io/api/presentation/3.0/#54-range), setting a Range’s `behavior` value to `sequence` allows you to define a specific viewing order for Canvases that differs from the default order in the Manifest’s `items` property. When `behavior` is set to `sequence`, user interfaces that interact with this order should use the order within the selected Range, rather than the default order of items.
In [Presentation API 3.0](https://iiif.io/api/presentation/3.0/#54-range), setting a Range’s `behavior` value to `sequence` allows you to define a specific viewing order for Canvases that differs from the default order in the Manifest’s `items` property. Such Ranges must be directly within the `structures` property of the Manifest and must not be referenced or embedded within other Ranges ([see specification](https://iiif.io/api/presentation/3.0/#54-range)). When `behavior` is set to `sequence`, user interfaces that interact with this order should use the order within the selected Range, rather than the default order of items.

There may be more than one Range, each representing an alternative sequence of items (such as different orderings of book pages). The first Range should act as the default ordering, and any additional Ranges should be available for the user to select. For a IIIF viewer to display the selectable Ranges, each Range should have a `label`.

If reordering the Canvases affects the reading layout or direction, properties can be set on the Range (such as `viewingDirection` or other [valid behaviors](https://iiif.io/api/presentation/3.0/#behavior) besides `sequence`) to override those inherited from the Manifest.

## Restrictions

Ranges with the `behavior` value set to `sequence` must be directly within the `structures` property of the Manifest and must not be referenced or embedded within other Ranges ([see specification](https://iiif.io/api/presentation/3.0/#54-range)). Such Ranges have limited hierarchical nesting and cannot be used to describe more complex structures, such as a [Table of Contents for Book Chapters][0024].

## Example

These manuscript folios are an excerpt from the original draft of the 1895 novel _Piccolo mondo antico_ by novelist and Nobel Prize nominee for Literature, Antonio Fogazzaro. The original autograph numbering in pen (384, 385, [386], 387) is incorrect, so archivists noted the correct reading order in pencil: 171r (387), 171v (384), 172r (385), 172v ([386]).
These manuscript folios are an excerpt from the original draft of the 1895 novel _Piccolo mondo antico_ by novelist and Nobel Prize nominee for Literature, Antonio Fogazzaro. The pencil numbering in the upper right of each page (171r–172v) follows the bifolio's physical order, but does not correspond to the author's intended sequence, which he noted in ink: 384 (171v), 385 (172r), [386] (172v), 387 (171r).

Two Ranges are provided within the `structures` to represent this case study. From the two Ranges with the `behavior` value `sequence`, the first Range should be used as the navigation default, and the other should be selectable.
Two Ranges are provided within the `structures` to represent this case study. From the two Ranges with the `behavior` value `sequence`, the first Range should be used as the navigation default, and the other should be selectable via its supplied `label`.

Images provided by permission of Biblioteca Civica Bertoliana.

Expand Down
36 changes: 18 additions & 18 deletions recipe/0027-alternative-page-order/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"type": "Canvas",
"label": {
"en": [
"384 (171v)"
"171r (387)"
]
},
"height": 3184,
Expand All @@ -60,14 +60,14 @@
"type": "Annotation",
"motivation": "painting",
"body": {
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186v_aVISNK_384/full/max/0/default.jpg",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186r_aVISNK_387/full/max/0/default.jpg",
"type": "Image",
"format": "image/jpeg",
"height": 3184,
"width": 2156,
"service": [
{
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186v_aVISNK_384",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186r_aVISNK_387",
"type": "ImageService3",
"profile": "level1"
}
Expand All @@ -84,7 +84,7 @@
"type": "Canvas",
"label": {
"en": [
"385 (172r)"
"171v (384)"
]
},
"height": 3184,
Expand All @@ -99,14 +99,14 @@
"type": "Annotation",
"motivation": "painting",
"body": {
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187r_aVISNK_385/full/max/0/default.jpg",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186v_aVISNK_384/full/max/0/default.jpg",
"type": "Image",
"format": "image/jpeg",
"height": 3184,
"width": 2156,
"service": [
{
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187r_aVISNK_385",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186v_aVISNK_384",
"type": "ImageService3",
"profile": "level1"
}
Expand All @@ -123,7 +123,7 @@
"type": "Canvas",
"label": {
"en": [
"[386] (172v)"
"172r (385)"
]
},
"height": 3184,
Expand All @@ -138,14 +138,14 @@
"type": "Annotation",
"motivation": "painting",
"body": {
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187v_aVISNK_386/full/max/0/default.jpg",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187r_aVISNK_385/full/max/0/default.jpg",
"type": "Image",
"format": "image/jpeg",
"height": 3184,
"width": 2156,
"service": [
{
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187v_aVISNK_386",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187r_aVISNK_385",
"type": "ImageService3",
"profile": "level1"
}
Expand All @@ -162,7 +162,7 @@
"type": "Canvas",
"label": {
"en": [
"387 (171r)"
"172v [386]"
]
},
"height": 3184,
Expand All @@ -177,14 +177,14 @@
"type": "Annotation",
"motivation": "painting",
"body": {
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186r_aVISNK_387/full/max/0/default.jpg",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187v_aVISNK_386/full/max/0/default.jpg",
"type": "Image",
"format": "image/jpeg",
"height": 3184,
"width": 2156,
"service": [
{
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0186r_aVISNK_387",
"id": "https://iiif.io/api/image/3.0/example/reference/3ec31f43ce55cfcc076804c88c06aa43-CF-f0187v_aVISNK_386",
"type": "ImageService3",
"profile": "level1"
}
Expand All @@ -206,7 +206,7 @@
],
"label": {
"en": [
"Original Page Order"
"Physical sequence"
]
},
"items": [
Expand Down Expand Up @@ -236,24 +236,24 @@
],
"label": {
"en": [
"Corrected Page Order"
"Author-intended sequence"
]
},
"items": [
{
"id": "{{ id.path }}/canvas/p4",
"id": "{{ id.path }}/canvas/p2",
"type": "Canvas"
},
{
"id": "{{ id.path }}/canvas/p1",
"id": "{{ id.path }}/canvas/p3",
"type": "Canvas"
},
{
"id": "{{ id.path }}/canvas/p2",
"id": "{{ id.path }}/canvas/p4",
"type": "Canvas"
},
{
"id": "{{ id.path }}/canvas/p3",
"id": "{{ id.path }}/canvas/p1",
"type": "Canvas"
}
]
Expand Down