Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden

User Profile Plugin: Formularbasierte Suche für das Profil erstellen

Bereits mehrfach wurden wir von Kunden angefragt ob es möglich ist, zu unserem User Profile Plugin auch eine strukturierte, erweiterte Suche über verschiedene Felder des Benutzerprofils anzubieten.

Grundsätzlich lassen sich bereits nach der Installation des User Profile Plugins alle Felder des Nutzerprofils durchsuchen. Dazu gibt man den Namen des Feldes und den Suchbegriff wie in Abbildung 1 gezeigt ein.

Strukturiert im Profil suchen mit der Standardsuche.
Abbildung 1: Standardsuche

Diese Vorgehensweise hat jedoch den Nachteil, dass die Nutzer die Bezeichnungen der Profilfelder kennen müssen. Komfortabler und intuitiver ist an dieser Stelle ein Formular.
Wir haben uns auf die Suche gemacht und sind mit dem Advanced Search Plugin von Adaptavist fündig geworden. Für das Advanced Search Plugin benötigt man eine Lizenz, die nach dem Ausfüllen eines Fragebogens kostenfrei erteilt wird.

Nach der Installation geht’s dann los. Leider erschließt sich aus der Dokumentation nicht sofort, wie man daraus eine Erweiterte Suche für unser UPP erstellen kann. Aus diesem Grund gibt es hier nun eine Schritt für Schritt Anleitung:

  1. Überlegen sie sich eine sinnvolle Zusammenstellung ihres Formulars
  2. Schlagen sie anschließend die Feldbezeichnungen in der Confluence Administration im Punkt UserProfilePlugin nach. Wichtig an dieser Stelle: nutzen sie die englische Bezeichnung.
  3. Erstellen Sie eine Wikiseite für die erweiterte Personensuche. Auf dieser wird das entsprechende Wiki-Markup des Advanced Search Plugins eingefügt.
  4. Zum schnellen Einstieg können Sie sich das im Beispiel (siehe unten) stehende Wiki-Markup kopieren. Dann müssen Sie nur noch die Werte für die metadataKey-Parameter anpassen. 

Exemplarisch haben wir für unsere Nutzer das Profil wie in Abbildung 2 erweitert.

Erweitertes Profil
Abbildung 2: Mit dem User Profile Plugin erweitertes Profil

Die erweiterte Personensuche soll nun nach den Feldern: Team, Abteilung, Erfahrung, Ort und Telefon suchen. Als Administrator schaut man nun unter „Confluence Admin“ nach, wie die englische Bezeichnung der entsprechenden Felder unter User Profile Configuration hinterlegt wurden. Da wir im Beispiel da keinen Unterschied gemacht haben, ist die Bezeichnung für beide Sprachen gleich.

Danach wird nun eine Wiki-Seite „Personensuche“ angelegt. Ein Suchformular wird über eine recht komplexe Kombination von Macros erstellt. Zum schnellen Einstieg können Sie sich das im folgenden Beispiel stehende Wiki-Markup kopieren. Dann müssen Sie nur noch die Werte für die metadataKey-Parameter anpassen.

Für die Umsetzung unseres Beispiels haben wir folgenden Code verwendet:

h2. Personensuche
{search-form}
| Team: | {search-input:type=text|match=metadata|metadataKey=Team} |
| Abteilung: | {search-input:type=text|match=metadata|metadataKey=Abteilung} |
| Erfahrung: | {search-input:type=text|match=metadata|metadataKey=Erfahrung} |
| Ort: | {search-input:type=text|match=metadata|metadataKey=Ort} |
| Telefon: | {search-input:type=text|match=metadata|metadataKey=Telefon} |
{search-submit:Suche absenden}
{search-form}
{search-results}

Mit dem Makro {search-form} wird das Suche-Formular definiert. Für das Macro {search-input} muss der Werte "metadata" für den Parameter "match" und die Angabe des zu durchsuchenden Feldes über den Parameter "metadataKey" angegeben werden. Der Wert des Parameters metadataKey gibt an, welches Feld des Profils durchsucht werden soll. An dieser Stelle wird nun die englische Bezeichnung aus der User Profile Konfiguration eingetragen. In unserem Beispiel heißt das Feld Team. Achtung, bei der Angabe des Feldnamens müssen Sie wie bei der strukturierten Suche Groß-/Kleinschreibung beachten sowie Leer- und Sonderzeichen der Lucene-Suchsyntax (http://confluence.atlassian.com/display/DOC/Confluence+Search+Syntax) mit einem vorangestellten Backslash markieren. ..."

Bevor das Formular mit {search-form} geschlossen wird, folgt noch der Button zum Starten der Suche {search-submit:Suche absenden}. Das Makro {search-results} ist für die Anzeige der Suchergebnisse verantwortlich.

Formularbasierte, erweiterte Suche
Abbildung 3: Formularbasierte, erweiterte Suche

Nun muss die Seite nur noch abgespeichert werden und schon steht die erweiterte Suche zur Verfügung.

Hilfreiche Links:

Related Posts

Hi! Do you have a sup­plier for CustomWare Reporting Plugin? We're having issues with Advanced Search so we pre­fer customware. 

Thanks!

blank Sandro Herrmann

Hi Ranjeet,

thanks for your feed­back to this arti­cle. Currently, there is no sup­plier imple­men­ted for the user pro­file plugin. But we already have a ticket for this requi­re­ment (https://jira.communardo.de/browse/UPP-73). Feel free to vote on that issue to incre­ase it's impor­t­ance. We hope to get it into one of the next releases.

Kind Regards,
Sandro

We need this too, for a customer.

And UPP-73 is not visi­ble to me.

Comments are closed.

Pin It on Pinterest