DjVu-Viewer Integration: Unterschied zwischen den Versionen
Wf (Diskussion | Beiträge) |
Wf (Diskussion | Beiträge) (Seite von Bash-Geframpel zu Projektbeschreibung umgeschrieben: Aufgabe, Ziele, drei Quellen, Vorgehen) Markierung: Zurückgesetzt |
||
| Zeile 1: | Zeile 1: | ||
= DjVu-Viewer Integration = | = DjVu-Viewer Integration = | ||
== | == Aufgabe == | ||
Das [https://wiki.genealogy.net GenWiki] wird von [https://www.mediawiki.org/wiki/MediaWiki_1.35/de MediaWiki 1.35] auf [https://www.mediawiki.org/wiki/MediaWiki_1.39/de MediaWiki 1.39 LTS] migriert (siehe [https://genwiki39.genealogy.net/Migration2025-11 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 [https://gov.genealogy.net 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 [https://wiki.bitplan.com/index.php/Djvu-viewer djvu-viewer] löst dieses Problem durch Konvertierung zu gebündelten TAR-Paketen. Auf <code>fur.bitplan.com</code> sind die Dateien bereits vorbereitet: | |||
* <code>/hd/yuyu</code> (4 TB SSD) — konvertierte TAR-Pakete (1,8 TB), bis auf 10 Fehler vollständig | |||
* <code>/hd/luxio</code> (10 TB HDD) — gebündelte <code>.djvu</code>-Dateien | |||
Da vm2180 nur ~1 TB Platz hat, werden zunächst die Dateien mit Präfix '''A und B''' (333 Dateien) übertragen. Das [[Hauptseite|djvu-wiki]] dient als Testumgebung; Hardlinks nach <code>genwiki39e</code> 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 [https://github.com/WolfgangFahl/genwiki2024 genwiki2024]-Projekt: | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Quelle !! Inhalt !! Beispiel-Queries | ||
|- | |- | ||
| | | Wiki-Datenbank (MariaDB) || Welche DjVu-Dateien und Wiki-Seiten existieren || [https://github.com/WolfgangFahl/genwiki2024/blob/main/genwiki_examples/wiki_queries.yaml wiki_queries.yaml] | ||
|- | |- | ||
| | | DjVu-Viewer Datenbank (SQLite) || Konvertierungsstatus, Seitenanzahl, Fehler, gebündelt ja/nein || [https://github.com/WolfgangFahl/genwiki2024/blob/main/genwiki_examples/queries.yaml queries.yaml] | ||
|- | |- | ||
| | | GOV ([https://gov.genealogy.net SPARQL] / [https://github.com/WolfgangFahl/pyomnigraph pyomnigraph]) || Ortsverknüpfungen zu den Dokumenten || [https://github.com/WolfgangFahl/genwiki2024/blob/main/genwiki_examples/gov-queries.yaml gov-queries.yaml] | ||
| | |||
| | |||
|} | |} | ||
== | == Vorgehen == | ||
<code>djvu_migration.py</code> — Teil des [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer]-Projekts — kapselt alle Schritte: | |||
# Batch auswählen (z.B. <code>--prefix A</code> für alle Dateien mit Anfangsbuchstabe A) | |||
# Drei Quellen abfragen und Ergebnisse zusammenführen | |||
# 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 [https://wiki.bitplan.com/index.php/Djvu-viewer djvu-viewer] übernommen. | |||
== | == Server-Topologie == | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! wikiId !! URL !! Standort | ||
|- | |- | ||
| <code> | | <code>djvu-wiki</code> || [http://djvu-wiki.genealogy.net djvu-wiki.genealogy.net] || vm2180 — Testumgebung | ||
|- | |- | ||
| <code> | | <code>genwiki39e</code> || [http://genwiki39e.genealogy.net genwiki39e.genealogy.net] || vm2180 — zukünftiges Produktivwiki | ||
|- | |- | ||
| <code> | | <code>genwiki-farm</code> || [http://genwiki-farm.genealogy.net genwiki-farm.genealogy.net] || vm2180 — Farm-Kern | ||
|- | |- | ||
| <code> | | <code>genwiki39</code> || [https://genwiki39.genealogy.net genwiki39.genealogy.net] || separater öffentlicher Docker-Server | ||
|- | |- | ||
| | | Produktion || [https://wiki.genealogy.net wiki.genealogy.net] || Hetzner | ||
|} | |} | ||
== | == Gitlab == | ||
* [https://gitlab.genealogy.net/genwiki/update-auf-1.39/-/issues/17 Issue #17: DjVu - temporäres Test-Wiki für DjVu-Migration] | |||
* [https://gitlab.genealogy.net/genwiki/update-auf-1.39/-/issues/53 Issue #53: Hostsharing Server] | |||
== Siehe auch == | == Siehe auch == | ||
* [[Hauptseite]] - | * [[Semantifizierung]] | ||
* [[Hauptseite]] | |||
* [https://wiki.bitplan.com/index.php/Djvu-viewer djvu-viewer Dokumentation (BITPlan Wiki)] | |||
* [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer auf GitHub] | * [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer auf GitHub] | ||
* [https:// | * [https://github.com/WolfgangFahl/genwiki2024 genwiki2024 auf GitHub] | ||
* [https://stackoverflow.com/questions/45984437/djvu-thumbnails-werden-ueberhaupt-nicht-erzeugt Ursprüngliche Problemstellung (StackOverflow)] | * [https://stackoverflow.com/questions/45984437/djvu-thumbnails-werden-ueberhaupt-nicht-erzeugt Ursprüngliche Problemstellung (StackOverflow 2017)] | ||
Version vom 20. Februar 2026, 15:30 Uhr
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:
- Batch auswählen (z.B.
--prefix Afür alle Dateien mit Anfangsbuchstabe A) - Drei Quellen abfragen und Ergebnisse zusammenführen
- 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.
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 |