Bug 20645 - Umbenennen von Klassengruppen/-freigaben zum Schuljahreswechsel
Umbenennen von Klassengruppen/-freigaben zum Schuljahreswechsel
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Import scripts
UCS@school for UCS 2.4
Other Linux
: P2 enhancement (vote)
: UCS@school 3.0 MS1
Assigned To: Felix Botner
Sönke Schwardt-Krummrich
:
: 15034 (view as bug list)
Depends on: 26025 26069
Blocks:
  Show dependency treegraph
 
Reported: 2010-11-10 16:49 CET by Sönke Schwardt-Krummrich
Modified: 2013-06-26 14:43 CEST (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke Schwardt-Krummrich univentionstaff 2010-11-10 16:49:25 CET
Beim Schuljahreswechsel werden derzeit alle Schüler einer neuen Klasse zugeordnet. Damit geht einher, dass die Schüler/Lehrer auch in neuen Klassengruppen Mitglied werden. Da diese neuen Klassengruppen andere SIDs/GIDs aufweisen, besteht nach dem Schuljahreswechsel kein Zugriff mehr auf alte Dateien, die sich jetzt in anderen Verzeichnissen befinden, und es befinden sich ggf. noch alte Dateien von der "Vorgängerklasse" in der Klassenfreigabe.

Es sollte eine Möglichkeit geben, Klassen umzubenennen, ohne dass die in den Freigaben vorhandenen Daten verloren gehen oder wg. anderer Zugriffsrechte nicht mehr zugreifbar sind. Dabei müssen das Listener-Modul in ucs-school-old-sharedirs
entsprechend angepasst werden.

Der Ablauf zum Schuljahreswechsel sollte dann in etwa wie folgt sein:
- Alle Schüler aus den Klassengruppen entfernen
- Klassengruppen skriptbasiert umbenennen
- Alte Schüler löschen
- Vorhandene Schüler modifizieren
- Neue Schüler hinzufügen

In einem Kundenscope wurde bereits eine projektspezifische Variante umgesetzt.
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2012-01-10 11:10:47 CET
*** Bug 15034 has been marked as a duplicate of this bug. ***
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2012-01-10 11:11:43 CET
Bitte Patch an Bug 15034 beachten.
Comment 3 Felix Botner univentionstaff 2012-01-23 12:11:55 CET
Das ganze macht nur Sinn, wenn auch das Freigabe-Verzeichnis umbenannt wird. Dies ist jedoch nicht so ohne weiteres möglich. Bitte nochmal prüfen, wie es hier weitergehen soll.
Comment 4 Sönke Schwardt-Krummrich univentionstaff 2012-01-30 17:05:40 CET
Wie besprochen bitte das Umbenennen von Klassen über das Importskript testen.
Dabei sollen auch die Freigaben automatisch mit umbenannt werden. Bitte prüfen, ob die Freigaben/Verzeichnisse anschließend die richtigen Rechte aufweisen.
Comment 5 Felix Botner univentionstaff 2012-02-09 13:21:31 CET
Dies kann erst sinnvoll getestet werden, wenn  Bug #26069 und Bug #26025 erfolgreich QAed wurden sind.

Es gibt eine neuen Funktion/Script rename_class. Diese bekommt eine Input Datei mit den alten und neuen Klassennamen

s02-4r  s02-5r
s02-4B  s02-5B
s02-3C  s02-4C
s02-3B  s02-4B
s02-2A  s02-3A
s02-2B  s02-3B
s02-1A  s02-2A

Die Reihenfolge ist hierbei wichtig, da die Umbenennungen entsprechend dieser durchgeführt wird. Die ältesten Klassen müssen (von Hand) gelöscht werden

Das rename_class prüft im ersten Lauf die Korrektheit der Umbenennungen (also das keine Klasse auf eine vorhandene Klasse umbenannt wird). Im zweiten Schritt werden dann die Gruppen und Freigabe der Klassen umbenannt (bei Freigabe auch das Freigabeverzeichnis).
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2012-03-15 13:24:41 CET
Die Verzeichnisse werden auf einem DCSlave nicht umbenannt. Es existieren anschließend Verzeichnisse mit altem und neuem Namen, die beide der "neuen" Gruppe gehören. Der Inhalt der Verzeichnisse befindet sich allerdings nur im "alten" Verzeichnis.
UCS 3.0-1 Errata 39 mit UCS@school 3.0 MS1

root@dc711-01:/home/groups/klassen# touch 711-1A/711-1A
root@dc711-01:/home/groups/klassen# touch 711-1B/711-1B
root@dc711-01:/home/groups/klassen# 


root@singlemaster:~# cat klassen.txt 
711-1A  711-1Aneu
711-1B  711-1Bneu
root@singlemaster:~# /usr/share/ucs-school-import/scripts/rename_class klassen.txt
infile is  : klassen.txt
Renaming of group 711-1A to 711-1Aneu successfully
Renaming of share 711-1A to 711-1Aneu successfully
Renaming of group 711-1B to 711-1Bneu successfully
Renaming of share 711-1B to 711-1Bneu successfully
root@singlemaster:~#


root@dc711-01:/home/groups/klassen# ls -la 711-1*
711-1A:
insgesamt 8
drwxrwx---  2 root 711-1Aneu 4096 10. Jan 22:19 .
drwxr-xr-x 16 root nogroup   4096 10. Jan 22:20 ..
-rw-r--r--  1 root root         0 10. Jan 22:19 711-1A

711-1Aneu:
insgesamt 8
drwxrwx---  2 root 711-1Aneu 4096 10. Jan 22:20 .
drwxr-xr-x 16 root nogroup   4096 10. Jan 22:20 ..

711-1B:
insgesamt 8
drwxrwx---  2 root 711-1Bneu 4096 10. Jan 22:19 .
drwxr-xr-x 16 root nogroup   4096 10. Jan 22:20 ..
-rw-r--r--  1 root root         0 10. Jan 22:19 711-1B

711-1Bneu:
insgesamt 8
drwxrwx---  2 root 711-1Bneu 4096 10. Jan 22:20 .
drwxr-xr-x 16 root nogroup   4096 10. Jan 22:20 ..
root@dc711-01:/home/groups/klassen#
Comment 7 Felix Botner univentionstaff 2012-03-15 15:54:20 CET
Kann es sein, dass hier auch auf dem ShareHost die UCR Variable listener/shares/rename noch nicht auf true gesetzt wurde?

Ein sinnvoller default dafür wird über Bug #26531 realisiert.
Comment 8 Sönke Schwardt-Krummrich univentionstaff 2012-03-15 19:11:32 CET
(In reply to comment #7)
> Kann es sein, dass hier auch auf dem ShareHost die UCR Variable
> listener/shares/rename noch nicht auf true gesetzt wurde?

Korrekt, das war der Fall. Nach dem Setzen auf true funktioniert das Umbenennen
von Klassen.

root@dc711-01:/home/groups/klassen# ls -la 711-3B
insgesamt 8
drwxrwx---  2 root 711-3B  4096 11. Jan 03:42 .
drwxr-xr-x 17 root nogroup 4096 11. Jan 03:40 ..
-rw-r--r--  1 root root       0 11. Jan 03:42 TestDatei
root@dc711-01:/home/groups/klassen# 

root@singlemaster:~# /usr/share/ucs-school-import/scripts/rename_class
klassen.txt
infile is  : klassen.txt
Renaming of group 711-3B to 711-3Bneu successfully
Renaming of share 711-3B to 711-3Bneu successfully
root@singlemaster:~# 

root@dc711-01:/home/groups/klassen# ls -la 711-3B
ls: Zugriff auf 711-3B nicht möglich: Datei oder Verzeichnis nicht gefunden
root@dc711-01:/home/groups/klassen# ls -la 711-3Bneu/
insgesamt 8
drwxrwx---  2 root 711-3Bneu 4096 11. Jan 03:42 .
drwxr-xr-x 17 root nogroup   4096 11. Jan 03:44 ..
-rw-r--r--  1 root root         0 11. Jan 03:42 TestDatei
root@dc711-01:/home/groups/klassen# 

→ OK

Konflikte werden richtig erkannt:

---[cut]---
711-3Bneu       711-2Bneu
---[cut]---
root@singlemaster:~# /usr/share/ucs-school-import/scripts/rename_class
klassen.txt
infile is  : klassen.txt
ERROR: new share 711-2Bneu already exists (line 1: 711-3Bneu    711-2Bneu)
do nothing
root@singlemaster:~# 

---[cut]---
711-2Bneu       711-2B
711-3Bneu       711-2B
---[cut]---

root@singlemaster:~# /usr/share/ucs-school-import/scripts/rename_class
klassen.txt
infile is  : klassen.txt
ERROR: new share 711-2B already exists (line 2: 711-3Bneu       711-2B)
do nothing
root@singlemaster:~# 


Eine Doppelumbenennung funktioniert nicht, ist aber auch kein übliches
Szenario:

---[cut]---
711-2Bneu       711-2B
711-2B       711-2Btest
---[cut]---

root@singlemaster:~# /usr/share/ucs-school-import/scripts/rename_class
klassen.txt
infile is  : klassen.txt
Renaming of group 711-2Bneu to 711-2B successfully
Renaming of share 711-2Bneu to 711-2B successfully
root@singlemaster:~# 


> Ein sinnvoller default dafür wird über Bug #26531 realisiert.

→ OK

Für die fehlende Beschreibung von listener/shares/rename wurde Bug 26536
angelegt.

Der Changelogeintrag fehlt noch → REOPEN
Comment 9 Felix Botner univentionstaff 2012-03-19 13:34:59 CET
Changelog Eintrag ergänzt.
Comment 10 Sönke Schwardt-Krummrich univentionstaff 2012-03-22 14:55:06 CET
→ OK
Comment 11 Stefan Gohmann univentionstaff 2012-06-11 06:29:36 CEST
UCS@school 3.0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer  neueren Version von UCS@school erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"