Skip to content

feat: onboard additional IIIF libraries through a shared provider architecture #105

Description

@nikazzio

Summary

Onboard additional libraries through the shared provider architecture. Includes IIIF-native providers AND non-IIIF Italian providers accessible via MAG/XML API.

Depends on #104.#104 CLOSED ✅


🟢 IIIF nativo — confermato live

Tier A — implementazione eccellente, alta priorità

Biblioteca Paese Endpoint Note
Bayerische Staatsbibliothek (BSB) 🇩🇪 api.digitale-sammlungen.de/iiif/presentation/v2/{id}/manifest v2 verificato. Enorme collezione, molti manoscritti italiani. SRU+OAI per ricerca.
Österr. Nationalbibliothek (ÖNB) 🇦🇹 api.onb.ac.at/iiif/presentation/v3/manifest/{id} v3 verificato. Codici medievali e archivi imperiali.
Wellcome Collection 🇬🇧 wellcomelibrary.org/iiif/{id}/manifest v2. Search API integrata. Focus medicina/scienza.
UB Leipzig 🇩🇪 iiif.ub.uni-leipzig.de/{id}/manifest.json v2 verificato. Manoscritti medievali, public domain.

Tier B — spike breve prima di implementare

  • Estense Digital Library (Modena) — IIIF nativo probabile, endpoint da trovare
  • Handschriftenportal HSP (Germania) — aggrega tutte le biblioteche tedesche
  • National Library of Scotland
  • BVMM / IRHT-CNRS (manoscritti miniati francesi)
  • e-manuscripta.ch (Zurigo, Basilea, Berna)

DSpace/GLAM (un resolver parametrizzato per tutti)

  • Digital Library Pavia
  • Biblioteca Civica Rovereto

🇮🇹 Provider italiani — Internet Culturale (MAG/XML API)

Scoperta chiave: le grandi biblioteche italiane (BML, Marciana, BNCF, BNCR) non espongono IIIF, ma Internet Culturale (ICCU) ha una API XML pubblica (formato MAG) che le copre tutte.

API

# Lista pagine con URL immagini:
GET https://www.internetculturale.it/jmms/magparser?id={oai_id}&teca={teca}&mode=all&offset=0&pag={n}

# Immagine singola:
GET https://www.internetculturale.it/jmms/thumbnail?type=normal&id={oai_id}&teca={teca}&page={n}

# Ricerca:
GET https://www.internetculturale.it/it/16/search?q={query}&instance=magindice&searchType=avanzato&channel__typeTipo=Manoscritto

Biblioteche coperte (un resolver unico)

Biblioteca teca_id Verifica
Biblioteca Nazionale Marciana (Venezia) marciana ✅ live
Biblioteca Medicea Laurenziana (Firenze) Laurenziana - FI ✅ live
BNCF (Firenze) da trovare 🔍
BNCR (Roma) da trovare 🔍
+ ~50 istituzioni partner ICCU vari

Limitazione: immagini JPEG ~1500-2000px, non tile IIIF. Qualità inferiore ma accettabile.


Fuori portata

  • Biblioteca Ambrosiana — viewer proprietario
  • MLOL (Gazzetta Parma, Fondo Canova) — login richiesto

Ordine di implementazione suggerito

  1. BSB — IIIF v2, massimo valore immediato
  2. ÖNB — IIIF v3
  3. Internet Culturale — sblocca BML + Marciana + BNCF in un colpo solo
  4. Estense — spike + implementazione se confermato
  5. Wellcome — IIIF v2 con search API
  6. DSpace (Pavia, Rovereto) — resolver parametrizzato
  7. HSP, NLS, BVMM, e-manuscripta — spike + implementazione

Acceptance Criteria

  • Ogni provider risolve pagine/manifesti validi in Discovery e CLI.
  • La ricerca è opzionale; direct-resolution-first accettabile dove search pubblica è debole.
  • Provider esistenti non regrediscono.
  • Issue Aggiungere librerie IIIF #26 superseded da questa epic.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions