Univention Bugzilla – Bug 28288
Es werden nicht alle Gruppen gefunden, wenn name != <school>-*
Last modified: 2012-12-19 15:56:04 CET
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).
(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!
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"?
Der Suchfilter sollte entsprechend angepasst werden.
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.
Created attachment 4918 [details] Patch für ucs-school-lib
Created attachment 4919 [details] Patch für ucs-school-umc-distribution
Anbei schonmal die Patches für ein Live-System.
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.1 → Bug 29830
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.
(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.
Created attachment 4922 [details] Patch für das Prefix-Handling in der Materialverteilung
Created attachment 4923 [details] Patch für das Prefix-Handling in der Raumverwaltung
Created attachment 4924 [details] Patch für das Form-Handling in der Raumverwaltung
(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
Created attachment 4925 [details] Patch für das Prefix-Handling in der Materialverteilung
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.
(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?
(In reply to comment #16) > Bei Schule="oberschule", Arbeitsgruppe="mittelschule-oberschule-ag1" kommt es > zu folgenden Phänomenen: > > ... Gleiches Verhalten bei Klassen.
(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.
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.
http://errata.univention.de/ucsschool-errata18.html http://errata.univention.de/ucsschool-errata19.html http://errata.univention.de/ucsschool-errata20.html