Moodle: Zwei Probleme mit unoconv -- Annotationen in PDF-Files fehlerhaft

Hier nochmal eine genauere Untersuchung der Upload-Probleme … drei unterschiedliche .jp(e)g-Files:

Die ersten beiden Dateien machen Probleme und werden beide nicht als PDF-Datei angezeigt

Die Meldung lautet ganz schlicht „undefined“:

file 15892733232091045619170125136810.jpg 
15892733232091045619170125136810.jpg: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=12, height=3096, manufacturer=samsung, model=SM-A202F, orientation=upper-right, xresolution=210, yresolution=218, resolutionunit=2, software=A202FXXU3BTD1, datetime=2020:05:12 10:49:43, width=4128], baseline, precision 8, 4128x3096, frames 3

Dieses Mal erscheint die Meldung „Einige der eingereichten Dateien in dieser Abgabe stehen nur zum direkten Download zur Verfügung“. Es wurde eine .jpeg-Datei hochgeladen:


file 1A93B236-ACB0-45AE-BAEB-A6F4907B26B1.jpeg 
1A93B236-ACB0-45AE-BAEB-A6F4907B26B1.jpeg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=10, manufacturer=Apple, model=iPhone 6, orientation=upper-right, xresolution=150, yresolution=158, resolutionunit=2, software=12.4.5, datetime=2020:04:19 11:01:07], baseline, precision 8, 3264x2448, frames 3

Diese Datei funktioniert dagegen problemlos (wie die meisten anderen ja auch):

file Mathe1.jpg 
Mathe1.jpg: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, model=SM-A405FN, height=0, software=A405FNXXU3BTC4, orientation=[*0*], datetime=2020:05:12 16:37:02, resolutionunit=2, xresolution=203, yresolution=211, manufacturer=samsung, width=0], baseline, precision 8, 3886x2423, frames 3

Wer sieht, woran das liegen könnte bzw wie man unoconv davon überzeugen kann, auch die anderen Dateien in PDFs umzuwandeln?

Alle drei Dateien sind zwischen 1.3 und 2.1 MB groß (also eigentlich eh viel zu groß). Die ersten beiden haben sehr lange Dateinamen, die offenbar von der Kamera selbst so gemacht wurden – vielleicht liegt es auch ganz einfach daran?

Ok, ich nenne sie gleich nochmal um, ich hatte längere Dateinamen. Im Chrome-Browser tritt der Effekt übrigens nicht auf – wohl aber im Firefox!

… es hat nichts verändert.

Hallo Michael,

Wer sieht, woran das liegen könnte bzw wie man unoconv davon überzeugen
kann, auch die anderen Dateien in PDFs umzuwandeln?

kontrollier erst mal, ob den tatsächlich unoconv verwendet wird. Ich
dachte das ja auch, aber es war nie der Fall: es wurde immer der moodle
interne converter verwendet, der eben nur wenig kann.
Also: aktivier mal unoconf und teste dann nochmal.
Oder gehen bei dir schon odt Dateien?

LG

Holger

Hallo zusammen,

dem unoconv-JPEG-Problem bin ich mal nachgegangen:

  • Moodle holt sich die Informationen direkt von unovonv
  • in der Datei /usr/bin/unoconv werden die Formate festgelegt, die unoconv bearbeiten kann
  • um Zeile 436 und 469 gibt es die Zeilen für JPG. Diese kann man einfach jeweils kopieren und jpg durch jpeg ersetzen
  • Moodle erkennt das (sieht man in der Dateiliste) und konvertiert ab dann auch jpeg problemlos
  • möchte man auch alte Dateien erneut konvertieren, muss man (das ist mehr Vermutung als sicheres Wissen):
    • überprüfen, dass <moodle-data>/temp/core_file/conversions leer ist
    • in der Datenbank die Tabelle m̀dl_file_conversion leeren (ich vermute, dass da auch die gescheiterten Konvertierungen gespeichert sind)
    • dadurch entstehen evtl. verwaiste Dateien - in moosh gibt es den Befehl sudo -u www-data moosh file-check | moosh file-delete -s, der verwaiste Dateien auflistet und löscht. Bei mir funktioniert der aber wegen eines PHP-Fehlers nicht. Trotzdem „fürs Protokoll“.

