Bug 24341 - Vereinfachte Suche, Attribute einschränken
Vereinfachte Suche, Attribute einschränken
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Domain management (Generic)
UCS 3.0
Other Linux
: P2 enhancement (vote)
: UCS 3.1
Assigned To: Dirk Wiesenthal
Florian Best
: interim-2
: 25099 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-11-02 20:57 CET by Stefan Gohmann
Modified: 2022-08-26 14:17 CEST (History)
5 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): Usability
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-11-02 20:57:04 CET
> - Bei der Suche kann man nach recht exotischen Attributen suchen, z.B. bei
> Benutzern nach "gesperrte Anmeldeverfahren" oder bei Gruppen
> nach "Samba-Gruppentyp". Grundsätzlich ist das ok, allerdings wird dem
> Sucheingabefeld ein Dropdown, in dem man nichts auswählen kann. Erwarten
> wprde ich, dass dort dann bei "Samba-Gruppentyp" z.B. die möglichen
> Samba-Gruppentypen auswählbar sind.
Comment 1 Stefan Gohmann univentionstaff 2011-11-03 06:28:10 CET
Das eigentliche Problem ist behoben. Ich denke dennoch, das wir per Default die Attribute einschränken sollten.
Comment 2 Alexander Kläser univentionstaff 2012-01-23 17:22:55 CET
*** Bug 25099 has been marked as a duplicate of this bug. ***
Comment 3 Alexander Kläser univentionstaff 2012-01-23 17:24:24 CET
Auch nochmal in der internen Diskussion aufgekommen:

