DjVu-Viewer Integration: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Wf (Diskussion | Beiträge) (Seite von Bash-Geframpel zu Projektbeschreibung umgeschrieben: Aufgabe, Ziele, drei Quellen, Vorgehen) Markierung: Zurückgesetzt |
Wf (Diskussion | Beiträge) (Änderung 144 von Wf (Diskussion) rückgängig gemacht.) Markierung: Rückgängigmachung |
||
| Zeile 1: | Zeile 1: | ||
= DjVu-Viewer Integration = | = DjVu-Viewer Integration = | ||
== | == Gitlab == | ||
* [https://gitlab.genealogy.net/genwiki/update-auf-1.39/-/issues/17 Issue #17: DjVu - temporäres Test-Wiki für DjVu-Migration] | |||
== Server-Topologie == | |||
== | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! wikiId !! URL !! Standort | ||
|- | |- | ||
| | | <code>djvu-wiki</code> || http://djvu-wiki.genealogy.net || vm2180 (dieser Server) | ||
|- | |- | ||
| | | <code>genwiki-farm</code> || http://genwiki-farm.genealogy.net || vm2180 (dieser Server) | ||
|- | |- | ||
| | | <code>genwiki39e</code> || http://genwiki39e.genealogy.net || vm2180 (dieser Server) | ||
|- | |||
| <code>genwiki39</code> || https://genwiki39.genealogy.net || separater öffentlicher Docker-Server | |||
|- | |||
| <code>genwiki39d</code> || http://genwiki39d.bitplan.com || fur.bitplan.com (nur Intranet) | |||
|- | |||
| <code>djvu-viewer</code> || http://djvu.bitplan.com || fur.bitplan.com (nur Intranet) | |||
|- | |||
| Produktion || https://wiki.genealogy.net || hetzner | |||
|} | |} | ||
== | == Hintergrund == | ||
* Ursprung: [https://stackoverflow.com/questions/45984437/djvu-thumbnails-werden-ueberhaupt-nicht-erzeugt DjVu-Thumbnails werden überhaupt nicht erzeugt] (2017) | |||
* 1,5 Jahre Entwicklung → [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer] - see [https://wiki.bitplan.com/index.php/Djvu-viewer wiki.bitplan.com/Djvu-viewer] | |||
* Grundursache: Nicht-gebündelte (indirekte) DjVu-Dateien verursachen <code>DjVuImage::getMultiPageInfo: multi-page DJVU file contained no pages</code> | |||
* Lösung: '''Ausschließlich gebündelte DjVu-Dateien verwenden''' | |||
* Zukünftiges Ziel: djvu-viewer liest <code>.djvu</code>-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 <code>/genwiki/djvu_images/</code> | |||
* Originale <code>.djvu</code>-Dateien liegen auf <code>fur.bitplan.com:/hd/luxio/genwiki/images/</code> | |||
* djvu-viewer (nur Intranet) verwendet derzeit Tar-Pakete; direkte <code>.djvu</code>-Lesefunktion geplant | |||
== | == Demo-Dateien == | ||
Logarithmische Seitengrößen, alle gebündelt, alle mit Dateinamen-Präfix A oder B, alle mit Tar-Paketen. | |||
Hinweis: <code>AB1934-Oelde.djvu</code> enthält zwar "Oelde" im Namen, fängt aber mit '''A''' an. | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Datei !! Seiten !! Größe !! Hash-Pfad | ||
|- | |- | ||
| <code>djvu | | <code>AB1938_Kreis-Beckum_Inhaltsverz.djvu</code> || 3 || 50 KB || <code>c/c7</code> | ||
|- | |- | ||
| <code> | | <code>Auenheim-Frauweiler_Dokument-1693-03-09.djvu</code> || 10 || 3,9 MB || <code>b/b8</code> | ||
|- | |- | ||
| <code> | | <code>AB1934-Oelde.djvu</code> || 105 || 4,1 MB || <code>5/54</code> | ||
|- | |- | ||
| <code> | | <code>Adressbuch_Husum_1900.djvu</code> || 313 || 7,7 MB || <code>d/d1</code> | ||
|- | |- | ||
| | | <code>Aachen-Burtscheit-AB-1887.djvu</code> || 676 || 57 MB || <code>a/a0</code> | ||
|} | |} | ||
== | == Einrichtungsschritte == | ||
Die folgenden Schritte werden als wiederverwendbares Skript <code>djvu-setup.sh</code> umgesetzt, | |||
damit dasselbe Verfahren später auf alle A/B-Dateien oder bei ausreichend Speicherplatz | |||
auf weitere Präfixe angewendet werden kann. | |||
=== Schritt 1 - Verzeichnisse auf vm2180 anlegen === | |||
<pre> | |||
sudo mkdir -p /var/www/mediawiki/sites/djvu-wiki.genealogy.net/images/{c/c7,b/b8,5/54,d/d1,a/a0} | |||
sudo chown -R www-data:www-data /var/www/mediawiki/sites/djvu-wiki.genealogy.net/images/ | |||
</pre> | |||
=== Schritt 2 - Dateien von fur kopieren (auf fur.bitplan.com ausführen) === | |||
Originalzeitstempel werden mit <code>-p</code> erhalten: | |||
<pre> | |||
BASE=/hd/luxio/genwiki/images | |||
VM=wf@vm2180.hostsharing.net:/var/www/mediawiki/sites/djvu-wiki.genealogy.net/images | |||
scp -p $BASE/c/c7/AB1938_Kreis-Beckum_Inhaltsverz.djvu $VM/c/c7/ | |||
scp -p $BASE/b/b8/Auenheim-Frauweiler_Dokument-1693-03-09.djvu $VM/b/b8/ | |||
scp -p $BASE/5/54/AB1934-Oelde.djvu $VM/5/54/ | |||
scp -p $BASE/d/d1/Adressbuch_Husum_1900.djvu $VM/d/d1/ | |||
scp -p $BASE/a/a0/Aachen-Burtscheit-AB-1887.djvu $VM/a/a0/ | |||
</pre> | |||
=== Schritt 3 - Hardlinks in genwiki39e erstellen (auf vm2180, kein zusätzlicher Speicher) === | |||
Hinweis: <code>genwiki39e.genealogy.net</code> ist der lokale Site-Konfigurationsverzeichnisname auf vm2180. | |||
<pre> | |||
DJVU=/var/www/mediawiki/sites/djvu-wiki.genealogy.net/images | |||
GENWIKI=/var/www/mediawiki/sites/genwiki39e.genealogy.net/images | |||
for hpath in c/c7 b/b8 5/54 d/d1 a/a0; do | |||
sudo mkdir -p $GENWIKI/$hpath | |||
done | |||
sudo ln $DJVU/c/c7/AB1938_Kreis-Beckum_Inhaltsverz.djvu $GENWIKI/c/c7/ | |||
sudo ln $DJVU/b/b8/Auenheim-Frauweiler_Dokument-1693-03-09.djvu $GENWIKI/b/b8/ | |||
sudo ln $DJVU/5/54/AB1934-Oelde.djvu $GENWIKI/5/54/ | |||
sudo ln $DJVU/d/d1/Adressbuch_Husum_1900.djvu $GENWIKI/d/d1/ | |||
sudo ln $DJVU/a/a0/Aachen-Burtscheit-AB-1887.djvu $GENWIKI/a/a0/ | |||
</pre> | |||
=== Schritt 4 - Dateien in MediaWiki via importImages.php registrieren === | |||
<pre> | |||
WIKI_SITE=djvu-wiki.genealogy.net php /var/www/mediawiki/code/maintenance/importImages.php \ | |||
--user=wf /var/www/mediawiki/sites/djvu-wiki.genealogy.net/images/ | |||
</pre> | |||
=== Schritt 5 - Datei:-Seiten von genwiki39 nach djvu-wiki via wikipush kopieren === | |||
== djvu-setup.sh == | |||
Ein Skript unter <code>/home/wf/djvu-wiki/djvu-setup.sh</code> automatisiert die Schritte 1, 3 und 4. | |||
=== Befehlsreihenfolge (muss in dieser Reihenfolge ausgeführt werden) === | |||
==== Vorschau welche Dateien verarbeitet werden ==== | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
./djvu-setup.sh --list | |||
Demo files selected from database: | |||
File Pages MB Range | |||
---- ----- -- ----- | |||
AB-Koeln-1929-1.djvu 1622 637.7 huge | |||
AC-AB-1955-56.djvu 585 446.5 large | |||
Almanach_1903_T2.djvu 144 1.6 medium | |||
AB-LK-AC_1927_C_Alsdorf.djvu 34 1.7 small | |||
Amtsblatt-RM1870_Register.djvu 9 2.9 tiny | |||
</syntaxhighlight> | |||
==== scp-Befehle ausgeben um Dateien von fur zu kopieren (auf fur.bitplan.com ausführen ==== | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
./djvu-setup.sh --scp | |||
# Run on source machine (where /hd/luxio/genwiki/images exists): | |||
VM=wf@vm2180.hostsharing.net:/var/www/mediawiki/sites/djvu-wiki.genealogy.net/images | |||
scp -p /hd/luxio/genwiki/images/8/8d/AB-Koeln-1929-1.djvu $VM/8/8d/ | |||
scp -p /hd/luxio/genwiki/images/c/c0/AC-AB-1955-56.djvu $VM/c/c0/ | |||
scp -p /hd/luxio/genwiki/images/b/bd/Almanach_1903_T2.djvu $VM/b/bd/ | |||
scp -p /hd/luxio/genwiki/images/0/01/AB-LK-AC_1927_C_Alsdorf.djvu $VM/0/01/ | |||
scp -p /hd/luxio/genwiki/images/5/5a/Amtsblatt-RM1870_Register.djvu $VM/5/5a/ | |||
AB-Koeln-1929-1.djvu 100% 638MB 23.3MB/s 00:27 | |||
AC-AB-1955-56.djvu 100% 447MB 22.9MB/s 00:19 | |||
Almanach_1903_T2.djvu 100% 1659KB 5.4MB/s 00:00 | |||
AB-LK-AC_1927_C_Alsdorf.djvu 100% 1691KB 5.6MB/s 00:00 | |||
Amtsblatt-RM1870_Register.djvu 100% 3011KB 7.4MB/s 00:00 | |||
</syntaxhighlight> | |||
==== Nach scp: Verzeichnisse erstellen und Hardlinks in genwiki39e ==== | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
sudo ./djvu-setup.sh --link | |||
Creating directories and hardlinks... | |||
</syntaxhighlight> | |||
==== Dateien in MediaWiki registrieren ==== | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
sudo ./djvu-setup.sh --import | |||
</syntaxhighlight> | |||
Oder <code>--all</code> für Schritte 3+4: | |||
<pre> | |||
sudo ./djvu-setup.sh --all # --link + --import | |||
</pre> | |||
== Siehe auch == | == Siehe auch == | ||
* [[Hauptseite]] - Übersicht des djvu-wiki | |||
* [[Hauptseite]] | |||
* [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer auf GitHub] | * [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer auf GitHub] | ||
* [https:// | * [https://wiki.bitplan.com/index.php/Djvu-viewer Djvu-viewer Dokumentation (BITPlan Wiki)] | ||
* [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)] | ||
Version vom 20. Februar 2026, 15:36 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) |
djvu-viewer |
http://djvu.bitplan.com | fur.bitplan.com (nur Intranet) |
| Produktion | https://wiki.genealogy.net | hetzner |
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
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
|
Einrichtungsschritte
Die folgenden Schritte werden als wiederverwendbares Skript djvu-setup.sh umgesetzt,
damit dasselbe Verfahren später auf alle A/B-Dateien oder bei ausreichend Speicherplatz
auf weitere Präfixe angewendet werden kann.
Schritt 1 - Verzeichnisse auf vm2180 anlegen
sudo mkdir -p /var/www/mediawiki/sites/djvu-wiki.genealogy.net/images/{c/c7,b/b8,5/54,d/d1,a/a0}
sudo chown -R www-data:www-data /var/www/mediawiki/sites/djvu-wiki.genealogy.net/images/
Schritt 2 - Dateien von fur kopieren (auf fur.bitplan.com ausführen)
Originalzeitstempel werden mit -p erhalten:
BASE=/hd/luxio/genwiki/images VM=wf@vm2180.hostsharing.net:/var/www/mediawiki/sites/djvu-wiki.genealogy.net/images scp -p $BASE/c/c7/AB1938_Kreis-Beckum_Inhaltsverz.djvu $VM/c/c7/ scp -p $BASE/b/b8/Auenheim-Frauweiler_Dokument-1693-03-09.djvu $VM/b/b8/ scp -p $BASE/5/54/AB1934-Oelde.djvu $VM/5/54/ scp -p $BASE/d/d1/Adressbuch_Husum_1900.djvu $VM/d/d1/ scp -p $BASE/a/a0/Aachen-Burtscheit-AB-1887.djvu $VM/a/a0/
Schritt 3 - Hardlinks in genwiki39e erstellen (auf vm2180, kein zusätzlicher Speicher)
Hinweis: genwiki39e.genealogy.net ist der lokale Site-Konfigurationsverzeichnisname auf vm2180.
DJVU=/var/www/mediawiki/sites/djvu-wiki.genealogy.net/images GENWIKI=/var/www/mediawiki/sites/genwiki39e.genealogy.net/images for hpath in c/c7 b/b8 5/54 d/d1 a/a0; do sudo mkdir -p $GENWIKI/$hpath done sudo ln $DJVU/c/c7/AB1938_Kreis-Beckum_Inhaltsverz.djvu $GENWIKI/c/c7/ sudo ln $DJVU/b/b8/Auenheim-Frauweiler_Dokument-1693-03-09.djvu $GENWIKI/b/b8/ sudo ln $DJVU/5/54/AB1934-Oelde.djvu $GENWIKI/5/54/ sudo ln $DJVU/d/d1/Adressbuch_Husum_1900.djvu $GENWIKI/d/d1/ sudo ln $DJVU/a/a0/Aachen-Burtscheit-AB-1887.djvu $GENWIKI/a/a0/
Schritt 4 - Dateien in MediaWiki via importImages.php registrieren
WIKI_SITE=djvu-wiki.genealogy.net php /var/www/mediawiki/code/maintenance/importImages.php \ --user=wf /var/www/mediawiki/sites/djvu-wiki.genealogy.net/images/
Schritt 5 - Datei:-Seiten von genwiki39 nach djvu-wiki via wikipush kopieren
djvu-setup.sh
Ein Skript unter /home/wf/djvu-wiki/djvu-setup.sh automatisiert die Schritte 1, 3 und 4.
Befehlsreihenfolge (muss in dieser Reihenfolge ausgeführt werden)
Vorschau welche Dateien verarbeitet werden
./djvu-setup.sh --list
Demo files selected from database:
File Pages MB Range
---- ----- -- -----
AB-Koeln-1929-1.djvu 1622 637.7 huge
AC-AB-1955-56.djvu 585 446.5 large
Almanach_1903_T2.djvu 144 1.6 medium
AB-LK-AC_1927_C_Alsdorf.djvu 34 1.7 small
Amtsblatt-RM1870_Register.djvu 9 2.9 tiny
scp-Befehle ausgeben um Dateien von fur zu kopieren (auf fur.bitplan.com ausführen
./djvu-setup.sh --scp
# Run on source machine (where /hd/luxio/genwiki/images exists):
VM=wf@vm2180.hostsharing.net:/var/www/mediawiki/sites/djvu-wiki.genealogy.net/images
scp -p /hd/luxio/genwiki/images/8/8d/AB-Koeln-1929-1.djvu $VM/8/8d/
scp -p /hd/luxio/genwiki/images/c/c0/AC-AB-1955-56.djvu $VM/c/c0/
scp -p /hd/luxio/genwiki/images/b/bd/Almanach_1903_T2.djvu $VM/b/bd/
scp -p /hd/luxio/genwiki/images/0/01/AB-LK-AC_1927_C_Alsdorf.djvu $VM/0/01/
scp -p /hd/luxio/genwiki/images/5/5a/Amtsblatt-RM1870_Register.djvu $VM/5/5a/
AB-Koeln-1929-1.djvu 100% 638MB 23.3MB/s 00:27
AC-AB-1955-56.djvu 100% 447MB 22.9MB/s 00:19
Almanach_1903_T2.djvu 100% 1659KB 5.4MB/s 00:00
AB-LK-AC_1927_C_Alsdorf.djvu 100% 1691KB 5.6MB/s 00:00
Amtsblatt-RM1870_Register.djvu 100% 3011KB 7.4MB/s 00:00
Nach scp: Verzeichnisse erstellen und Hardlinks in genwiki39e
sudo ./djvu-setup.sh --link
Creating directories and hardlinks...
Dateien in MediaWiki registrieren
sudo ./djvu-setup.sh --import
Oder --all für Schritte 3+4:
sudo ./djvu-setup.sh --all # --link + --import