Hallo,
Ich habe ein “Extended Attribute” erzeugt, dessen Datentyp “string” ist. Das Attribut kann dann im “Advanced” Tab in der entsprechenden Rubrik gefunden und editiert werden. Soweit gut. Nun aber möchte ich dieses Feld zu einer Dropdown-Liste machen und habe versucht, die Anleitung ab 6.4.2 zu befolgen.
Ich habe also eine Syntax-Definition angelegt und diese als Datentyp zugewiesen, was zumindest soweit funktioniert, daß mein Eingabefeld wunschgemäß zu einem Dropdown-Feld wird (mit dem zusätzlichen Leerstring, so wie ich es verlangt habe). Aber die Liste bleibt immer leer, und ich sehe nicht warum. Ich will die Liste mit Servernamen füllen, die entsprechende LDAP-Query von Hand abgesetzt (mit univention-ldapsearch) liefert genau die beabsichtigten Ergebnisse. Da die Server, die ich da ermittle, auch unterschiedliche Rollen haben können, kann ich in der Syntax-Definition keine UDM-Klasse referenzieren, denn ich müßte da immer genau EINE Klasse angeben (siehe Beschreibung von “value” und “attribute”). Deshalb greife ich zurück auf die Methode, die als “LDAP_Search” beschrieben ist, und statt der Felder “attribute” and “value” benutze ich die Felder “ldapattribute” und “ldapvalue”, so wie es unter “UDM API” steht. Hier ist der Ausschnitt, der die Syntax-Definition für den Datentyp “myListOfProperties” erzeugt:
univention-directory-manager settings/syntax create "$@" --ignore_exists \
--position "cn=my_position,cn=custom attributes,cn=univention,$ldap_base" \
--set name='myListOfProperties' \
--set addEmptyValue='1' \
--set ldapattribute='the_attribute'
--set filter='(&(univentionService=a_distinct_service)(the_attribute=*))' \
--set ldapvalue='the_attribute'
Es soll also aus allen Hosts, die den univentionService=a_distinct_service haben, die Werte von the_attribute auslesen (dies ist ein Multivalue-Feld) und dem Nutzer zur Auswahl anbieten. Das Resultat ist immer, daß die Auswahl leer bleibt. Ich bekomme das gleiche Ergebnis, wenn ich diese Angaben selbst in der UMC als “Syntax” anlege und die betreffenden Felder entsprechend fülle.
Wo ist der Denkfehler? Ich möchte mir gern den Aufwand sparen, unbedingt eine zusätzliche UDM-Klasse zu erfinden, bloß als Umweg um solch ein Dropdown zu bekommen.
viele Grüße
Frank Greif.