DjVu-Viewer Integration

Aus djvu-wiki
Version vom 20. Februar 2026, 15:30 Uhr von Wf (Diskussion | Beiträge) (Seite von Bash-Geframpel zu Projektbeschreibung umgeschrieben: Aufgabe, Ziele, drei Quellen, Vorgehen)
Zur Navigation springen Zur Suche springen

DjVu-Viewer Integration

Aufgabe

Das GenWiki wird von MediaWiki 1.35 auf MediaWiki 1.39 LTS migriert (siehe Migration2025-11). Die DjVu-Anzeige ist eines von drei Kernproblemen dieser Migration.

Das GenWiki enthält ca. 4000 DjVu-Dateien — überwiegend genealogische Adressbücher — die mit Orten im GOV (Genealogisches Ortsverzeichnis) verknüpft sind. Ca. 50% dieser Dateien lagen unbundled vor, was zusammen mit einzeln gespeicherten Thumbnails zu einem Speicherbedarf von ~4 TB führte.

Der djvu-viewer löst dieses Problem durch Konvertierung zu gebündelten TAR-Paketen. Auf fur.bitplan.com sind die Dateien bereits vorbereitet:

  • /hd/yuyu (4 TB SSD) — konvertierte TAR-Pakete (1,8 TB), bis auf 10 Fehler vollständig
  • /hd/luxio (10 TB HDD) — gebündelte .djvu-Dateien

Da vm2180 nur ~1 TB Platz hat, werden zunächst die Dateien mit Präfix A und B (333 Dateien) übertragen. Das djvu-wiki dient als Testumgebung; Hardlinks nach genwiki39e stellen sicher dass das zukünftige Produktivwiki dieselben Dateien ohne Zusatzspeicher nutzen kann.

Ziele

  • Optische Prüfung: DjVu-Seiten werden im djvu-wiki systematisch dargestellt und sind visuell prüfbar
  • Semantische Prüfung: GOV-Verknüpfungen bleiben erhalten und sind per SMW-Query abfragbar (siehe Semantifizierung)
  • Batch-Verarbeitung: komplette Anfangsbuchstaben werden in einem Durchgang migriert, mit Statistik über Erfolge und Probleme
  • Farm-Ansatz: Die Query-Patterns sind für alle Wikis der Farm wiederverwendbar — DjVu ist ein Thema, GOV ein anderes, dasselbe Werkzeug bedient beides

Drei Quellen — eine Abfragesprache

Alle Quellen werden über named parameterized queries abgefragt — ob SQL, SPARQL oder SMW-Ask spielt keine Rolle. Das Muster kommt aus dem genwiki2024-Projekt:

Quelle Inhalt Beispiel-Queries
Wiki-Datenbank (MariaDB) Welche DjVu-Dateien und Wiki-Seiten existieren wiki_queries.yaml
DjVu-Viewer Datenbank (SQLite) Konvertierungsstatus, Seitenanzahl, Fehler, gebündelt ja/nein queries.yaml
GOV (SPARQL / pyomnigraph) Ortsverknüpfungen zu den Dokumenten gov-queries.yaml

Vorgehen

djvu_migration.py — Teil des djvu-viewer-Projekts — kapselt alle Schritte:

  1. Batch auswählen (z.B. --prefix A für alle Dateien mit Anfangsbuchstabe A)
  2. Drei Quellen abfragen und Ergebnisse zusammenführen
  3. Wiki-Seiten im djvu-wiki systematisch erstellen mit Vorlage:DjvuViewer und Vorlage:GOV
  4. Statistik ausgeben: erfolgreich / Fehler / übersprungen — mit Ursachen (eigenartige Codierung, unvollständige Dateien u.a.)

Fehlerbehandlung und Batch-Logik werden aus dem bestehenden djvu-viewer übernommen.

Server-Topologie

wikiId URL Standort
djvu-wiki djvu-wiki.genealogy.net vm2180 — Testumgebung
genwiki39e genwiki39e.genealogy.net vm2180 — zukünftiges Produktivwiki
genwiki-farm genwiki-farm.genealogy.net vm2180 — Farm-Kern
genwiki39 genwiki39.genealogy.net separater öffentlicher Docker-Server
Produktion wiki.genealogy.net Hetzner

Gitlab

Siehe auch