> - Der für Substring-Suche führende und abschliessende Asterisk sollte nicht
> notwendig sein, d.h. wenn ich "mueller" eingebe. sollte auch "hmueller"
> oder "mueller@univention.de" gefunden werde.
Comment 4 Alexander Kläser univentionstaff 2012-01-23 17:26:17 CET
(In reply to comment #3)
> Auch nochmal in der internen Diskussion aufgekommen:
> 
> > - Der für Substring-Suche führende und abschliessende Asterisk sollte nicht
> > notwendig sein, d.h. wenn ich "mueller" eingebe. sollte auch "hmueller"
> > oder "mueller@univention.de" gefunden werde.

→ in der vereinfachten Suchen bräuchte dann nur ein einfaches Suchfeld angezeigt zu werden ohne Dropdown-Menüs.
Comment 5 Alexander Kläser univentionstaff 2012-06-19 13:45:39 CEST
Die Suche nach Gruppennamen könnte ggf. auch berücksichtig werden (Bug 27613)
Comment 6 Stefan Gohmann univentionstaff 2012-07-11 07:59:29 CEST
Zunächst auf 3.0-x geschoben, da es nicht zwingend für 3.0-2 umgesetzt werden muss.
Comment 7 Stefan Gohmann univentionstaff 2012-07-17 17:09:46 CEST
UCS 3.1 will be the next release.
Comment 8 Alexander Kläser univentionstaff 2012-08-16 10:28:50 CEST
*** Bug 28235 has been marked as a duplicate of this bug. ***
Comment 9 Dirk Wiesenthal univentionstaff 2012-08-16 18:08:49 CEST
(In reply to comment #3)
> Auch nochmal in der internen Diskussion aufgekommen:
> 
> > - Der für Substring-Suche führende und abschliessende Asterisk sollte nicht
> > notwendig sein, d.h. wenn ich "mueller" eingebe. sollte auch "hmueller"
> > oder "mueller@univention.de" gefunden werde.

Die Handhabung von Asterisks kann mit
  univention-management-console 5.0.13-1.667.201208161801

einfacher werden.

Vorher:
def method(self, request):
  pattern = request.options.get('pattern')
  if not pattern.endswith('*'):
    pattern += '*'
  # ... did i think of every detail?
  # do other modules behave the same way?
  pattern = re.compile(pattern)

Nachher:
@sanitize(pattern=PatternSanitizer())
def method(self, request):
  pattern = request.options.get('pattern')
  # already a reg exp. is handled uniformly throughout umc if used everywhere!
Comment 10 Dirk Wiesenthal univentionstaff 2012-09-25 13:45:30 CEST
Der PatternSanitizer wurde benutzt in:

  univention-management-console-module-ucr 2.0.1-1.35.201209251248
  univention-management-console-module-top 2.0.1-1.18.201209251306
  univention-management-console-module-services 2.0.2-1.13.201209251316

an UVMM wage ich mich nicht ran.

Für den UDM muss ein neuer geschrieben werden (da LDAP-Suche, nicht String-Suche per RegExp)
Comment 11 Dirk Wiesenthal univentionstaff 2012-09-25 19:23:26 CEST
LDAPSearchSanitizer wurde hinzugefügt und jede UDM-Klasse angeschaut, welche Attribute denn wohl per Default durchsucht werden sollen.

  univention-directory-manager-modules 8.0.38-1

und 

  univention-management-console-module-udm 3.0.12-1.239.201209251917
Comment 12 Florian Best univentionstaff 2012-09-26 08:17:16 CEST
in ucr/query: key=ChoicesSanitizer(['all', 'key', 'value', 'description'], default='variable')
aus 'variable' muss wohl 'value' gemacht werden ;)
Comment 13 Dirk Wiesenthal univentionstaff 2012-09-26 09:37:15 CEST
Vielleicht, vielleicht auch nicht. Das ist tatsächlich ein Fehler. Aber einer, der auch schon vorher existierte. Siehe die gelöschten Zeilen in Revision 35844

Streng genommen also ein eigener Bug, ich habe es nur falsch übernommen. Mit eben diesem Fehler hätte die vorherige Funktion ohne Angabe von "key" die Zusammenarbeit ververweigert (weil "variable" nichts Sinnvolles ergeben hätte), also setze ich "key" jetzt auf required, damit die Funktion sich sehr ähnlich verhält und wenigstens nicht abstürzt.

Da die Funktion ohnehin nur vom Frontend benutzt wird und dieses "key" immer mitschickt, ist das alles auch nicht so wichtig. Wenn sich das irgendwann mal ändert, kann man das ja in einem neuen Enhancement Bug noch mal überprüfen, was ein guter default wäre. Ich persönlich wäre bei Auslassung ja entweder für "key" oder "all".

  univention-management-console-module-ucr 2.0.2-1
Comment 14 Alexander Kläser univentionstaff 2012-09-26 14:26:18 CEST
Cool, bei mir funktioniert die Suche in "allen" Attributen. Im UDM kann für die vereinfachte Suche noch die ComboBox "Eigenschaft" ausgeblendet werden.

Es wäre gut, wenn die Default-Search-Attribute, die vom Postinst des UMC-UDM-Moduls mitgebracht werden, beim Update zurückgenommen (sollten sie noch auf den gleichen Wert gesetzt seien) und nicht wieder neu gesetzt werden, so dass der Standard "alle Attribute" ist:

> univention-config-registry set directory/manager/web/modules/users/user/search/default?username \
>     directory/manager/web/modules/dhcp/service/search/default?service
Comment 15 Alexander Kläser univentionstaff 2012-09-26 14:38:58 CEST
Der Aufruf für udm/syntax/choices (bspw. für Netzwerk- und DNS-ComboBoxen bei Computern) liefert eine leere Liste zurück:

> umc-command -U Administrator -P univention -f computers/computer udm/syntax/choices -o syntax=network

Der dazugehörige Filter sieht nicht ganz korrekt aus:

> Searching for LDAP objects: container = , filter = (|(netmask=None)(name=None)(network=None)), superordinate = None
Comment 16 Dirk Wiesenthal univentionstaff 2012-09-26 18:48:14 CEST
Das Postinst wurde angepasst. Alle default-search Attribute == "name" werden zurückgesetzt.

Die ComboBox mit den Attributen wird in der einfachen Suche ausgeblendet. Dadurch "springt" das Formular ganz schön, wenn man es erweitert...

Fixed in
  univention-management-console-module-udm 3.0.13-1.240.201209261838
Comment 17 Dirk Wiesenthal univentionstaff 2012-10-01 12:17:09 CEST
Durch das Entfernen der Default Attributes == "name" wurde UDM's MultiObjectSelect schwer zu bedienen: Wollte man etwa die Vorgesetzten auswählen, so suchte man seitdem nicht mehr in username, sondern in "Abteilungsnummer" (weil es das erste in der Liste war).

Ich habe auch hier die Standardattribute als Vorauswahl in dieses Widget gebracht und dabei noch einen Sanitizer benutzt, damit man nach "(" suchen kann und "*" vorne und hinten angehängt werden.

univention-management-console-module-udm 3.0.14-1.241.201210011212
Comment 18 Florian Best univentionstaff 2012-10-11 10:48:49 CEST
In den property_descriptions kann include_in_default_search auf 1 gesetzt werden, um die property suchbar zu machen.

diff <(ack-grep -l property_descriptions ) <(ack-grep -l include_in_default_search)

OK: im postinst werden alles "name" defaultsuchen gelöscht

OK: es wird nicht der erste Eintrag als default im MultiSelect angezeigt.

Changelog ist OK

getestet mit:
univention-management-console-module-udm (3.0.24-1)
univention-directory-manager-modules (8.0.50-1)

Die pattern-tests waren auch erfolgreich:
univention-management-console-module-ucr (2.0.2-1)
univention-management-console-module-top (2.0.1-1)
univention-management-console-module-services (2.0.2-1)
Comment 19 Stefan Gohmann univentionstaff 2012-12-12 21:08:03 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".