Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Case 1: You provide IIIF images and a manifest

Note

What you need to do when a manifest is available:

Follow all steps on the EDM_IIIF Pattern page:

  1. provide the IIIF image in the correct field (edm:isShownBy or edm:hasView), and as a WebResource, making sure the Request URI Syntax matches the requirements

  2. flag the WebResource as IIIF-compliant

  3. indicate a level of IIIF implementation

  4. provide access to a IIIF manifest (within dcterms:isReferencedBy)

An example can be found here:

Note

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

Examples on the Europeana website & EDM xml:

View file
nameLeiden_University_Libraries_Example.xml
View file
nameHUNT_Example.xml

Example of EDM record implementing all steps:

Code Block
<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

note
Note

What you need to do when a manifest is not available:

Follow step 1, 2 and 3 on the EDM_IIIF Pattern page:

  1. provide the IIIF image in the correct field (edm:isShownBy or edm:hasView), and as a WebResource, making sure the Request URI Syntax matches the requirements

  2. flag the WebResource as IIIF-compliant

  3. 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.

  • Example Wellcome Collection

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

Examples on the Europeana website & EDM xml:

  • 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.

  • Example Wellcome Collection

View file
nameGraz_Example.xml
View file
nameWellcome_Example.xml

Example of EDM record implementing all steps EXCEPT the definition of the IIIF manifest (for IIIF service supporting only image request calls) 

Code Block
<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

...

[Additional example EKT]

...

Note

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 in edm:isShownBy or edm:hasView and in the class edm:WebResource

  • Add your manifest-link to the dcterms:isReferencedBy in edm:WebResource

  • Add a class svcs:Service, fill this out using the value you take from your manifest in service @id and connect it to the edm:WebResource class using svcs:has_service

  • Indicate that the WebService conforms to (dcterms:conformsTo) the IIIF profile. The value of dcterms:conformsTo MUST be the URI http://iiif.io/api/image

Note

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)

Code Block

<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 image URI in <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)

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@8a1
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel in ( "edm-classes" , "iiif" , "edm-properties" , "edm" ) and type = "page" and space = "EF"
labelsIIIF EDM EDM-classes EDM-properties