V7 - alle Lehrer aus Klassen löschen und Kurse zurücksetzen

kann auch nur zustimmen, dass die Dokumentation von oder für sophomorix4 eine Katastrophe oder eigentlich nicht vorhanden ist.
Selbst der phänomenale Tipp sophomorix- puss 2x Tap-Taste und die Manpages lesen hilft nicht.
Auch wenn man das bei allen Befehlen machen würde, und bei allen die Manpages ausdrucken würde, reicht es nicht (sofort) einen gewünschten Befehl zu finden …
Wenn man damit nicht täglich oder zumindest sehr häufig arbeitet, hat man verloren.
Oder wurden die sophomorix Manpages die letzten Wochen neu geschrieben?

Grüße,
gerd

Hi Gerd.
Ich hänge mich mal kurz an diesen Thread dran, weil ich gestern auch versucht habe mit den sophomorix-Befehlen die alten Klassen zu leeren. Dabei habe ich diese Befehle losgelassen, die aber nicht alle vollständig erfolgreich durchliefen:

* sophomorix-check, sophomorix-add, sophomorix-update

* sophomorix-session –kill-all-auto-generated-sessions  und  sophomorix-session –kill-all-sessions

* sophomorix-class –delete-all-teacheronly-classes  und  sophomorix-class –delete-all-empty-classes

* for i in 5a 5b 5c 5d 5e 5f 6a 6b 6c 6d 6e 6f 7a 7b 7c 7d 7e 7f 8a 8b 8c 8d 8e 8f 9a 9b 9c 9d 9e 9f 10a 10b 10c 10d 10e 10f; do sophomorix-class -c $i –-admins " " ; done

Gerade beim letzten Punkt hänge ich, denn es bleiben partout immer noch ein paar Lehrer (Admins) in den Klassen. Hier die Übersicht:

#### 43 adminclass in school default-school:                                  ####
+--------------------+--+--+--+---+--+-+-+-+-+-+--------------------------------+
| Class Name         | t| s| Q| MQ|MM|H|A|L|S|J| Class Description              |
+--------------------+--+--+--+---+--+-+-+-+-+-+--------------------------------+
| 10a                | 0|25| 0| - | 0|F|F|F|P|T| 10a migrated                   |
| 10b                | 0|26| 0| - | 0|F|F|F|P|T| 10b migrated                   |
| 10c                | 1|27| 0| - | 0|F|F|F|P|T| 10c migrated                   |
| 10d                | 0|29| 0| - | 0|F|F|F|P|T| 10d migrated                   |
| 10e                | 1|22| 0| - | 0|F|F|F|P|T| 10e migrated                   |
| 10f                | 2|25| 0| - | 0|F|F|F|P|T| 10f migrated                   |
| 5a                 | 2|22| 0| - | 0|F|F|F|P|T| 5a migrated                    |
| 5b                 | 4|24| 0| - | 0|F|F|F|P|T| 5b migrated                    |
| 5c                 | 2|27| 0| - | 0|F|F|F|P|T| 5c migrated                    |
| 5d                 | 2|23| 0| - | 0|F|F|F|P|T| 5d migrated                    |
| 5e                 | 2|24| 0| - | 0|F|F|F|P|T| 5e migrated                    |
| 5f                 | 1| 0| 0| - | 0|F|F|F|P|T| 5f migrated                    |
| 6a                 | 2|30| 0| - | 0|F|F|F|P|T| 6a migrated                    |
| 6b                 | 2|29| 0| - | 0|F|F|F|P|T| 6b migrated                    |
| 6c                 | 2|28| 0| - | 0|F|F|F|P|T| 6c migrated                    |
| 6d                 | 2|29| 0| - | 0|F|F|F|P|T| 6d migrated                    |
| 6e                 | 2|30| 0| - | 0|F|F|F|P|T| 6e migrated                    |
| 6f                 | 5| 0| 0| - | 0|F|F|F|P|T| 6f migrated                    |
| 7a                 | 0|30| 0| - | 0|F|F|F|P|T| 7a migrated                    |
| 7b                 | 0|26| 0| - | 0|F|F|F|P|T| 7b migrated                    |

usw.

Wie man an der zweiten Spalte „t“ (für „Teacher“) erkennen kann, sind nicht alle Lehrer aus der Klassen entfernt worden und auch der direkte Befehl
sophomorix-class --class 5b –-removeadmins <login des Kollegen> hat nichts gebracht.

Daher die Frage an Rüdiger @jeffbeck : Wie muss man hier vorgehen?
Ich habe schon mit dem ApacheDirectoryStudio in die DB geschaut (ohne etwas zu verändern). Dort findet man bei den Klassen unter members natürlich auch die Lehrer … könnte man sie notfalls auch einfach dort rauswerfen oder zerschießt man sich damit etwas?

Eine andere Sache, die mir im ApacheDirectoryStudio ebenfalls aufgefallen ist: Es gab ein paar leere Klassen, die ich mit
sophomorix-class --delete-all-empty-classes
und sophomorix-class --delete-all-teacheronly-classes gelöscht habe. In der Datenbank stehen die Einträge aber weiterhin! Ist das so gewollt oder ist das ein Bug?

Ich benötige übrigens die richtige Einstellung alleine schon aufgrund des Abgleichs mit den globalen Gruppen bei moodle. Wenn dort weiterhin Kollegen des alten Schulahres eingeschrieben sind, landen sie auch automatisch in den jetzt falschen globalen Gruppen unter moodle.

Viele Grüße,
Michael

Hallo Michael,

danke für deine ausführliche Beschreibung deiner „Frage“, ist für mich ja mehr eine Hilfe.
Jetzt muss ich nicht mehr alle sophomorix Befehle „ausprobieren“.
Aber eine halbwegs echte Doku über die eigentlich sehr wichtigen sophomorix Befehle ist dir auch nicht bekannt oder ?

Ich gehe die Schritte, die du oben beschreibst heute alle mal durch und berichte meine Ergebnisse.
Frage am Rande: wie lange, ganz grob, braucht dein Server beim Anlegen von zB 500 oder 1.000 Schülern? Bei uns Richtung Stunde(n).

Grüße,
gerd

Hi Gerd. Zum Anlegen kann ich nicht viel sagen … das ist zu lange her. Aber die Versetzung von ca 1300 Schülern war gestern nach ca 1 Stunde durch, würde ich sagen.

Dass übrigens die Doku zu diesen wichtigen Befehlen nicht vollständig ist, finde ich auch nicht prickelnd … aber als Vorwurf soll das auch nicht rüberkommen.

Viele Grüße,
Michael

Hi,
ich wäre noch mal für ein Tipp dankbar:
wir haben zuerst Schüler gelöscht, dann mit den aktuellen Daten neu angelegt …
dabei haben ich mehrmals sophomorix-check -update -kill nacheinander eingegeben bis es nur noch 0 gab,
TOLERATION_TIME=0
DEACTIVATION_TIME=0|
Trotzdem sind jetzt alle neuen mit eine Zahl am Ende hochgezählt, auch die, dessen Namen einmalig sind.
Jemand eine Idee? Gibt’s noch einen Super-Attic-Endgültig kill Befehl?

Grüße,
gerd

HI,

das gleiche Thema wird auch hier,
https://ask.linuxmuster.net/t/alle-jahre-wieder-schuljahreswechsel-v7
sehr länglich behandelt.
Habs gerade komplett durch, aber keine Lösung für meine obigen beiden Fragen gefunden.
Ich gehe alles noch mal Testweise von vorne mit ein paar Schülerkonten durch …
echt 'ne harte Nuss

Grüße,
gp

Grüße,
gerd

Hallo Gerd,

warum löscht du erst die Schüler händisch?

neue csv-Datei hochladen. Sophomorix macht dann doch den Rest.

sophomorix-move → sophomorix-add → nach Duldung dann sophomorix-kill

Beste Grüße

Thorsten

war u. ist in der Schule „Tradition“ erst mal alles zu cleanen, das war wohl dieses Jahr das letzte mal nach diesem von 6.x übernommenem Ablauf …
Jetzt stecke ich aber in dem Dilemma, dass ich bei allen Loginnamen eine Zahl dahinter habe und ich befürchte, dass wenn ich das ganze noch mal komplett wiederhole, die Zahl um eins hochgezählt wird und somit noch blöder wird.
Also suche ich jetzt erst mal einen Weg da raus …

Grüße,
gerd

Hallo Gerd!

Eine Anfrage bei Rüdiger ergab:

… dass die loginnamen nicht wieder vergeben werden, ist ein feature.

Es hilft zum Beispiel wenn eine Nextcloud, Moodle, … auf den AD
zugreift, dass nicht ein neu angelegter user den gleichen Account wie
ein Vorgänger erhält und somit z.B. seine Nextcloud, Moodle, …-Daten
die noch nicht gelöscht sind.

Wenn es sich um dieselben Nutzer handelt oder unbentzte Accounts, dann
kann man dafür sorgen dass der loginname wieder vergeben wird, indem man
mit einem Editor die entsprechende Zeile aus der Datei
/var/log/sophomorix/userlog/user-add.log löscht.

In der fünften Spalte steht der username.

In der dritten Spalte steht das Anlegedatum.
Will man z.B. die ganzen usernamen einer Migration wieder zugänglich
machen, löscht man alle Zeile mit dem Anlegedatum der Migration.

Beste Grüße

Thorsten

1 „Gefällt mir“

