Fehler beim Import von Lehrern

Hallo zusammen,

bei uns ist zum Schuljahresanfang ein Problem aufgetreten, das mir so vorher nicht bewusst war.

Ich hatte wie gewohnt vom Schulsekretariat die aktuelle Liste der Lehrkräfte erhalten und wollte diese per CSV-Import einlesen. Dabei bekam ich unter anderem folgenden Fehler:

ERROR   -1: Login mustema forbidden, mustema exists already as a sophomorix user'
| teachers.csv LINE 10: Lehrer;Mustermann;Max Maximilian;01.01.1990;mustema;;;;;;;;;;;;;;;;;;;;;;;;;

(Username und Name sind hier beispielhaft.)

Wenn ich die betreffende Zeile aus der CSV entfernt habe, wurde anschließend eine andere Zeile mit demselben Fehler bemängelt.

Nach längerem Probieren mit dem CSV-Import und dem Bearbeiten der Liste im Editor ist mir schließlich durch Zufall aufgefallen, dass bei den betroffenen Personen ein zweiter Vorname hinzugekommen war. Nachdem ich die Vornamen wieder auf den ursprünglichen Stand gekürzt hatte, funktionierte der Import problemlos.

Lehrer;Mustermann;Max;01.01.1990;mustema;;;;;;;;;;;;;;;;;;;;;;;;;

Offenbar wurde die Liste vom Sekretariat vor dem Export bzw. Import bearbeitet oder anderweitig verändert. Der Benutzername existierte also bereits als Sophomorix-Benutzer, allerdings stimmten die hinterlegten Personendaten (in diesem Fall die Vornamen) nicht mehr vollständig mit der neuen Importliste überein.

Meine Frage bzw. mein Verbesserungsvorschlag wäre daher: Könnte man die Prüfung beim CSV-Import dahingehend verbessern, dass in diesem Fall eine eindeutigere Fehlermeldung ausgegeben wird?

Noch hilfreicher wäre eventuell eine Rückfrage in etwa:

„Für den Benutzernamen mustema existiert bereits ein Benutzer. Die importierten Personendaten unterscheiden sich von den vorhandenen Daten. Möchtest du die Daten dem bestehenden Benutzer zuordnen/zusammenführen oder einen neuen Benutzer anlegen?“

So könnte man deutlich schneller erkennen, dass nicht tatsächlich ein „doppelter“ Benutzer importiert werden soll, sondern sich lediglich die Personendaten geändert haben.

Vielleicht gibt es dafür bereits eine bessere Vorgehensweise oder ich übersehe beim Import etwas. Über Hinweise und Erfahrungen würde ich mich freuen.

Vielen Dank!

Gruß Luca

Hi.
Schau mal hier:

cd /var/log/sophomorix/userlog/
grep mustema user-add.log

Dann siehst Du, ob der Name bereits früher vergeben wurde. Wenn Du 100%ig sicher bist, dass Du den Login neu vergeben kannst (und willst!), kannst Du den Eintrag aus dieser Liste entfernen. In diesem Fall wird er neu vergeben. Das kann aber zu ungeahnten Folgen führen, wie z.B. einem Login bei Nextcloud oder Moodle oder anderen angedockten Plattformen. Diese Datei besteht aus genau diesem Grund: Sie soll verhindern, dass man (versehentlich) z.B. einen Schüler mit dem Login mustema neu anlegt. Dieser User könnte mit seinen Credentials dann (versehentlich) z.B. auf eine Nextcloud zugreifen und u.U. Dateien sehen, die gar nicht ihm gehören! Daher der Check und daher auch der neue Login, wenn man einen Namen in der Liste neu anlegt oder ihn um einen beträchtlichen Teil verändert. Das ergibt also schon alles wirklich Sinn und sollte bedacht werden.

Wenn Du einen bestehenden Login ändern willst, musst Du „behutsam“ vorgehen: Es funktioniert, wenn Du 3 Zeichen änderst, danach sophomorix-check und sophomorix-update laufen lässt und dann die nächste 3 Zeichen änderst. Dann weiß das System, dass es der gleiche User geblieben ist. Ist etwas umständlich aber funktioniert.

Viele Grüße,
Michael

Hallo zusammen,

Nur kurz: grep ist natürlich den schnellsten Weg hier.
Es gibt auch die Möglichkeit eine Übersicht davon per lmncli zu haben:

lmncli userlog --killed

Und es gibt noch weitere Optionen: lmncli userlog -h

Gruß

Arnaud