Fehler beim Einsammeln über Schulkonsole

Hallo,

eine Kollegin wollte das Einsammeln über Transferordner testen. Sie hat den aktuellen Raum ausgewählt und auf einsammeln geklickt. Dabei kommt folgende Fehlermeldung:

equest
POST /api/lmn/session/trans
Type
Exception
Message
Something went wrong. Error: Sophomorix Value error ! Either sophomorix field does not exist or user does not have sufficient permissions: Error Message: 'COMMENT_EN' Dictionary we looked for information: {'OUTPUT': [{'TYPE': 'ERROR', 'MESSAGE_DE': 'ERROR Source file/dir nonexisting: default-school -> students/9c/pfohda/transfer/rossner_room-autoGenerated', 'MESSAGE_EN': 'ERROR Source file/dir nonexisting: default-school -> students/9c/pfohda/transfer/rossner_room-autoGenerated', 'NUMBER': -1}], 'SCRIPTNAME': 'sophomorix-transfer', 'JSONCOMMENT': '---', 'JSONINFO': 'RESULT'}
Traceback
Traceback (most recent call last):
  File "/usr/lib/linuxmuster-webui/plugins/lmn_common/api.py", line 130, in lmn_getSophomorixValue
    resultString = dpath.util.get(jsonDict, jsonpath)
  File "/usr/local/lib/python3.6/dist-packages/dpath/util.py", line 179, in get
    raise KeyError(glob)
KeyError: 'COMMENT_EN'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/linuxmuster-webui/plugins/lmn_session/views.py", line 402, in handle_api_session_file_trans
    returnMessage = lmn_getSophomorixValue(sophomorixCommand, 'COMMENT_EN')
  File "/usr/lib/linuxmuster-webui/plugins/lmn_common/api.py", line 133, in lmn_getSophomorixValue
    'Sophomorix Value error !\n\n'
Exception: Sophomorix Value error !

Either sophomorix field does not exist or user does not have sufficient permissions:
Error Message: 'COMMENT_EN'
Dictionary we looked for information:
{'OUTPUT': [{'TYPE': 'ERROR', 'MESSAGE_DE': 'ERROR Source file/dir nonexisting: default-school -> students/9c/pfohda/transfer/rossner_room-autoGenerated', 'MESSAGE_EN': 'ERROR Source file/dir nonexisting: default-school -> students/9c/pfohda/transfer/rossner_room-autoGenerated', 'NUMBER': -1}], 'SCRIPTNAME': 'sophomorix-transfer', 'JSONCOMMENT': '---', 'JSONINFO': 'RESULT'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/aj/api/endpoint.py", line 75, in wrapper
    result = fx(self, context, *args, **kwargs)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_session/views.py", line 408, in handle_api_session_file_trans
    raise Exception('Something went wrong. Error:\n' + str(e))
Exception: Something went wrong. Error:
Sophomorix Value error !

Either sophomorix field does not exist or user does not have sufficient permissions:
Error Message: 'COMMENT_EN'
Dictionary we looked for information:
{'OUTPUT': [{'TYPE': 'ERROR', 'MESSAGE_DE': 'ERROR Source file/dir nonexisting: default-school -> students/9c/pfohda/transfer/rossner_room-autoGenerated', 'MESSAGE_EN': 'ERROR Source file/dir nonexisting: default-school -> students/9c/pfohda/transfer/rossner_room-autoGenerated', 'NUMBER': -1}], 'SCRIPTNAME': 'sophomorix-transfer', 'JSONCOMMENT': '---', 'JSONINFO': 'RESULT'}

Woran könnte es liegen?

Viele Grüße

Steffen

Hallo Steffen,

Die Fehlermeldung sagt, dass der Ordner /srv/samba/schools/default-school/students/9c/pfohda/transfer/rossner_room-autoGenerated nicht existiert.
Kann es sein, dass der Lehrer nur einsammeln wollte, ohne früher etwas ausgeteilt zu haben ?

Gruß

Arnaud

Hallo Arnaud,

ich glaube daran liegt es. Bei Lmn 6.2 war es möglich etwas ohne auszuteilen einzusammeln. Ich teste es am Montag.

Viele Grüße
Steffen

Hallo,

habe das gerade verifiziert: Wenn nichts ausgeteilt wurde, existiert im transfer-Verzeichnis auch kein Unterordner und beim Einsammeln einer Testdatei eines Schülers direkt unter /transfer kommt auf der Schulkonsole die Fehlermeldung. Nach bestätigen der Meldung „dreht der Wartebalken hohl“, man muss die Browserseite neu laden.
Teile ich nun etwas aus, erscheint beim Schüler der Unterordner des Kurses, er kann dort speichern und das Einsammeln klappt ohne Fehlermeldung.

Das erklärt endlich, warum die Kollegen sich immer wieder über einen kaputten Klausurmodus beschwert haben, während es bei mir funktioniert hat: Ich habe immer vorher was ausgeteilt…

Viele Grüße,
Stefan

Hallo,
für meine Kollegen habe ich ein kurzes Handout zum Austeilen/Einsammeln erstellt, das könnt ihr für euch anpassen. In Klassenarbeitsmodus sollte man nur die WebUI nicht MAusSK verwenden.

Grüße
Martin
C07_Austeil-Einsammeln.odt (50,3 KB)

2 „Gefällt mir“

Hallo zusammen,

Die Webui verwendet in diesem Fall sophomorix-transfer um die Daten zu kopieren.
Wenn eine Kopie von Lehrer zu Schüler ist aufgerufen, dann wird sophomorix-transfer die Ordnerstruktur erstellen so, dass es gut funktioniert :

sophomorix-transfer --scopy --from-user dr --to-user bayerma --from-path transfer/mire-16cm-RVB.jpg --to-path transfer/dr_8a-autoGenerated/
...
scopy: dr  -----> bayerma (start)
Done: Creating parent dirs from students/8a/bayerma until students/8a/bayerma/transfer/dr_8a-autoGenerated
...

Aber wenn die Kopie in die andere Richtung aufgerufen ist, wird es nicht im Quellordner passieren :

sophomorix-transfer --scopy --from-user bayerma --to-user dr --from-path transfer/test --to-path transfer/dr_8a-autoGenerated/ 
...
scopy: bayerma  -----> dr (start)
#### ERROR Source file/dir nonexisting: default-school -> students/8a/bayerma/transfer/test####
...

Ich könnte natürlich in die Webui so einstellen, dass für alle Session und alle User, jedesmal einen Ordner „autoGenerated“ erzeugen wird, um den Fehler zu vermeiden. Aber damit würde den transfer-Ordner schnell unübersichtlich werden.

Nach meiner Meinung wäre es einfacher mit sophomorix-transfer zu überprüfen, ob den Ordner existiert, und wenn nicht einen leeren Ordner einzusammeln.

@jeffbeck : was hältst du davon ?

Viele Grüße

Arnaud

Hallo Arnaud,
kann man nicht in der Webui einen Menue-Punkt „Initialisieren des Einsammeln“ anbieten, der die nötigen Ordner anlegt. Der Lehrer muss dann diesen aufrufen, bevor er einsammelt.
In der Webui ist die Schaltfläche unter den Usern mit „Teilen“ beschriftet, bei den Usern aber mit „Austeilen“. M.E. sollten beide gleich beschriftet sein, am besten mit „Austeilen“
Grüße
Martin

Hallo,
oder dieser Ordner wird direkt beim Einschreiben in die Klasse im Transfer Verzeichnis angelegt. Dann ist es nur ein Klick.
LG
Daniel

Hallo @martin.res und @blubbi2k

Ich bin der Meinung, dass die Ordnerstruktur der User nicht im Hand von der Webui liegt. Die Zuständigkeit liegt bei sophomorix und sollte dort korrigiert sein ( das ist wahrscheinlich nur eine Kleinigkeit für Rüdiger ). Damit wäre auch kein Klick von Seite der Lehrer nötig.

Die Übersetzungen kann jeder korrigieren / anpassen : Translating Linuxmuster.net to German language - Crowdin :slight_smile:

Gruß

Arnaud