Skip to content

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

@nikazzio

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions