DjVu-Viewer Integration: Unterschied zwischen den Versionen
Wf (Diskussion | Beiträge) |
Wf (Diskussion | Beiträge) |
||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 21: | Zeile 21: | ||
| Produktion || https://wiki.genealogy.net || hetzner | | Produktion || https://wiki.genealogy.net || hetzner | ||
|} | |} | ||
== DjVu-Viewer == | |||
* http://djvu.bitplan.de - auf diesem Server (djvu-viewer.genealogy.net DNS Eintrag in Arbeit ) | |||
* http://djvu.bitplan.com - fur.bitplan.com (nur Intranet) | |||
== Hintergrund == | == Hintergrund == | ||
| Zeile 89: | Zeile 92: | ||
== Vorgehen == | == Vorgehen == | ||
<code>djvu_migration.py</code> — Teil des [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer]-Projekts — kapselt | <code>djvu_migration.py</code> — Teil des [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer]-Projekts — kapselt die notwendigen Migrations Schritte: | ||
# Batch auswählen (z.B. <code>--prefix A</code> für alle Dateien mit Anfangsbuchstabe A) | # Batch auswählen (z.B. <code>--prefix A</code> für alle Dateien mit Anfangsbuchstabe A) | ||
# Drei Quellen zu den betroffenen DjVu-Dateien abfragen und Ergebnisse zusammenführen | # Drei Quellen zu den betroffenen DjVu-Dateien abfragen und Ergebnisse zusammenführen | ||
# DjVu-Dateien unter Bewahrung der Timestamps kopieren | # DjVu-Dateien unter Bewahrung der Timestamps kopieren | ||
# Hard-Links zwischen den Wikis erstellen | |||
# Wiki-Seiten im djvu-wiki systematisch erstellen mit [[Vorlage:DjVuViewer]] und [[Vorlage:GOV]] | # Wiki-Seiten im djvu-wiki systematisch erstellen mit [[Vorlage:DjVuViewer]] und [[Vorlage:GOV]] | ||
# Statistik ausgeben: erfolgreich / Fehler / übersprungen — mit Ursachen (eigenartige Codierung, unvollständige Dateien u.a.) | # Statistik ausgeben: erfolgreich / Fehler / übersprungen — mit Ursachen (eigenartige Codierung, unvollständige Dateien u.a.) | ||
Aktuelle Version vom 20. Februar 2026, 15:44 Uhr
DjVu-Viewer Integration
Gitlab
Server-Topologie
| wikiId | URL | Standort |
|---|---|---|
djvu-wiki |
http://djvu-wiki.genealogy.net | vm2180 (dieser Server) |
genwiki-farm |
http://genwiki-farm.genealogy.net | vm2180 (dieser Server) |
genwiki39e |
http://genwiki39e.genealogy.net | vm2180 (dieser Server) |
genwiki39 |
https://genwiki39.genealogy.net | separater öffentlicher Docker-Server |
genwiki39d |
http://genwiki39d.bitplan.com | fur.bitplan.com (nur Intranet) |
| Produktion | https://wiki.genealogy.net | hetzner |
DjVu-Viewer
- http://djvu.bitplan.de - auf diesem Server (djvu-viewer.genealogy.net DNS Eintrag in Arbeit )
- http://djvu.bitplan.com - fur.bitplan.com (nur Intranet)
Hintergrund
- Ursprung: DjVu-Thumbnails werden überhaupt nicht erzeugt (2017)
- 1,5 Jahre Entwicklung → djvu-viewer - see wiki.bitplan.com/Djvu-viewer
- Grundursache: Nicht-gebündelte (indirekte) DjVu-Dateien verursachen
DjVuImage::getMultiPageInfo: multi-page DJVU file contained no pages - Lösung: Ausschließlich gebündelte DjVu-Dateien verwenden
- Zukünftiges Ziel: djvu-viewer liest
.djvu-Dateien direkt ohne Tar-Pakete
Speicherplatz-Beschränkungen
- vm2180 hat ~2TB — ausreichend nur für Dateien mit Präfix A/B
- 333 gebündelte A/B-Dateien haben Tar-Pakete in
/genwiki/djvu_images/ - Originale
.djvu-Dateien liegen auffur.bitplan.com:/hd/luxio/genwiki/images/ - djvu-viewer (nur Intranet) verwendet derzeit Tar-Pakete; direkte
.djvu-Lesefunktion geplant
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 |
Demo-Dateien
Logarithmische Seitengrößen, alle gebündelt, alle mit Dateinamen-Präfix A oder B, alle mit Tar-Paketen.
Hinweis: AB1934-Oelde.djvu enthält zwar "Oelde" im Namen, fängt aber mit A an.
| Datei | Seiten | Größe | Hash-Pfad |
|---|---|---|---|
AB1938_Kreis-Beckum_Inhaltsverz.djvu |
3 | 50 KB | c/c7
|
Auenheim-Frauweiler_Dokument-1693-03-09.djvu |
10 | 3,9 MB | b/b8
|
AB1934-Oelde.djvu |
105 | 4,1 MB | 5/54
|
Adressbuch_Husum_1900.djvu |
313 | 7,7 MB | d/d1
|
Aachen-Burtscheit-AB-1887.djvu |
676 | 57 MB | a/a0
|
Vorgehen
djvu_migration.py — Teil des djvu-viewer-Projekts — kapselt die notwendigen Migrations Schritte:
- Batch auswählen (z.B.
--prefix Afür alle Dateien mit Anfangsbuchstabe A) - Drei Quellen zu den betroffenen DjVu-Dateien abfragen und Ergebnisse zusammenführen
- DjVu-Dateien unter Bewahrung der Timestamps kopieren
- Hard-Links zwischen den Wikis erstellen
- Wiki-Seiten im djvu-wiki systematisch erstellen mit Vorlage:DjVuViewer und Vorlage:GOV
- 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.