Bug 28288 - Es werden nicht alle Gruppen gefunden, wenn name != <school>-*
Es werden nicht alle Gruppen gefunden, wenn name != <school>-*
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: UMC - Computer room administration
UCS@school 3.0
Other Linux
: P5 normal (vote)
: UCS@school 3.0-errata
Assigned To: Alexander Kläser
Dirk Wiesenthal
:
Depends on:
Blocks: 29830
  Show dependency treegraph
 
Reported: 2012-08-23 10:48 CEST by Tim Petersen
Modified: 2012-12-19 15:56 CET (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
Patch für ucs-school-lib (592 bytes, patch)
2012-12-13 15:47 CET, Alexander Kläser
Details | Diff
Patch für ucs-school-umc-distribution (985 bytes, patch)
2012-12-13 15:48 CET, Alexander Kläser
Details | Diff
Patch für das Prefix-Handling in der Materialverteilung (1.15 KB, patch)
2012-12-17 14:29 CET, Alexander Kläser
Details | Diff
Patch für das Prefix-Handling in der Raumverwaltung (1.41 KB, patch)
2012-12-17 14:30 CET, Alexander Kläser
Details | Diff
Patch für das Form-Handling in der Raumverwaltung (389 bytes, patch)
2012-12-17 14:37 CET, Alexander Kläser
Details | Diff
Patch für das Prefix-Handling in der Materialverteilung (1.02 KB, patch)
2012-12-17 14:55 CET, Alexander Kläser
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Petersen univentionstaff 2012-08-23 10:48:56 CEST
Aufgefallen an Ticket #2012082221000552:
Der Suchfilter für Gruppen im schoolrooms Modul lautet "(&(|(name=<Schulname>-*)(description=*)))".
Das führt dazu, dass bei Gruppen, welche anders benannt sind (beispielsweise über Importskript angelegt, etc.) der "name=" Filter nie matched und nur noch Objekte zurückgegeben werden, die eine Beschreibung (description) haben.

In 3.0 werden Computerräume stets mit dieser Syntax angelegt. In 2.4 wurde der Name lediglich in dieser Syntax vorgeschlagen, er war editierbar. Über Importskripte sind Computerräume nicht anlegbar.

D.h. die problematik sollte lediglich Updateszenarien betreffen (wo eine abweichende Benennung verwendet wird).
Comment 1 Tim Petersen univentionstaff 2012-08-23 10:50:41 CEST
(In reply to comment #0)
> Das führt dazu, dass bei Gruppen, welche anders benannt sind (beispielsweise
> über Importskript angelegt, etc.)

Sind nicht über Importskripte anlegbar!
Comment 2 Tim Petersen univentionstaff 2012-09-11 10:15:16 CEST
An Ticket #2012090721000721 aufgefallen:
Im Modul Materialverteilung wird der gleiche LDAP-Filter verwendet (LDAP_Filter.forGroups(request.options.get( 'pattern', '' ), search_base.school)) == "(&(|(name=<Schulname>-*)(description=*)))".

Das führt dazu, dass Klassen, Arbeitsgruppen oder PC-Räume (Gruppen), welche nicht so angelegt wurden, nicht angezeigt werden.
Ich könnte mir vorstellen, dass der Suchfilter noch an weiteren Stellen verwendet wird.

Klassen können unter 2.4 mit entsprechenden Importskripten problemlos ohne den Prefix importiert werden. Auch unter 3.0 geht das.

2.4:
[...]
need to create group cn=4F,cn=klassen,cn=schueler,cn=groups,ou=don,dc=univention,dc=qa
creating object cn=4F,cn=klassen,cn=schueler,cn=groups,ou=don,dc=univention,dc=qa
[...]

3.0:
[...]
need to create group cn=4F,cn=klassen,cn=schueler,cn=groups,ou=testschule,dc=school,dc=tim
creating object cn=4F,cn=klassen,cn=schueler,cn=groups,ou=testschule,dc=school,dc=tim
[...]


Im 2.4 und 3.0 Handbuch steht folgender Hinweis:
"
Es ist zu beachten, dass die Klassennamen domänenweit eindeutig sein müssen. Das heißt eine Klasse 1A kann nicht in mehreren OUs verwendet werden. Daher sollte jeder Klasse automatisch die OU vorangestellt werden.
"

Beim aktuellen Kunden wird der Prefix "Schulname." verwendet, beim ersten Auftreten verwendete der Kunde als prefix "Schulname".
Eventuell reicht es auch aus, im handbuch entsprechend darauf hinzuweisen, dass der Prefix nicht "Schule-" sein "sollte", sondern "muss"?
Comment 3 Stefan Gohmann univentionstaff 2012-09-11 10:23:52 CEST
Der Suchfilter sollte entsprechend angepasst werden.
Comment 4 Alexander Kläser univentionstaff 2012-12-13 11:44:22 CET
Ich hab Test-Gruppen für Klassen, AGs und Räume jeweils ohne Prefix angelegt und konnte nur Probleme in folgenden Modulen feststellen:

* Computerräume verwalten
* Materialverteilung

In den anderen Modulen konnten die Gruppen verwendet werden.
Comment 5 Alexander Kläser univentionstaff 2012-12-13 15:47:55 CET
Created attachment 4918 [details]
Patch für ucs-school-lib
Comment 6 Alexander Kläser univentionstaff 2012-12-13 15:48:38 CET
Created attachment 4919 [details]
Patch für ucs-school-umc-distribution
Comment 7 Alexander Kläser univentionstaff 2012-12-13 15:49:25 CET
Anbei schonmal die Patches für ein Live-System.
Comment 8 Alexander Kläser univentionstaff 2012-12-14 14:10:26 CET
Die YAML-Dateien wurden ins SVN gestellt:

  2012-12-14-ucs-school-lib.yaml
  2012-12-14-ucs-school-umc-distribution.yaml

Bug zur Übernahme der Änderungen nach UCS@school-3.1Bug 29830
Comment 9 Jascha Geerds univentionstaff 2012-12-14 16:31:53 CET
Ich habe folgende Objekte in einer Umgebung ohne den Fix erstellt:

- testklasse-ohne
- testklasse-mit 
- testraum-ohne
- testraum-mit
- testgruppe-ohne
- testgruppe-mit

(das "-mit" und "-ohne" bezieht sich darauf, ob das Objekt eine Beschreibung besitzt)

Ich habe was die testklassen angeht keinerlei Probleme feststellen können. Bei den testräumen und testgruppen sieht dies jedoch anders aus. Wenn eine Gruppe oder ein Raum _keine_ Beschreibung besitzt, wird das Objekt nirgends angezeigt (bspw. in der Übersicht der Computerraum-Administration).

Die Objekte mit der Beschreibung werden nur "halbwegs" korrekt behandelt. Im Falle der Computerraum-Administration wird der Name im Grid korrekt dargestellt. Wenn ich jedoch das Objekt angeklickt habe, stand in dem Feld Name nur noch "mit".

In einigen Modulen gehen wir davon aus, dass sobald ein "-" im Name ist, der vordere Teil der Schulname sein muss und wir diesen ausblenden oder sogar ggf. wirklich abschneiden.

Nachdem ich den Fix eingespielt habe, wurden auch die Objekte ohne Beschreibung dargestellt, allerdings wie zuvor auch: nur "halbwegs". Bei mehreren Bereichen tauchte dann wieder der kaputte Name auf.

Der kaputte Name ist keine reine Darstellungssache, denn bspw. im Modul Computerraum-Administration kann man keine Computer zum Raum hinzufügen, wenn es sich um einen Raum mit diesem "kaputten" Namen handelt.

Ich denke das sollte noch angepasst werden, ansonsten ist dieser Fix eher sinnlos.
Comment 10 Alexander Kläser univentionstaff 2012-12-17 13:47:25 CET
(In reply to comment #9)
> Ich habe folgende Objekte in einer Umgebung ohne den Fix erstellt:
> 
> - testklasse-ohne
> - testklasse-mit 
> - testraum-ohne
> - testraum-mit
> - testgruppe-ohne
> - testgruppe-mit
> 
> (das "-mit" und "-ohne" bezieht sich darauf, ob das Objekt eine Beschreibung
> besitzt)
> 
> Ich habe was die testklassen angeht keinerlei Probleme feststellen können. Bei
> den testräumen und testgruppen sieht dies jedoch anders aus. Wenn eine Gruppe
> oder ein Raum _keine_ Beschreibung besitzt, wird das Objekt nirgends angezeigt
> (bspw. in der Übersicht der Computerraum-Administration).

Probleme bei Räumen/AGs ohne Beschreibung konnte ich nachstellen.

> Die Objekte mit der Beschreibung werden nur "halbwegs" korrekt behandelt. Im
> Falle der Computerraum-Administration wird der Name im Grid korrekt
> dargestellt. Wenn ich jedoch das Objekt angeklickt habe, stand in dem Feld Name
> nur noch "mit".
> 
> In einigen Modulen gehen wir davon aus, dass sobald ein "-" im Name ist, der
> vordere Teil der Schulname sein muss und wir diesen ausblenden oder sogar ggf.
> wirklich abschneiden.
>
> Nachdem ich den Fix eingespielt habe, wurden auch die Objekte ohne Beschreibung
> dargestellt, allerdings wie zuvor auch: nur "halbwegs". Bei mehreren Bereichen
> tauchte dann wieder der kaputte Name auf.
> 
> Der kaputte Name ist keine reine Darstellungssache, denn bspw. im Modul
> Computerraum-Administration kann man keine Computer zum Raum hinzufügen, wenn
> es sich um einen Raum mit diesem "kaputten" Namen handelt.

Das stimmt. Im AG-Modul ist dies nur ein "kosmetisches" Problem, da der Name nachträglich nicht verändert werden kann:
→ Auslagerung nach Bug 29841

In der Materialverteilung ist dies auch ein "kosmetisches" Problem, aber etwas ärgerlicher. Da das Paket sowieso angepasst wird über diesen Bug wird das Problem auch zusätzlich mit korrigiert.

Das Problem in der Raumverwaltung ist gravierend und wird noch zusätzlich mit behoben, da ansonsten Räume ohne Präfix nicht bearbeitet werden können.
Comment 11 Alexander Kläser univentionstaff 2012-12-17 14:29:37 CET
Created attachment 4922 [details]
Patch für das Prefix-Handling in der Materialverteilung
Comment 12 Alexander Kläser univentionstaff 2012-12-17 14:30:48 CET
Created attachment 4923 [details]
Patch für das Prefix-Handling in der Raumverwaltung
Comment 13 Alexander Kläser univentionstaff 2012-12-17 14:37:38 CET
Created attachment 4924 [details]
Patch für das Form-Handling in der Raumverwaltung
Comment 14 Alexander Kläser univentionstaff 2012-12-17 14:48:54 CET
(In reply to comment #10)
> ...
> In der Materialverteilung ist dies auch ein "kosmetisches" Problem, aber etwas
> ärgerlicher. Da das Paket sowieso angepasst wird über diesen Bug wird das
> Problem auch zusätzlich mit korrigiert.
> 
> Das Problem in der Raumverwaltung ist gravierend und wird noch zusätzlich mit
> behoben, da ansonsten Räume ohne Präfix nicht bearbeitet werden können.

Die beiden Patches beheben die aufgezeigten Probleme. Wird in der Raumverwaltung ein Raum ohne Präfix umbenannt, so wird ihm auch weiterhin kein Präfix gegeben.

Der letzte Patch ermöglicht es via einfaches "Return" im Formular der Raum-Detailseite die Daten zu speichern.

Eine neue YAML-Datei für das Raumverwaltungsmodul wurde im SVN hinzugefügt, bitte einmal überprüfen:

  2012-12-14-ucs-school-lib.yaml
  2012-12-14-ucs-school-umc-distribution.yaml
  2012-12-14-ucs-school-umc-rooms.yaml
Comment 15 Alexander Kläser univentionstaff 2012-12-17 14:55:11 CET
Created attachment 4925 [details]
Patch für das Prefix-Handling in der Materialverteilung
Comment 16 Dirk Wiesenthal univentionstaff 2012-12-18 11:21:31 CET
Bei Schule="oberschule", Arbeitsgruppe="mittelschule-oberschule-ag1" kommt es zu folgenden Phänomenen:

 * Im Grid wird angezeigt: "mittelschule-ag1" (!)
 * Die Seite zum Bearbeiten macht keine Auswahl in der ComboBox "Schule" (es bleibt die letzte Auswahl, verwirrend bei mehr als einer Schule)
 * Die Seite zum Bearbeiten zeigt als Namen "oberschule-ag1"
 * Die Suche nach neuen Mitgliedern hat auch keine "Schule" vorausgewählt. Die Box bleibt leer und es wird in der ersten Schule gesucht - das ist potentiell gefährlich, weil man dann aus Versehen die Lehrkraft Müller aus einer ganz anderen Schule dieser AG hinzufügt.
Comment 17 Dirk Wiesenthal univentionstaff 2012-12-18 12:55:53 CET
(In reply to comment #16)
> Bei Schule="oberschule", Arbeitsgruppe="mittelschule-oberschule-ag1" kommt es
> zu folgenden Phänomenen:
> 
> ...

Sollte diese Arbeitsgruppe, die ja per LDAP "oberschule" zugeordnet ist, in einer Domäne existieren, in der eine "mittelschule" existiert (zugegebenermaßen unwahrscheinlich, dass man dann die AG so nennt...), dann geht, soweit ich das sehe, nichts kaputt. Aber in den Formularen wird felsenfest davon ausgegangen, dass es sich um eine AG der "mittelschule" handelt (mitsamt Suchformular für neue Mitglieder). Kann man die Schule nicht einfach über die OU in der DN rauskriegen?
Comment 18 Dirk Wiesenthal univentionstaff 2012-12-18 13:46:14 CET
(In reply to comment #16)
> Bei Schule="oberschule", Arbeitsgruppe="mittelschule-oberschule-ag1" kommt es
> zu folgenden Phänomenen:
> 
> ...

Gleiches Verhalten bei Klassen.
Comment 19 Alexander Kläser univentionstaff 2012-12-18 14:37:43 CET
(In reply to comment #16)
> Bei Schule="oberschule", Arbeitsgruppe="mittelschule-oberschule-ag1" kommt es
> zu folgenden Phänomenen:
> 
>  * Im Grid wird angezeigt: "mittelschule-ag1" (!)
>  * Die Seite zum Bearbeiten macht keine Auswahl in der ComboBox "Schule" (es
> bleibt die letzte Auswahl, verwirrend bei mehr als einer Schule)
>  * Die Seite zum Bearbeiten zeigt als Namen "oberschule-ag1"
>  * Die Suche nach neuen Mitgliedern hat auch keine "Schule" vorausgewählt. Die
> Box bleibt leer und es wird in der ersten Schule gesucht - das ist potentiell
> gefährlich, weil man dann aus Versehen die Lehrkraft Müller aus einer ganz
> anderen Schule dieser AG hinzufügt.

Dieses Problem ist nicht kritisch, sollte also nicht im Rahmen dieses Errata-Bugs gelöst werden. Ich habe dazu Bug 29852 angelegt.
Comment 20 Dirk Wiesenthal univentionstaff 2012-12-18 15:38:19 CET
Funktion -> Ok
YAML -> Ok

ucsschool-errata/2012-12-14-ucs-school-umc-distribution.yaml
ucsschool-errata/2012-12-14-ucs-school-umc-rooms.yaml
ucsschool-errata/2012-12-14-ucs-school-lib.yaml

Errata kann veröffentlicht werden.