Bei uns lief es danach sofort. Moodle-Cache löschen schadet aber nie.

Viele Grüße
Thomas

Hallo Thomas.
Da heißt es:

cat  /usr/bin/unoconv |grep jpg
fmts.add('graphics', 'jpg', 'jpg', 'Joint Photographic Experts Group', 'draw_jpg_Export') ### 3
fmts.add('presentation', 'jpg', 'jpg', 'Joint Photographic Experts Group', 'impress_jpg_Export') ### 19

Ich nehme an, dass du es so meintest, dass jeweils die vorderen beiden jpg durch jpeg erstetzt werden müssen.

Was bedeutet die Ziffer dahinter? Ist das nur ein Kommentar oder muss man damit auch etwas anstellen?

Schöne Grüße,
Michael

Hallo Michael,

cat /usr/bin/unoconv |grep jpg fmts.add(‚graphics‘, ‚jpg‘, ‚jpg‘,
‚Joint Photographic Experts Group‘, ‚draw_jpg_Export‘) ### 3
fmts.add(‚presentation‘, ‚jpg‘, ‚jpg‘, ‚Joint Photographic Experts
Group‘, ‚impress_jpg_Export‘) ### 19|

Ich nehme an, dass du es so meintest, dass jeweils die vorderen beiden

jpg> durch |jpeg| erstetzt werden müssen.

ich habe das gerade gemacht: also pro Zeile zweimal jpg durch jpeg ersetzt.

Scheint zu funktionieren.
Ich hab zwar keine jpeg Datei, aber ich habe eine jpg umbenannt in jpeg
und sie dann in moodle „abgegeben“: sie wurde konvertiert in ein PDF

LG

Holger

Hallo Michael,

nein, ich meinte, die Zeilen müssen jeweils erst verdoppelt werden - und in der Kopie kann dann jpg durch jpeg ersetzt werden (ruhig auch hinten in der Beschreibung).
Wenn man ersetzt, dann kann unoconv zwar jpeg, aber kein jpg mehr.

Sorry, wenn das unklar war.

Viele Grüße
Thomas

Hallo Thomas.
ne, war nicht unklar. Genauso hatte ich es natürlich auch verstanden …
Hast du auch schon mal Großschreibung ausprobiert? Die Schüler versuchen es natürlich auch mit .JPG – da weiß ich gerade nicht auswendig, ob das abgefangen wird?

Bleibt die Frage, was mit den Bildern los ist, die ja offenbar vom :apple:-Gerät kamen?

Schöne Grüße,
Michael

Hallo Michael,

nein, Groß-/Kleinschreibung habe ich noch nicht probiert. Ich glaube aber nicht, dass das eine Rolle spielt. Sonst müsste man ja für jedes Format zwei Einträge haben.

Apple weiß ich nicht (und kann es nicht testen). Dateiformate sind ja an sich unabhängig vom Hersteller (ha ha).

Viele Grüße
Thomas

Hi.
Ok – kannst du denn in dem Script evtl irgendwo ausmachen, ob ein sehr langer Dateiname ein Problem sein könnte?
Ich hatte auch schon mal Leerzeichen/Klammern im Namen unter Verdacht … kann es aber nicht 100%ig sicher sagen, ob das nun an „bild (1).jpg“ oder am jpg-(Unter)Format selbst lag?!

Schöne Grüße,
Michael

Hallo Michael,

… bist du dir den inzwischen sicher, dass du unoconv verwendest?
Einfach installieren reicht nicht.
Danach in moodle aktivieren reicht auch nicht.

Gehen bei dir odt Dateien.

LG

Holger

Hi.

Das reicht nicht? Das „Auge“ in den Settings ist an und ich kann auch .odt Dateien hochladen, die dann korrekt in PDFs umgewandelt werden … von daher denke ich: Ja, es läuft über unoconv!?!

Heute kam aber wieder die Anfrage eines Kollegen: jpg Upload eines Schülers → Meldung „undefined“. Dieses Verhalten von moodle nervt die Kollegen leider… auch wenn’s in >95% der Fälle gut geht.

Schöne Grüße,
Michael

Hallo,

unter <moodle-adresse>/admin/settings.php?section=managefileconverterplugins kann man ja die Dateiendungen sehen, die unoconv unterstützt.

