Case 1: You provide IIIF images and a manifest
What you need to do when a manifest is available:
Follow all steps on the EDM_IIIF Pattern page:
provide the IIIF image in the correct field (
edm:isShownBy
oredm:hasView
), and as a WebResource, making sure the Request URI Syntax matches the requirementsflag the WebResource as IIIF-compliant
indicate a level of IIIF implementation
provide access to a IIIF manifest (within
dcterms:isReferencedBy
)
An example can be found here:
Leiden University Libraries (See the example xml in the grey box below)
What we do when you provide both IIIF images and a manifest:
we support both IIIF Presentation API v2 and v3
we use Mirador v3.0.0 (latest version) since the new portal went live April 2020
has custom plugins to handle search & fulltext
view is configured for one window
Example of EDM record implementing all steps:
<ore:Aggregation rdf:about="[...]"> [...] <edm:isShownBy rdf:resource="https://iiif.universiteitleiden.nl/iiif/2/hdl%3A1887.1%2Fitem%3A3280522/full/full/0/default.jpg"> [...] </ore:Aggregation> <edm:WebResource rdf:about="https://iiif.universiteitleiden.nl/iiif/2/hdl%3A1887.1%2Fitem%3A3280522/full/full/0/default.jpg"> <dcterms:isReferencedBy rdf:resource="https://digitalcollections.universiteitleiden.nl/iiif_manifest/item:3280522/manifest"/> <svcs:has_service rdf:resource="https://iiif.universiteitleiden.nl/iiif/2/hdl%3A1887.1%2Fitem%3A3280522"/> </edm:WebResource> <svcs:Service rdf:about="https://iiif.universiteitleiden.nl/iiif/2/hdl%3A1887.1%2Fitem%3A3280522"> <dcterms:conformsTo rdf:resource="http://iiif.io/api/image"/> <doap:implements rdf:resource="http://iiif.io/api/image/2/level2.json"/> </svcs:Service>
Case 2: You provide IIIF images but no manifest
What you need to do when a manifest is not available:
Follow step 1, 2 and 3 on the EDM_IIIF Pattern page:
provide the IIIF image in the correct field (
edm:isShownBy
oredm:hasView
), and as a WebResource, making sure the Request URI Syntax matches the requirementsflag the WebResource as IIIF-compliant
indicate a level of IIIF implementation
Step 4, providing a manifest, can be left out. (See the grey text box below)
An example can be found here:
Example Graz The value of
dcterms:isReferencedBy
is not provided by the institution, but generated by Europeana. This generated manifest can now be used anywhere as a reference to this IIIF resource.
What we do when a manifest is not available:
we generate one automatically and on demand out of EDM
we support both IIIF Presentation API v2 and v3
we use Mirador v3.0.0 (latest version) since the new portal went live April 2020
has custom plugins to handle search & fulltext
view is configured for one window
Example of EDM record implementing all steps EXCEPT the definition of the IIIF manifest (for IIIF service supporting only image request calls)
<ore:Aggregation rdf:about="[...]"> [...] <edm:isShownBy rdf:resource="http://iiif.europeana.eu/AZ_1927_01_04_0001/full/full/0/default.jpg"> [...] </ore:Aggregation> <edm:WebResource rdf:about="http://iiif.europeana.eu/AZ_1927_01_04_0001/full/full/0/default.jpg"> <svcs:has_service rdf:resource="http://iiif.europeana.eu/AZ_1927_01_04_0001"/> </edm:WebResource> <svcs:Service rdf:about="http://iiif.europeana.eu/AZ_1927_01_04_0001"> <dcterms:conformsTo rdf:resource="http://iiif.io/api/image"/> <doap:implements rdf:resource="http://iiif.io/api/image/2/level1.json"/> </svcs:Service>
Example from the Newspaper Collection
Case 3: You don’t provide images but have a manifest
What you need to do when you don’t provide images but have a manifest:
Open your manifest
Fill out the value you you take from
resource @id
inedm:isShownBy
oredm:hasView
and in the classedm:WebResource
Add your manifest-link to the
dcterms:isReferencedBy
inedm:WebResource
Add a class
svcs:Service
, fill this out using the value you take from your manifest inservice @id
and connect it to theedm:WebResource
class usingsvcs:has_service
Indicate that the WebService conforms to (
dcterms:conformsTo
) the IIIF profile. The value ofdcterms:conformsTo
MUST be the URI http://iiif.io/api/image
What we do when you dont provide images but have a manifest
We are able to process your data as any other IIIF record, after you have taken the steps above.
Example of an EDM record implementing all steps of the pattern (including the optional steps)
<ore:Aggregation rdf:about="[...]"> [...] <edm:isShownBy rdf:resource="http://dams.llgc.org.uk/iiif/image/2.0/1294670/full/512,/0/default.jpg"> [...] </ore:Aggregation> <edm:WebResource rdf:about="http://dams.llgc.org.uk/iiif/image/2.0/1294670/full/512,/0/default.jpg"> <svcs:has_service rdf:resource="http://dams.llgc.org.uk/iiif/image/2.0/1294670"/> <dcterms:isReferencedBy rdf:resource="http://dams.llgc.org.uk/iiif/2.0/1294670/manifest.json"/> </edm:WebResource> <svcs:Service rdf:about="http://dams.llgc.org.uk/iiif/image/2.0/1294670"> <dcterms:conformsTo rdf:resource="http://iiif.io/api/image"/> <doap:implements rdf:resource="http://iiif.io/api/image/2/level1.json"> </svcs:Service>
Note that the set of parameters available as part of the URI <edm:isShownBy rdf:resource="http://iiif.europeana.eu/AZ_1927_01_04_0001/full/full/0/default.jpg">
will vary depending on the image the data provider wants to make available.
Documentation update and edit history
V 1.3 - Examples and text added and reorganised (tobe confirmed/date updated) Lianne Heslinga (EF)
V 1.2 - Correct examples added with links to Europeana Collections (tobe confirmed/date updated) Adina Ciocoiu, Hugo Manguinhas (EF)
V 1.1 - Updated version with input from Fiona Mowat, Antoine Isaac (EF)
V1.0 - Final version by Valentine Charles
V0.2 - New version of the document after the comments from David Haskiya and Glen Robson, and the input from Mark Matienzo, Karen Estlund and Rob Sanderson during the LDCX conference by Antoine Isaac (EF)
V0.1 - First draft version based on the EuropeanaCloud project deliverable by Valentine Charles (EF)
Add Comment