DjVu-Viewer Integration: Unterschied zwischen den Versionen

Aus djvu-wiki
Zur Navigation springen Zur Suche springen
(Alle bitplan.de Pfade auf genealogy.net korrigiert)
(Added djvu-setup.sh command order documentation)
Zeile 1: Zeile 1:
= DjVu-Viewer Integration =
== djvu-setup.sh ==
Ein Skript unter <code>/home/wf/djvu-wiki/djvu-setup.sh</code> automatisiert die Schritte 1, 3 und 4.


== SICHERHEITSHINWEISE ==
=== Befehlsreihenfolge (muss in dieser Reihenfolge ausgeführt werden) ===
* '''NIEMALS wiki.genealogy.net ändern''' - Produktions-Wiki, absolut verboten
* '''NIEMALS fur.bitplan.com ändern''' - Intranet-Quellserver, nur lesend via scp
* '''NIEMALS genwiki39d.bitplan.com ändern''' - Intranet-Docker-Wiki, nur lesend
* Alle Arbeiten beschränken sich auf '''djvu-wiki.genealogy.net''' und '''genwiki39e.genealogy.net''' auf vm2180


== Gitlab ==
<pre>
* [https://gitlab.genealogy.net/genwiki/update-auf-1.39/-/issues/17 Issue #17: DjVu - temporäres Test-Wiki für DjVu-Migration]
# 1. Vorschau welche Dateien verarbeitet werden
 
./djvu-setup.sh --list
== Server-Topologie ==
 
{| 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 || '''VERBOTEN, separater Server'''
|}


== Hintergrund ==
# 2. scp-Befehle ausgeben um Dateien von fur zu kopieren (auf fur.bitplan.com ausführen)
./djvu-setup.sh --scp


* Ursprung: [https://stackoverflow.com/questions/45984437/djvu-thumbnails-are-not-being-generated-at-all DjVu-Thumbnails werden überhaupt nicht erzeugt] (2017)
# 3. Nach scp: Verzeichnisse erstellen und Hardlinks in genwiki39e
* 1,5 Jahre Entwicklung → [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer] - siehe [https://wiki.bitplan.com/index.php/Djvu-viewer wiki.bitplan.com/Djvu-viewer]
sudo ./djvu-setup.sh --link
* 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 ==
# 4. Dateien in MediaWiki registrieren
 
sudo ./djvu-setup.sh --import
* 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"
! Datei !! Seiten !! Größe !! Hash-Pfad
|-
| <code>AB1938_Kreis-Beckum_Inhaltsverz.djvu</code> || 3 || 50 KB || <code>c/c7</code>
|-
| <code>Auenheim-Frauweiler_Dokument-1693-03-09.djvu</code> || 10 || 3,9 MB || <code>b/b8</code>
|-
| <code>AB1934-Oelde.djvu</code> || 105 || 4,1 MB || <code>5/54</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>
</pre>


=== Schritt 2 - Dateien von fur kopieren (auf fur.bitplan.com ausführen) ===
Oder <code>--all</code> für Schritte 3+4:
Originalzeitstempel werden mit <code>-p</code> erhalten:
<pre>
<pre>
BASE=/hd/luxio/genwiki/images
sudo ./djvu-setup.sh --all  # --link + --import
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>
</pre>


=== Schritt 3 - Hardlinks in genwiki39e erstellen (auf vm2180, kein zusätzlicher Speicher) ===
=== Siehe auch ===
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 ===
 
=== Schritt 6 - Wiki-Seiten im djvu-wiki erstellen ===
* Vereinfachte Ortsseite mit <code>AB1934-Oelde.djvu</code> als Beispiel
* <code>DjVu</code>-Indexseite mit allen 5 Beispielen
 
== djvu-setup.sh ==
Ein Skript, das die Schritte 1, 3 und 4 abstrahiert, wird unter
<code>/home/wf/djvu-wiki/djvu-setup.sh</code> erstellt. Es nimmt eine Liste von Dateien
mit ihren Hash-Pfaden als Eingabe entgegen, sodass dasselbe Verfahren später für alle
333 A/B-Dateien oder zukünftige Stapel ausgeführt werden kann.
 
== Siehe auch ==
* [[Hauptseite]] - Übersicht des djvu-wiki
* [[Hauptseite]] - Übersicht des djvu-wiki
* [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer auf GitHub]
* [https://github.com/WolfgangFahl/djvu-viewer djvu-viewer auf GitHub]
* [https://wiki.bitplan.com/index.php/Djvu-viewer Djvu-viewer Dokumentation (BITPlan Wiki)]
* [https://wiki.bitplan.com/index.php/Djvu-viewer Djvu-viewer Dokumentation (BITPlan Wiki)]
* [https://stackoverflow.com/questions/45984437/djvu-thumbnails-are-not-being-generated-at-all Ursprüngliche Problemstellung (StackOverflow)]
* [https://stackoverflow.com/questions/45984437/djvu-thumbnails-are-not-being-generated-at-all Ursprüngliche Problemstellung (StackOverflow)]

Version vom 19. Februar 2026, 15:59 Uhr

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)

# 1. Vorschau welche Dateien verarbeitet werden
./djvu-setup.sh --list

# 2. scp-Befehle ausgeben um Dateien von fur zu kopieren (auf fur.bitplan.com ausführen)
./djvu-setup.sh --scp

# 3. Nach scp: Verzeichnisse erstellen und Hardlinks in genwiki39e
sudo ./djvu-setup.sh --link

# 4. Dateien in MediaWiki registrieren
sudo ./djvu-setup.sh --import

Oder --all für Schritte 3+4:

sudo ./djvu-setup.sh --all  # --link + --import

Siehe auch