Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:server_lmn7:sophomorix:schuljahreswechsel]] 

Aufgaben zum Schuljahreswechsel (v7.x)

Offizielle Anleitungen für die LMN zu folgenden Aufgaben:

Weitere Anleitungen:

  • Für den Umgang mit Benutzern der Nextcloud (per LDAP eingebunden) gilt folgende Seite weiterhin: schuljahreswechsel
  • Für den Umgang mit Benutzer in Moodle … hm… was macht man da?

Noch laufende Sessions (Kurse) beenden

 sophomorix-session --kill-all-sessions

Noch laufende Klassenarbeiten beenden

Hier ein Skript aus dem Forum, wie man noch (unbeabsichtigt) laufende Klassenarbeiten entfernt bzw. Verzeichnisse entfernt die trotz beendeter Klassenarbeiten noch liegengeblieben sind.

clear-examusers.sh
# erster Teil stammt von Tobias Heine (linuxmuster-Forum Dez2020)
cd /srv/samba/schools/default-school/examusers/
for dir in $(ls); do
    student=$(echo $dir | cut -d\- -f1)
    active_exam=$(sophomorix-user -iu $student |grep -i exammode)
    active_exam=$(echo $active_exam | cut -d" " -f2)
    if [ $active_exam == "---" ]; then
        printf "%-10s%-15s%-8s%s\n" $student $active_exam Loesche $dir
        rm -rf $dir
    else
        printf "%-10s%-15s%-8s%s\n" $student $active_exam Behalte $dir
    fi
done
# jetzt alle nicht beendeten Klassenarbeiten beenden
Zeit=`date -Id`
Pfad=transfer/collected/autoend
Zeitpfad=$Pfad$Zeit
cd /srv/samba/schools/default-school/examusers/
for i in "$(ls)"; do
        echo "Beende den Klassenarbeitsmodus für:" $i
        sophomorix-exam-mode --unset --subdir $Zeitpfad --participants $i
done

Tauschverzeichnisse händisch leeren

Auf dem Server, ersetze „default-school“ durch deine Schule, falls ihr ein Mehrschulsystem habt.

  1. Finde heraus, was sich in den Tauschverzeichnissen überhaupt befindet
    # find /srv/samba/schools/default-school/share/classes/
  2. Lösche alle regulären Dateien
    # rm -r /srv/samba/schools/default-school/share/classes/*/*
  3. Lösche danach alle versteckten Dateien (die mit „.“ beginnen)
    # rm /srv/samba/schools/default-school/share/classes/*/.??*

Achtung: der Befehl hantiert direkt auf dem Filesystem. Das ist eigentlich nicht so vorgesehen. Besser wäre ein smbclient-Befehl an dieser Stelle oder wenigstens ein smbmount und dann die obigen Befehle. Siehe ASK-Eintrag hier von JeffBeck, Stichwort "rumfroschen".

Lehrer händisch aus Klassen entfernen

Auch wenn es andere Methoden gibt, Klassen zu leeren, hier die manuelle Variante, abgekürzt, damit man es halbwegs lesen kann:

for i in 5a 5b 5c 6a 6b k1 k2 ; do sophomorix-class -c $i --admins "" ; done

Das setzt alle Admins auf den leeren String, d.h. niemand ist Administrator in der Klasse.

Stellt sich noch die Frage, wie man an die Liste der aktuellen Klassen kommt? Hier eine Möglichkeit:

sophomorix-class -i 

Der Output ist formatiert. Mit folgender Zeile kann alle gewünschten zu leerenden Klassen bekommen, in dem man in der Liste am Ende des Befehls alle nicht zu leerenden Klassen rausfiltert, grep -vE 'eins|zwei|drei|usw' . Dabei sind „Class“ und „adminclass“ dazu da die erste und letzte formatierte Zeile aus dem allgemeinen Befehl zu filtern.

sophomorix-class -i | grep '^|' | grep -vE 'Class|adminclass|praktikanten|attic'| awk -v ORS=' ' '{print $2}' 

Alles in allem geht es dann vielleicht so:

adminsweg=$(sophomorix-class -i | grep '^|' | grep -vE 'Class|adminclass|attic'| awk -v ORS=' ' '{print $2}')
echo $adminsweg
for i in $adminsweg ; do sophomorix-class -c $i --admins "" ; done

Klassen löschen / Leere Klassen löschen

Folgende Befehle sind für manche sinnvoll, z.B. wenn sie den Schuljahreswechsel so gestalten, dass alle Schüler aus der CSV entfernt werden (in attic geschoben werden), dann aufgeräumt wird und dann die Schüler wieder in die CSV kommen (mit neuer Klassenzuordnung).

Dank an @gpeter für die Zusammenfassung:

Entweder über Ändern des Status'

## Ändern des Status von Permanent auf "M"
sophomorix-class -c 02fs02 --status M
 
## anschließenden löschens dieser so umgestellten Klassen per 
sophomorix-class --delete-all-empty-classes

oder direktes Löschen:

## direktes Löschen einer Klasse unabhängig von Status und Besitz
sophomorix-class --kill --class 01fsu02
 [[anwenderwiki:server_lmn7:sophomorix:schuljahreswechsel]] anwenderwiki/server_lmn7/sophomorix/schuljahreswechsel.txt · Zuletzt geändert: 2024/09/02 00:24 von maxeg