Die Liste würde ich irgendwo „kollegiumsöffentlich“ machen. Ist zwar keine Garantie - aber das „sollte“ zumindest gehen.

Viele Grüße
Thomas

Hallo Michael,

Das reicht nicht? Das „Auge“ in den Settings ist an und ich kann auch
.odt Dateien hochladen, die dann korrekt in PDFs umgewandelt werden …
von daher denke ich: Ja, es läuft über unoconv!?!

das ist ein starkes Indiz.

Heute kam aber wieder die Anfrage eines Kollegen: jpg Upload eines
Schülers → Meldung „undefined“. Dieses Verhalten von moodle nervt die
Kollegen leider… auch wenn’s in >95% der Fälle gut geht.

schau dir das Bild mal an: welche Auflösung?
Welches Format?
Was sagt der EXIF Inhalt?
Der Dateinamen?

LG

Holger

Ja, das hilft in diesem Fall aber nicht wirklich, da die Schüler ja zunächst alles richtig machen und einfach ein jpg hochladen. Dass es dann zu Problemen mit irgendwelchen Subformaten kommt, kann man ja vorher alles nicht erkennen und fällt erst auf, wenn man sich um die Korrekturen kümmern will

Hatte ich oben ja schon gepostet… (Beitrag 21)

Hallo Holger,

Wo aktiviere ich das in Moodle? Unter <moodle-adresse>/admin/settings.php?section=managefileconverterplugins

ist das Auge duchgetrichen, draufklicken bringt nichts, es bleibt durchgestrichen. Wenn ich auf Einstellungen klicke stimmt der Pfad und mit unoconv-Pfad testen erhalte ich auch eine korrekt aussehende pdf-Datei.

unoconv ist installiert und läuft als listener

Viele Grüße,
Sven

Hallo Sven,

Wo aktiviere ich das in Moodle? Unter

/admin/settings.php?section=managefileconverterplugins|

… mir sind die Einstellungen inzwischen zu viele, deswegen suche ich
immer im Suchfeld unter den „Einstellungen der Webseite“ auf der linken
Seite.
Da kommt dann aber (denke ich) die Seite die du aufgeschrieben hast,
wenn man dort nach unoconv sucht.
Da hab ich das „Auge geöffnet“.
Bereich: Administration / Plugins / Dokumentkonverter

ist das Auge duchgetrichen, draufklicken bringt nichts, es bleibt
durchgestrichen.

… tja: das ist ja doof.
Bei mir hab ich einfach drauf geklickt.
Hab das gerade nochmal getestet: klappt.

Wenn ich auf Einstellungen klicke stimmt der Pfad und
mit unoconv-Pfad testen https://ask.linuxmuster.net erhalte ich auch
eine korrekt aussehende pdf-Datei.

unoconv ist installiert und läuft als listener

dann ist ja alles da: fehlt nur noch das Aktivieren des Plugins.

Ist das ein BelWü moodle?
Ich kann mir gut vorstellen, dass die unoconv nicht wollen: das wäre
nämlich ein wirklich heftiger Hintergrundtask: da muss der Server schon
mal rödeln um ein 4321x3456 Bild in ein PDF zu gießen…

Wenn es kein BelWü moodle ist, dann muss wohl ecosia helfen …

Viele Grüße

Holger

Vorhin kam noch eine Antwort, die zu diesem Problem passt:

Hallo,
hier eine technisch wenig hilfreiche Antwort, aber: „lässt sich wahrscheinlich beheben“.

Ausführlich:
Das hatten wir in RLP mit moodle@RLP im Winter/Frühling auch eine ganze Weile. Den Fehler gab es nur bei gedrehten (bei mir bei „nur gedrehten“, nicht zurückgedrehten) Bilddateien, bevorzugt bei Dateien, die nach dem Fotografieren und vor dem Hochladen beschnitten oder zusammengefügt wurden.
[Ich hatte mir dann bei gedrehten Bildern meist gleich deren Feedback-Datei angesehen und ggf. Bildschirmfotos meiner (richtigen) Ansicht mitgeliefert.]

Das Problem wurde bei uns vom Land behoben, denn ich habe das Problem schon länger nicht mehr.
Problem sei gelöst: https://tracker.moodle.org/browse/MDL-70183

Grüße, Daniela