IIIF
Die Universitätsbibliothek Leipzig (UBL) stellt den Zugang zu ihren hochwertigen Digitalisaten flächendeckend nach den API-Standards des International Image Interoperability Framework (IIIF) bereit. Dabei handelt es sich um einen modernen, auf JSON-LD beruhenden Standard.
Die IIIF APIs eignen sich besonders gut dafür, Bildinhalte der UBL direkt in eigenen Websites, Anwendungen und Apps einzubinden, ohne die Bilder kopieren oder bearbeiten zu müssen. Mit IIIF steht eine Schnittstelle bereit, die es erlaubt, aus eigenen Anwendungen heraus dynamisch auf den reichen Datenbestand der UBL zugreifen zu können.
Den Spezifikationen von IIIF folgend sind die Bestände der UBL hierarchisch in Collections untergliedert, bibliographische Einheiten werden von Manifesten repräsentiert. Beides erfolgt nach den Festlegungen der IIIF Presentation API. Aus den Manifesten heraus ist der Zugriff auf die eigentlichen Digitalisate nach den Festlegungen der IIIF Image API möglich.
Zum gegenwärtigen Zeitpunkt unterstützt die UBL die Version 2 der IIIF API Standards. Für eine Beschreibung aller Funktionen der APIs lesen Sie bitte die Beschreibungen auf https://iiif.io
Collections
Der Einstieg in die Sammlungen der UBL erfolgt über die Collections auf der obersten Ebene:
https://iiif.ub.uni-leipzig.de/static/collections/toplevel.json
{ "@context" : "http://iiif.io/api/presentation/2/context.json", "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/toplevel.json", "@type" : "sc:Collection", "label" : "IIIF Collection for Leipzig University Library", "description" : "Collection for all IIIF manifests which are produced by the Leipzig University Library.", "collections" : [ { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke16/collection.json", "@type" : "sc:Collection", "label" : "Drucke des 16. Jahrhunderts", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/LeipzigerVerlage/collection.json", "@type" : "sc:Collection", "label" : "Leipziger Verlage", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke17/collection.json", "@type" : "sc:Collection", "label" : "Drucke des 17. Jahrhunderts", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json", "@type" : "sc:Collection", "label" : "Buchhandschriften", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/MittelalterHandschriften/collection.json", "@type" : "sc:Collection", "label" : "Abendländische mittelalterliche Handschriften", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/NachlassWustmann/collection.json", "@type" : "sc:Collection", "label" : "Nachlass Wustmann - Autographensammlung Wustmann [NL 297/4]", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke15/collection.json", "@type" : "sc:Collection", "label" : "Drucke des 15. Jahrhunderts", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke19/collection.json", "@type" : "sc:Collection", "label" : "Drucke des 19. Jahrhunderts", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/GriechischeHandschriften/collection.json", "@type" : "sc:Collection", "label" : "Griechische Handschriften", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke20/collection.json", "@type" : "sc:Collection", "label" : "Drucke des 20. Jahrhunderts", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/AbendNeuzeitHandschriften/collection.json", "@type" : "sc:Collection", "label" : "Abendländische neuzeitliche Handschriften", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke18/collection.json", "@type" : "sc:Collection", "label" : "Drucke des 18. Jahrhunderts", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }, { "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/NeuzeitHandschriften/collection.json", "@type" : "sc:Collection", "label" : "Neuzeitliche Handschriften", "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } } ], "attribution" : "Provided by Leipzig University Library", "logo" : { "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png", "format" : "image/png" } }
Untergeordnete Sammlungen sind im JSON verknüpft und können entsprechend nachverfolgt werden:
https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json
{ "@context" : "http://iiif.io/api/presentation/2/context.json", "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json", "@type" : "sc:Collection", "label" : "Buchhandschriften", "manifests" : [ { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000003244/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 53" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000003909/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 424" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004134/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 671" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004357/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1529" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000003895/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 400" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000003630/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 335" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004473/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. Civ. Lips. 1" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000003163/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 21" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000002958/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 96" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000005430/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Rep. II 120 (Leihgabe Leipziger Stadtbibliothek)" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000003262/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 56" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004611/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1311" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004626/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1574" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000001780/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 150" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004574/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1313" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000003670/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 339" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004470/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1033" }, { "@type" : "sc:Manifest", "@id" : "https://iiif.ub.uni-leipzig.de/0000004604/manifest.json", "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 412" }]}
Manifeste
Collections der untersten Ebene verweisen auf die Manifeste der ihnen zugeordneten bibliographischen Einheiten. Dies können ebenfalls per HTTPS abgerufen werden.
https://iiif.ub.uni-leipzig.de/0000004604/manifest.json
Images
In den Manifesten finden sich Verweise auf die Schnittstellen der IIIF Image API:
https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx
Die IIIF Image API eignet sich ausgezeichnet, digitale Bildinhalte direkt in andere Anwendungen zu integrieren. Fast alle Digitalisate der UBL werden unter offenen Lizenzen zur Verfügung gestellt und können somit in wissenschaftlichen, künstlerischen und auch kommerziellen Projekten verwendet werden.
Durch das Anhängen der Zeichenkette „info.json” sind die Informationen zum jeweiligen Digitalisat entsprechend der IIIF Image API zu erhalten.
https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/info.json
{ "@context" : "http://iiif.io/api/image/2/context.json", "@id" : "https://iiif.ub.uni-leipzig.de/fcgi-bin/iipsrv.fcgi?iiif=/j2k/0000/0046/0000004604/00000084.jpx", "protocol" : "http://iiif.io/api/image", "width" : 3840, "height" : 5760, "tiles" : [ { "width" : 256, "height" : 256, "scaleFactors" : [ 1, 2, 4, 8, 16, 32 ] } ], "profile" : [ "http://iiif.io/api/image/2/level1.json", { "formats" : [ "jpg" ], "qualities" : [ "native","color","gray" ], "supports" : ["regionByPct","sizeByForcedWh","sizeByWh","sizeAboveFull","rotationBy90s","mirroring","gray"] } ] }
Entsprechend der API-Spezifikation kann nun auf die eigentlichen Bilddaten zugegriffen werden. Das gesamte Bild in maximaler Auflösung und Qualität erhält man durch Anhängen der Zeichenkette /full/full/0/default.jpeg:
https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/full/full/0/default.jpg
Die Bilddaten können vom Server jedoch auch skaliert ausgeliefert werden, hier ein Beispiel, skaliert auf 300 Pixel Höhe.
https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/full/,300/0/default.jpg
Statt des Gesamtbildes kann der IIIF Server auch Bildausschnitte liefern. Hier beispielsweise ein Bildausschnitt mit Koordinaten x=1050, y=500, w=900, h=900, skaliert auf 200 Pixel Breite.
Der Bildausschnitt kann auch in rotierter Form (90 Grad im Uhrzeigersinn)…
… und in Graustufen ausgeliefert werden.
Detailliertere Informationen rund um die IIIF APIs erhalten Sie auf der Website https://iiif.io.
Haben Sie Fragen zur Nutzung unserer APIs oder möchten sie selbst IIIF APIs implementieren, so kontaktieren Sie uns gern.
Weiterführende Informationen
Welche Angebote die UBL Endnutzern auf der Basis der IIIF APIs anbietet, haben wir in einem separaten Beitrag zusammengefasst.
Viele weiterführende Informationen zu den IIIF API Standards finden sich auf der Website https://iiif.io
Eine Liste von beispielhaften Anwendungen, Frameworks und dergleichen wird hier gepflegt: https://github.com/IIIF/awesome-iiif
Eine Auswahl anderer IIIF Collections finden sich bspw. hier: https://github.com/ryanfb/iiif-universe/blob/gh-pages/iiif-universe.json