Mercurial > hg > digilib
annotate doc/src/site/markdown/iiif-api.md @ 1635:cd45d49f438d
cleanup and add doc about Manifester servlet.
author | robcast |
---|---|
date | Fri, 02 Jun 2017 19:01:36 +0200 |
parents | 1616ea719290 |
children | b234dd84320d |
rev | line source |
---|---|
1396
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
1 # The digilib IIIF API |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
2 |
1635 | 3 ## IIIF Image API |
4 | |
1396
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
5 The Scaler servlet provides not only its native [Scaler API](scaler-api.html) but also an API compliant to the standards of the International Image Interoperability Framework http://iiif.io. |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
6 |
1635 | 7 As of version 2.3.7 digilib supports the [IIIF Image API version 2](http://iiif.io/api/image/2.1/) at [compliance level 2](http://iiif.io/api/image/2.0/compliance.html). You can switch between API version 1.1 and 2.0 support with the `iiif-api-version` parameter in [digilib-config](digilib-config.html), |
1396
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
8 |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
9 IIIF Image API URLs for an image request have the form: |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
10 |
1452
9429bb9c3a42
more IIIF API support (expose size of prescaled images).
robcast
parents:
1427
diff
changeset
|
11 http[s]://{server}/{digilib-webapp}/Scaler/{iiif-prefix}/{identifier}/{region}/{size}/{rotation}/{quality}.{format} |
1396
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
12 |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
13 where `digilib-webapp` is the name of the digilib web application in the servlet container. |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
14 |
1452
9429bb9c3a42
more IIIF API support (expose size of prescaled images).
robcast
parents:
1427
diff
changeset
|
15 The value of `iiif-prefix` is defined by the `iiif-prefix` parameter in [digilib-config](digilib-config.html). The default value is "IIIF". |
1396
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
16 |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
17 The `identifier` part of the URL must not contain slashes. Since the identifier is mapped to the digilib fn-parameter, which is a filesystem path that likely contains slashes separating subdirectories, all occurrences of a slash have to be replaced by the value of the `iiif-slash-replacement` parameter in [digilib-config](digilib-config.html). The default value of the replacement string is "!", so the fn-path "books/book1/page0002" becomes the identifier "books!book1!page0002". |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
18 |
1452
9429bb9c3a42
more IIIF API support (expose size of prescaled images).
robcast
parents:
1427
diff
changeset
|
19 For a definition of the other parameters `region`, `size`, `rotation`, `quality`, and `format` please see the [IIIF Image API docs](http://iiif.io/api/image/2.0/). |
1396
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
20 |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
21 A IIIF Image API image request URL could look like: |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
22 |
1452
9429bb9c3a42
more IIIF API support (expose size of prescaled images).
robcast
parents:
1427
diff
changeset
|
23 http://www.example.org/digilib/Scaler/IIIF/books!book1!page0002/full/!150,75/0/default.jpg |
1396
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
24 |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
25 An info request URL for the same image looks like: |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
26 |
7a2de95a7b8e
documentation updated with Ubbo's codec tuning tips and IIIF API info.
robcast
parents:
diff
changeset
|
27 http://www.example.org/digilib/Scaler/IIIF/books!book1!page0002/info.json |
1635 | 28 |
29 ## IIIF Presentation API | |
30 | |
31 As of version 2.5.3 digilib provides the optional Manifester servlet that generates simple [IIIF Presentation API version 2](http://iiif.io/api/presentation/2.1) manifests that can be used with any [IIIF viewer](http://iiif.io/apps-demos/#image-viewing-clients) to navigate a directory full of images with the functions of a book-reader or light-table. | |
32 | |
33 To build digilib with the Manifester servlet you need to add the `iiif-presentation` profile to your Maven build: | |
34 | |
35 mvn -Piiif-presentation package | |
36 | |
37 (or use the digilib-webapp-X.X.X-srv3p.war file from the website) | |
38 | |
39 The Manifester servlet URLs have the form: | |
40 | |
41 http[s]://{server}/{digilib-webapp}/Manifester/{iiif-prefix}/{identifier} | |
42 | |
43 So you can get a manifest for all images in the directory `/books/book1` with a URL like: | |
44 | |
45 http://www.example.org/digilib/Manifester/IIIF/books!book1 | |
46 | |
47 To try out a viewer on your manifest you can go to the website of the Universal Viewer [http://universalviewer.io/](http://universalviewer.io/) and enter the URL of your manifest in the "view a manifest" box on the page. This will work even with a local digilib installation since the Javascript in your Browser reads and interprets the manifest. |