DjVu Testumgebung auf Thanatos

Diese Diskussion bezieht sich auf Ladezeit von DjVu-Seiten (#49) · Issues · genwiki / GenWiki · GitLab

DjVu - wiki hat eine detaillierte Beschreibung des Tests mit einigen DjVu Dateien.

Handbuch:Wie man DjVu mit MediaWiki verwendet - MediaWiki beschreibt die grundsätzliche Einrichtung, der ich auf Thanatos gefolgt bin.

Das Musterbeispiel:

funktioniert.
http://playground-mw.bitplan.com/Thanatos/index.php?title=File:Provinz_Rheinland_1888.djvu

hat das 0x0 pixel Thumbnail Problem. Die Einzelseiten Rheinprovinz/Gemeindelexikon 1888/294 - wiki

benötigen noch eine Anpassung der Templates.

http://playground-mw.bitplan.com/Thanatos/index.php?title=File:200Jahre-Pfarrgemeinde_St-Agatha-Straberg.djvu
hat ebenfalls das 0x0 pixel problem

Ich habe jetzt mediawiki - DjVuImage::getMultiPageInfo: multi-page DJVU file contained no pages - Stack Overflow geposted und hoffe das Tgr oder jemand anders der sich noch an DjVu erinnert sich nochmal zu dem Thema meldet. Die Reihenfolgen-Annahme hat sich leider nicht bestätigt, es genügt nicht die DjVu Seiten-Dateien vor der eigentliche DjVu Datei hochzuladen. Persönlich halte ich es für nötig, alle DjVu Dateien zu bearbeiten und z.B. nach PDF zu konvertieren oder in eine Struktur zu bringen, die das hantieren mit hunderten Sub-Dateien unnötig macht. Bei den ca. 1 Millionen Subdateien gibt es zwar nur wenige Fehler - ca. 1000 Verweise sind falsch oder lassen sich nicht auflösen allerdings sind auch diese Fehler problematisch. Eine systematisch Lösung kann ich leider trotz intensiver Untersuchungen aus April/Mail letzen Jahres und erneut gestern und heute noch nicht anbieten.

Hallo Wolfgang,
auch an dieser Stelle nochmal vielen Dank für Deinen Einsatz.

Ergo: Mit den „Bordmitteln“ der aktuellen MediaWiki-Software funktioniert es also offensichtlich gar nicht. So auch zu sehen auf dem „devel“-Server: Datei:Provinz Rheinland 1888.djvu – GenWiki

Bei der Analyse des Fehlers und möglicher Lösungen sollte m. E. in Betracht gezogen werden, dass es

Vielleicht kann @jzedlitz etwas dazu sagen, was sich hinter der (alten) djvu-Anzeige technisch verbirgt?

Meiner Ansicht nach ist das Hauptproblem die mangelnde Unterstützung für DjVu Teilseiten durch die Umstellungen im MediaWiki Image Store. Inzwischen gibt es eine ganze Reihe von „Backends“ für den ImageStore so dass eine „image“ Verzeichnis nur noch ein Sonderfall ist. Für die Mediawiki Software ist es völlig überrraschend wenn beim Laden einer Datei noch dutzende anderer Dateien „nachgeladen“ werden müssen. Die djvu Behandlung versucht das zwar scheitert dann aber. Wir könnten das debuggen und die Mediawiki Software selbst reparieren. Seit 2017 scheint das Interesse and dem Thema aber nicht mehr sonderlich groß zu sein. Der Downvote auf meine Frage von gestern ist IMHO ein Indikator dafür und ich würde mich freuen, wenn es vom CompGen e.V. upvotes für meine Frage geben würde um zu unterstreichen, dass das Thema eine gewisse Wichtigkeit hat. Die Skripte rund um DjVu die ich erstellt habe so wie die Analyse-Auswertungsdatenbank mit den Metadateien aller ca. 1 Million Teilseiten würde ich gerne über gitlab bereitstellen. Es werden in jedem Fall einige kleine Reparaturarbeiten erforderlich sein. Es gibt z.B. Inkonsistenzen bei Umlauten, Auflösung und generell den Nameskonventionen. Zudem scheint es defekte Seiten zu geben - möglicherweise sind diese Artefakte aber auch bei der Übertragung von Cloudserver auf meine SSD entstanden so dass nochmal ein Check gegen die Originaldateien sinnvoll sein könnte. Siehe http://playground-mw.bitplan.com/Thanatos/images/4/46/Provinz_Rheinland_1888.pdf. Erst ab Seite 57 sieht dieser PDF-Export richtig aus.

Im Moment prüfe ich zwei Optionen, die wir auch zum Debugging gebrauchen können:

  1. PDF-Export - damit sind die Dateien wenigstens visuell prüfbar
  2. Bundling - erstellen von DjVu Dateien ohne Unterseiten

Dokumentation dazu folgt in der DjVu - wiki Seite

Hallo, es ist interessant zu lesen was alles so läuft. Verstehen was alles dahinter ist, tue ich nicht. Ich selbst habe aber seit einiger Zeit ein Problem, dass ich meine vielen djvu Dateien nicht mehr anschauen kann.Der DjVu Viewer funktioniert nicht mehr. Ist wohl nicht mehr aktuell diese djvu Datei Technik. Eventuell sperrt sich im Windows / Virenscanner irgendwas gegen diese Software, ich weiß es nicht. Frage: gibt es einen seriösen Konverter um die djvu Dateien in pdf oder jpg umzuwandeln? Wäre sehr dankbar für einen Hinweis.

@Rolf_Schneider ja PDF-Konvertierung ist mit den Bordmitteln von DjVu möglich.

ddjvu -format=pdf -quality ...

Allerdings nicht ohne weiteres im Standard Windows sondern in einer Linux/Docker Umgebung.
DjVu - wiki hat einige Besipiele.

Wieviele Dateien möchtest Du denn gerne konvertieren? Ich muss eh potentiell einige tausend konvertieren da kommt es auf ein paar mehr auch nicht an.

Wenn Deine Dateien schon länger im genwiki liegen dann kann ich mich sofort kümmern. Mein Stand ist bis Mai 2024 vollständig.

200Jahre-Pfarrgemeinde St-Agatha-Straberg/pdf - wiki ist ein Beispiel für eine konvertierte Datei mit „quality=30“.

Das Konvertierungsscript stelle ich gerne unter gitlab bereit.

a symbol?

Wolfgang, bleib, wenn es irgend geht, bei Deutsch.

Ich übetze jetzt mal so, Du hättest Dir mehr Reaktionen gewünscht?

Hier? DjVu ist hier ein Thema, kannste glauben.

@Bernhard.Mosolf Es geht um mediawiki - DjVuImage::getMultiPageInfo: multi-page DJVU file contained no pages - Stack Overflow

Stackoverflow ist eine englischsprachige Umgebung.
grafik

Zeigt das „Voting“ also die Reaktion der Leser des Artikels. Als erstes habe ich bei 15 bisherigen Views einen „Downvote“ erhalten. Deswegen steht der Zähler bei Minus 1. Das ist für ein solches Anliegen nicht gut. Es wäre schön, wenn CompGen e.V. Beteiligte, die einen Stackoverflow Account haben einen „Upvote“ machen also die Anfrage positiv bewerten. Ggf. ist dafür auch sinnvoll einen Stackoverflow Account anzulegen. Mir selbst macht der Downvote nichts aus ich bekomme dafür ein paar Punkte von meinem Reputationskonte abgezogen - das ist aber eh deutlich im Plus.

Wobei in diesem Beispiel die rechte Spalte abgeschnitten ist.

Werner (Rost)

@Werner_Rost - Zoom auf Seitenbreite stellen sollte die PDF nicht abgeschnitten anzeigen. Die PDF Selbst findet sich in File:200Jahre-Pfarrgemeinde St-Agatha-Straberg 30.pdf - wiki bzw. http://playground-mw.bitplan.com/Thanatos/images/4/42/200Jahre-Pfarrgemeinde_St-Agatha-Straberg_30.pdf

Wenn gewünscht kann ich die auch in anderer Qualität erzeugen.

Deusche Übersetzung des Stackoverflow Artikels
Das Problem von mediawiki - DjVu thumbnails are not being generated at all - Stack Overflow

trifft uns immer noch. Die Thumbnails von DJVU-Dateien werden häufig als 0x0 Pixel angezeigt. Wir haben eine Testumgebung erstellt, sodass File:Provinz Rheinland 1888.djvu - wiki am 2025-02-19 für eine Weile verfügbar ist, um das Problem zu untersuchen.

Wie @tgr angemerkt hat, haben wir die Logdateien nach Ausführung von

maintenance/refreshImageMetadata.php --force
Processing next 18 row(s) starting with 200Jahre-Pfarrgemeinde_St-Agatha-Straberg.djvu.
Refreshed File:200Jahre-Pfarrgemeinde_St-Agatha-Straberg.djvu.
Refreshed File:Provinz_Rheinland_1888.djvu.

Finished refreshing file metadata for 18 files. 2 needed to be refreshed, 16 did not need to be but were refreshed anyways, and 0 refreshes were suspicious.

überprüft, und das Log zeigt nun:

[Mime] MimeAnalyzer::doGuessMimeType: analyzing head and tail of /var/www/html/images/4/46/Provinz_Rheinland_1888.djvu for magic numbers.
DjVuImage::getMultiPageInfo: skipping 'DIRM' chunk
DjVuImage::getMultiPageInfo: multi-page DJVU file contained no pages
[Mime] MimeAnalyzer::guessMimeType: internal type detection failed for /var/www/html/images/4/46/Provinz_Rheinland_1888.djvu (.)...
[Mime] MimeAnalyzer::detectMimeType: magic mime type of /var/www/html/images/4/46/Provinz_Rheinland_1888.djvu: image/vnd.djvu
[Mime] MimeAnalyzer::guessMimeType: guessed mime type of /var/www/html/images/4/46/Provinz_Rheinland_1888.djvu: image/vnd.djvu
[Mime] MimeAnalyzer::improveTypeFromExtension: improved mime type for .djvu: image/vnd.djvu
Getting DjVu metadata for /var/www/html/images/4/46/Provinz_Rheinland_1888.djvu
DjVuImage::getMultiPageInfo: skipping 'DIRM' chunk
DjVuImage::getMultiPageInfo: multi-page DJVU file contained no pages

Die letzte Meldung ist sehr verdächtig, da

wget https://wiki.genealogy.net/images//4/46/Provinz_Rheinland_1888.djvu
djvudump Provinz_Rheinland_1888.djvu 
  FORM:DJVM [1006] 
    DIRM [994]        Document directory (indirect, 196 files 178 pages)
      Provinz_Rheinland_1888_010_0001.djbz -> Provinz_Rheinland_1888_010_0001.djbz
...
      Provinz_Rheinland_1888_346_0001.djvu -> Provinz_Rheinland_1888_346_0001.djvu

und

root@6bbd81b5735a:/var/www/html/images/4/46# ls -l | head -4
total 34552
-rw-r--r-- 1 www-data www-data   1018 Feb 19 07:11 Provinz_Rheinland_1888.djvu
-rwxr-xr-x 1 www-data www-data  59795 May  4  2009 Provinz_Rheinland_1888_000_0001.djvu
-rwxr-xr-x 1 www-data www-data  58166 May  4  2009 Provinz_Rheinland_1888_000b_0001.djvu

Was können wir tun, um das korrekte DJVU-Verhalten wiederherzustellen?

Siehe http://playground-mw.bitplan.com/Thanatos/index.php?title=File:Alice_in_Wonderland.djvu für das offizielle Beispiel und wie das Verhalten sein sollte.

Wäre nicht auch die Phabricator-Seite von Mediawiki eine Anlaufstelle?

https://phabricator.wikimedia.org/maniphest/?project=PHID-PROJ-7r5oskqavgj4aw7i6fy3&statuses=open()&group=none&order=newest#R

Dort sind 11 offene Tasks zu Djvu hinterlegt.

Habe ich gemacht, aber damit es zählt würde ich eine Reputation von 15 benötigen, die ich nicht habe.

Spannend ist ⚓ T120784 Better support for djvu files mit der Einladung zum Wikimedia Hackathon 2016 in Jerusalem um den DjVu Support zu verbessern. Beim Wikimedia Hackathon 2025 bin ich dabei und auch gerne bereit das Thema wieder aufzugreifen, wenn sich einige Begeisterte finden die entweder vor Ort in Instanbul oder Online mitmachen. Der Termin ist über den Maifeiertag. Die Projektliste für den Hackathon ist bereist erföffnet und wir müssten die Task einfach nur verlinken und aktualisieren. Wenn es an den Finanzen scheitern sollte könnten wir auch einen Wikimedia Grant beantragen. Allerdings glaube ich nicht das $2000 für das Thema reichen - das ist das Limit für den Grants unproblematisch sind.

Man muss den Zoom auf „Seitengröße“ stellen. Bei „Seitenbreite“ wird
noch mehr abgeschnitten.

Werner (Rost)

@Werner_Rost Danke für das Feedback - die Extension Extension:PDFEmbed - MediaWiki wird für die Anzeige genutzt. Wir könnten auch eine andere nehmen. Mit dieser kenn ich mich zufällig aus, weil ich sie mitentwickelt habe.

Na da bin ich jetzt gespannt.

Läuft - gab schon zwei ↑ von dem einer bereits zählt. Wer noch reputation braucht kann einfach eine Frage stellen die Interessant ist (gerne zum Thema DjVu) und kann dann ↑ von den anderen bekommen. 15 Punkte sind schnell erreicht. Siehe What is reputation? How do I earn (and lose) it? - Help Center - Stack Overflow

http://playground-mw.bitplan.com/Thanatos/index.php?title=200Jahre-Pfarrgemeinde_St-Agatha-Straberg/pdf#PdfWidget

zeigt jetzt die Anzeige mit PdfWidget - sieht IMHO im Ergebnis genaus aus. Die Widget Extension hat leider nur keinen Domain-Schutz und mann muss die vollständige URL angeben anstatt einfach den Dateinamen zu benutzen der von PdfEmbed automatisch aufgelöst wird,

siehe [[DjVu]]
__TOC__
= PdfEmbed =
<pdf>200Jahre-Pfarrgemeinde_St-Agatha-Straberg_30.pdf</pdf>
= PdfWidget =
{{#widget:PDF
 |url=http://playground-mw.bitplan.com/Thanatos/images/4/42/200Jahre-Pfarrgemeinde_St-Agatha-Straberg_30.pdf
 |width=750
 |height=1050
}}
[[Category:DjVu]]

Für Ladezeit von DjVu-Seiten (#49) · Issues · genwiki / GenWiki · GitLab habe ich jetzt mal das 1188 Seiten lange Beispiel: http://playground-mw.bitplan.com/images/Deutsches-Kirchliches-AB-1927_30.pdf erstellt. Die Datei ist bei 30% Qualität 350 MByte groß. Über meine 400 MBit Glasfaser Leitung dauert es 17 Sekunden bis sie vollständig geladen ist und 7 Sekunden bis die erste Seite dargestellt wird. Meiner Ansicht nach brauchen wir einen guten Kompromiss. Ich würde eine niedrige Qualtät für das Stöbern wählen wollen, eine etwas höhere für die genaue Darstellung und die Orginalqualität für die Archivierung z.B. jedes Seite als PNG. DjVu selbst halte ich als Technologie für überholt und zu schlecht von modernen Werkzeugen unterstützt.

GitHub - traycold/djvulibre: Mirror of the official Djvulibre repository at sourceforge.net ist übrigens 24 Jahre alt und hat eine Bewertung von 0 Sternen. Ich gehe davon aus, dass im Originalrepository die Lage irgendwann mal besser war. Im Moment würde ich das Projekt als „mausetot“ bewerten. DjVuLibre / Bugs / #362 no batch conversation possible? ist z.B. ein 3 Monate altes Ticket das zeigt, wie die Frequenz von Tickets im Moment aussieht.