You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/presentation/4.0/index.md
+68-7Lines changed: 68 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2558,18 +2558,79 @@ An extreme example of both physical dimension properties together is a Canvas sh
2558
2558
2559
2559
# Integration
2560
2560
2561
-
seeAlso, service(s), extensions
2562
-
mention search, image api, auth
2561
+
While a IIIF Manifest carries the information required to present a resource on the web, it is unlikely to be the only resource of interest to either human or machine consumers. IIIF provides properties to link to other resources and services. The linked resources might be made directly available to the user by opening links or downloading files in a user interface, or they may be loaded by machines when reading IIIF Manifests to gather further information (for example, to build a search index).
2563
2562
2564
-
profile for seeAlso
2563
+
## Linked resources
2565
2564
2566
-
partOf -
2565
+
In the following example, the Manifest represents an artwork. The Manifest links to a catalogue record via the [`seeAlso`](prezi-40-model-seeAlso) property, which is intended for machine-readable resources. The [`homepage`](prezi-40-model-homepage) property links to the museum's web page about the painting, and is intended for humans. A viewer displays the latter link for the user to click on, but is unlikely to display the former (the user would just see the JSON at the other end).
2566
+
2567
+
```
2568
+
artwork with seeAlso, rendering, partOf (link to ../c19-french-painting or something)
2569
+
2570
+
(maybe the seeAlso is to a linked art description)
2571
+
```
2572
+
2573
+
There is one Canvas, and it has a [`rendering`](prezi-40-model-rendering) property linking to a single high resolution tiff file. This link is for human consumers and would typically be displayed as a download option.
2574
+
2575
+
The Manifest also has a [`partOf`](prezi-40-model-partOf) property that links to several IIIF Collections that contain a reference to it in their `items` properties. The [`partOf`](prezi-40-model-partOf) property allows a Manifest to assert its place in any hierarchical relationship, such as an archival description, or a volume of a periodical, allowing the user (or machines) to navigate "up" the hierarchy and explore further.
2576
+
2577
+
Another common use of [`rendering`](prezi-40-model-rendering) is at the Manifest level, to download a single resource that represents the entire Manifest. For example, the Manifest for a 100-page printed book has 100 canvases, which generate a paged user experience in a viewer. The publisher also links to a PDF representation, a plain text representation, and an ePub representation via the `rendering` property - all representations that a user could download and use offline. Each Canvas could also link to a single text file of the text of that page.
2578
+
2579
+
```jsonc
2580
+
{
2581
+
"id":"https://example.com/books/1",
2582
+
"type":"Manifest",
2583
+
"label": { "en": ["Book1"]},
2584
+
"items": [ {} ], // Canvases omitted
2585
+
"rendering": [
2586
+
{
2587
+
"id":"https://example.com/books/1.pdf",
2588
+
"label": { "en": ["PDF of Book1, with hi-res images and searchable and selectable text (large!)"]},
2589
+
"type":"Text",
2590
+
"format":"application/pdf",
2591
+
"fileSize":132465987
2592
+
},
2593
+
{
2594
+
"id":"https://example.com/books/1.txt",
2595
+
"label": { "en": ["Plain text of Book1"]},
2596
+
"type":"Text",
2597
+
"format":"text/plain",
2598
+
"fileSize":46004
2599
+
},
2600
+
{
2601
+
"id":"https://example.com/books/1.epub",
2602
+
"label": { "en": ["EPub of Book1"]},
2603
+
"type":"Text",
2604
+
"format":"application/epub+zip",
2605
+
"profile":"https://www.w3.org/TR/epub-33/",
2606
+
"fileSize":7845277
2607
+
}
2608
+
]
2609
+
}
2610
+
```
2611
+
2612
+
This example also shows how the [`fileSize`](prezi-40-model-fileSize) property can give useful information to a user when deciding what they want to download.
2613
+
2614
+
## Services
2615
+
2616
+
In many of the examples in this specification an image resource has an associated [IIIF Image API][image-api] Service. This is the most common use of [`service`](prezi-40-model-service) in IIIF, but other types of service are defined by IIIF specifications or available as extensions. Rather than just offer the link for download, the client is expected to interact with the service on the user's behalf. For the Image API, this usually means generating multiple requests for image tiles at the appropriate zoom level. For the [IIIF Search API][search-api], this means accepting user query terms, sending them to the search service endpoint, and rendering the results for further interaction (typically navigation to the result location within the Manifest).
2617
+
2618
+
Further IIIF Services are provided by the [IIIF Authorization Flow API](auth-api), which provides endpoints for a client to learn about a user's current access to a resource, and guide them through the publisher's access control arrangements if they do not have permission, so that they can (if authorised) acquire whatever credentials the publisher requires.
2619
+
2620
+
Ad hoc third party services can be developed for specific needs (with no expectation that a general-purpose IIIF client would know what to do with them).
2621
+
2622
+
## Content State
2623
+
2624
+
Links to resources and services build up a web of linked _*content*_ for human and machine consumers to interact with. The [IIIF Content State API](content-state-api) defines mechanisms for IIIF software implementations to exchange references to this content, including arbitrarily fine-grained pointers into large IIIF resources. A Content State is simply a fragment of the IIIF Presentation API, wrapped in a _Content State Annotation_, with enough information for software receiving that fragment to load it and (typically) direct the user's attention to the referenced point. A bookmark or citation could be passed between users via save and load functionality in viewers that understand Content State.
2625
+
2626
+
```
2627
+
(region of a Canvas that is partOf a Manifest)
2628
+
```
2567
2629
2568
-
Talk about Content State and use the phrase "Content State Annotations" - how you transmit IIIF from software to software.
2569
2630
2570
-
## Authentication
2631
+
> More normative language about auth - does this belong here?
2571
2632
2572
-
It is possible to include Image API service descriptions within the Manifest, and within those it is also possible to include links to the Authentication API's services that are needed to interact with the image content. The first time an Authentication API service is included within a Manifest, it _MUST_ be the complete description. Subsequent references _SHOULD_ be just the URI of the service, and clients are expected to look up the details from the full description by matching the URI. Clients _MUST_ anticipate situations where the Authentication service description in the Manifest is out of date: the source of truth is the Image Information document, or other system that references the Authentication API services.
2633
+
The first time an Authentication API service is included within a Manifest, it _MUST_ be the complete description. Subsequent references _SHOULD_ be just the URI of the service, and clients are expected to look up the details from the full description by matching the URI. Clients _MUST_ anticipate situations where the Authentication service description in the Manifest is out of date: the source of truth is the Image Information document, or other system that references the Authentication API services.
0 commit comments