Arbeiten mit Templates bei der Filterdefinition
Es sollen spezielle Objekte mit einer vorher definierten Informationsmenge (Attribute) ausgelesen werden. Als Verzeichnisdienst wird der OpenLDAP-Zugang der Universität von Michigan verwendet. Es wird als Kategorie "Benutzerdefinierte Suche" ausgewählt. Der Suchstring wird wie folgt definiert:
(&(objectClass=rfc822MailGroup)(cn=*%s*)(associatedDomain=itd.umich.edu))

Das bedeutet im Detail: Alle Objekte der Klasse "rfc822MailGroup", deren Attribute cn die in der Datei request.txt angegebene Zeichenkette enthält und das Attribut associatedDomain den Wert "itd.umich.edu" besitzt. Jede Zeile der Datei definiert gemeinsam mit dem Template den vollständigen Filter dieser Suchanfrage. Wenn die Datei drei Zeilen besitzt, werden drei Anfragen abgesetzt. Die Ergebnismenge wird dann im oberen Teil des Hauptfensters angezeigt.
(&(objectClass=rfc822MailGroup)(cn=*hostmaster*)(associatedDomain=itd.umich.edu))
Um die Antwortzeiten der Suche weiter zu optimieren, werden die Attribute ausschließlich auf die gewünschte Information reduziert. Zunächst wird das Attribut associatedDomain im lokalen Schema hinzugefügt. Danach wird ein neues Attributprofil mit dem Namen associatedDomain definiert.

Aus der Attributliste wird nun das Attribut associatedDomain und dn ausgewählt. Die Konfiguration wird gespeichert.

Im Profil "UniversityofMichigan_SSL" wird jetzt in der Listbox Profile Attribute das Profil associatedDomain selektiert. Jetzt wird bei der Abfrage nur das Attribut bei der Suchanfrage berücksichtigt. Das Ergebnis liefert einen Eintrag:
| dn |
associatedDomain |
cn |
| cn=hostmaster,ou=System Groups,ou=Groups,dc=umich,dc=edu |
umich.edu itd.umich.edu |
hostmaster dns-maintenance hostmasters |
Wenn man den Filter wie folgt modifiziert:
(&(objectClass=rfc822MailGroup)(cn=*%s*)(associatedDomain=umich.edu)
werden in der Ergebnismenge 5 Treffer ermittelt. Die Anfrage mit dem Pattern:
| dn |
associatedDomain |
cn |
| cn=hostmaster,ou=System Groups,ou=Groups,dc=umich,dc=edu |
umich.edu itd.umich.edu |
hostmaster dns-maintenance hostmasters |
| cn=bfhostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu |
umich.edu |
bfhostmaster |
| cn=lsa hostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu |
umich.edu |
lsa-hostmaster lsa hostmaster |
| cn=UMMC-Hostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu |
umich.edu |
UMMC-Hostmaster UMMC Hostmaster umhs-hostmaster med-hostmaster med hostmaster |
| cn=ieee-hostmaster,ou=User Groups,ou=Groups,dc=umich,dc=edu |
umich.edu |
ieee-hostmaster |
(&(objectClass=rfc822MailGroup)(cn=*%s*)(associatedDomain=*)
liefert alle Elemente, die das Attribut associatedDomain überhaupt besitzen. Nimmt man weiterhin an, das ausschließlich die Zeichenketten "umich.edu" und "itd.umich.edu" existieren, muss die Suchanfrage zwangsläufig das Ergebnis aus den ersten beiden Versuchen enthalten, also 5 Treffer. Über diesen eleganten Weg lassen sich beliebig komplexe Strukturen auf einfache Weise auslesen. Im Beispiel "Statistiken im XML-Format" erfolgt eine grafische Visualisierung der Trefferliste.