Aaaaalter! Ja ich danke dir, da hätte ich ja keine Chance gehabt.
Habe es nämlich gerde vor 5Sek. noch mal mit einer dummy Klasse u. 10 Schülern reproduziert,
da wurde wie erwartet der Zähler weiter erhöht.
Wäre für mich also eine never ending Story gerworden… :wink: Dank dir!

Grüße an Dich und Danke auch an Rüdiger
gerd

schade, das Löschen der Zeilten aus der
/var/log/sophomorix/userlog/user-add.log
hat nicht geholfen. ich habe alle Zeilen mit meinen dummy1 bis dummy20 Testschülern komplett aus der user-add.log raus gelöscht,
Dummy Schüler aus der students.csv raus; dann wieder sophomorix-check - update -update -kill -check; noch mal die Datei geprüft, waren immer noch raus
Dummy Schüler wieder in die students.csv rein; dann wieder sophomorix-check -add

Zähler wieder um eins höher
Zuvor geprüft ob die Klasse weg ist, =war weg; Dultung und zweiter Wert auf =0
beim letzten sophomorix-check war es wie es soll:

##### Overview of what can be done:
     0 users can be added in sophomorix.add                              
     0 users can be updated in sophomorix.update                         
     0 users can be killed in sophomorix.kill                            
  1145 users are not to be changed in sophomorix.nochange                
     0 users with errors in sophomorix.error                             

Hallo Thorsten,

jetzt habe ich die dummy Schüler auch aus den anderen beiden logs des selben Pfades gelöscht,
danach hat’s dann funktioniert …
Da das ganze so nicht empfohlen ist und nicht dem Standard entspricht beschreibe ich das mal nicht genauer - das sollte auch keiner als Anleitung verstehen …
Nochmals Danke!

Grüße,
gerd

Hallo.
Eine neue Beobachtung zum Thema „Lehrer kann nicht aus Klasse entfernt werden“.

Wenn ich wissen will, in welcher Klasse noch Lehrer eingeschrieben sind, wie z.B.:
sophomorix-class -i -c 10f
dann sehe ich die eingeschriebenen Lehrer („Admins“ genannt).
Anschließend habe ich diesen Namen einfach nochmal als Admin eingeschrieben, also

sophomorix-class -c 10f --admins <login des kollegen>
und siehe da: Jetzt kann ich sie auch wieder entfernen mit
sophomorix-class -c 10f --removeadmins <login des kollegen>
Das sieht mir doch sehr stark nach einem Bug aus?!

Kann das jemand bestätigen?
Viele Grüße,
Michael

Hallo Michael,

Nachfrage, deine Beobachtung bezieht sich auf migrierte Daten?

Beste Grüße

Thorsten

Hallo Thorsten,
ursprünglich wurde vor zwei Jahren migriert, aber die Lehrer haben sich im letzten Schuljahr selbst im WebUI als Lehrer in diese Klassen eingetragen. Von daher ist es nicht ganz eindeutig…

Seltsamerweise waren hier ja auch nicht alle Klassen von dem Effekt betroffen!

Viele Grüße,
Michael

Hallo ihr,

die entscheidende Datei in der das wiederverwenden eines loginnamens gesperrt wurde ist die:

/var/log/sophomorix/userlog/user-kill.log

Dort muss die Zeile entfernt werden, um einen loginamen wieder zu verwenden

1 „Gefällt mir“

Hallo Rüdiger,
das ist schon mal sehr gut zu wissen, aber es beantwortet meine Frage von oben nicht, oder?
Viele Grüße,
Michael

Hallo Michael,

es wäre schön wenn du die Frage als Zitat einfügen würdest. Erspart einem bei solch langen Thread die Suche, was du meinst.

Danke!

Beste Grüße

Thorsten

Da waren so viele Fragen…

Hier noch eine Antwort:

Klassen werden per default als Permanent (Status=P) angelegt.
Und sind nur mit
sophomorix-class --kill --class <class>,<class2>,...

zu löschen.

will man --delete-all-empty-classes oder --delete-all-teacheronly-classes nutzen muss der status der Klasse zuvor auf M gesetzt werden.

Mit der option removeadmins sollte ein admin immer gelöscht werden können. wenn nicht liegt ein Bug vor. Dann brauchte ich mehr Info.

Für das Leeren von Projekten ist eigentlich der admin des Projekts zuständig (webui).

Leeren könnte man mit:

sophomorix-project -p astro44 --admins "" --admingroups "" ...

1 „Gefällt mir“

hallo,
ich habe rel. viele eigene kurse (aktuell 24), die ich jedes jahr neu befüllen muss. gibt es hier einen befehl zum löschen aller teilnehmer eines/aller kurse eines lehrers/aller lehrer? hoffe nicht, dass sich die antwort hier schon irgendwo im thread versteckt hat…
gruß,
hendrik