Veröffentlichung des Originalartikels: 20.08.2012

Das ist zugegebenermaßen ein ziemlich langer und alberner Titel … Worum geht es in diesem Beitrag? Lassen Sie es mich so ausdrücken: Vor einigen Tagen bin ich über Folgendes gestolpert: In meiner Organisation arbeiten Leute für unterschiedliche Abteilungen, wie Vertrieb, Finanzen usw. Gibt jemand eine Abfrage für etwas ein, beispielsweise „sales management pitch“, sollte diese auch den Leuten in der Vertriebsabteilung angezeigt werden … In Ordnung, das klingt nach einer spannenden Verwendung des neuen Abfrageregelfeatures in SharePoint 2013.

Für den Anfang gehen wir einen Schritt zurück und schauen auf ein dazugehöriges Aktivierungsfeature, das wir hier verwenden. Wenn Sie in SharePoint 2013 ein Profil aus Active Directory importieren, wird automatisch ein spezieller Ausdruckssatz im verwalteten Metadatendienst aufgefüllt. Es wird demnach eine Mastergruppe mit dem Namen „Personen“ erstellt, und drei Ausdruckssätze werden aufgefüllt: Abteilung, Position und Ort (HINWEIS: Es kann nicht garantiert werden, dass alle drei bei der Produktveröffentlichung noch vorhanden sind, möglicherweise sind dann nur noch zwei vorhanden). Während des Profilimportvorgangs wird jeder Ausdruckssatz mit eindeutigen Werten für alle Benutzer mit jeder dieser Eigenschaften aufgefüllt. Dies ist zum Beheben dieses Problems sehr hilfreich, wenn ich nämlich meine MMS betrachte, sehe ich in meiner Abteilungsliste „Sales“, da ich über Benutzer mit diesem Wert in ihrem Abteilungsattribut in AD verfüge:

 

Fabelhaft. Lassen Sie uns nun eine Abfrageregel erstellen. Wie ich bereits in meinem ersten Beitrag zu Abfrageregeln erwähnt habe (http://blogs.msdn.com/b/sharepoint_de/archive/2012/09/20/verwenden-von-abfrageregeln-ergebnistypen-und-anzeigevorlagen-f-252-r-eine-benutzerdefinierte-suche-nach-vertriebsberichten-in-sharepoint-2013.aspx), besteht die erste Maßnahme darin, den Zustand festzulegen, wann meine Regel ausgelöst werden soll. In diesem Fall verwenden wir die Option Advanced Query Text Match und wählen die letzte Auswahl Query contains an entry in this dictionary aus. Nun verfügt es über eine etwas ungünstige Dropdownauswahl, da sie ein wenig irreführend ist. Wir möchten hier auf den direkt darunter befindlichen Link Import from taxonomy klicken. Wenn wir darauf klicken, wird eine standardmäßige MMS-Auswahl angezeigt, daher habe ich meine lokale MMS-Instanz erweitert und auf den Abteilungs-Ausdruckssatz geklickt, da meine Regel ausgelöst werden soll, wenn der Abfragetext ein Wort enthält, das eine Abteilung in meiner Organisation ist.

Für den nächsten Teil meiner Regel aktiviere ich alle drei Kontrollkästchen für das Anzeigen der Abfrageausdrücke. Wenn eine gesamte Abfrage einem Abteilungsnamen entspricht oder wenn die Abfrage mit dem Namen einer Abteilung beginnt oder endet, soll meine Regel ausgelöst werden. Wenn es beim letzten Teil der Regelkonfiguration schließlich eine Übereinstimmung gibt, soll die Übereinstimmung {subjectTerms} zugeordnet werden und die verbleibenden Ausdrücke {actionTerms}. Wenn wir das obige Beispiel für die Suche nach „sales management pitch“ verwenden, dann sollte, da die Abfrage mit „sales“ beginnt (eine gültige Abteilung in MMS), meine Abfrageregel übereinstimmen – „sales“ entspricht {subjectTerms} und „management pitch“ entspricht {actionTerms}. So sieht die Konfiguration aus:

Nachdem meine Regel ausgelöst wird, möchte ich einige Personen der Vertriebsabteilung zu den oberen Abfrageergebnissen hinzufügen. Daher bearbeite ich den nächsten Teil meiner Abfrageregel, was die von mir vorgenommene Aktion darstellt. Ich klicke auf den Link Add Result Block und öffne das entsprechende Dialogfeld. In diesem Fall möchte ich einen Result Block hinzufügen, der Ergebnisse von Personen anzeigt. Daher klicke ich zunächst in die Dropdownliste auf Search this Source und ändere den Eintrag von Query’s orginal source in Local People Results (System). Da ich dies als Erstes vornehme, verwendet der Abfrage-Generator diese Quelle, wenn ich die Abfrage ändere und teste. Nachdem ich diesen Schritt vorgenommen habe, weiß ich anhand meiner übereinstimmenden Regel, dass sämtliche gefundenen Abteilungen sich in den speziellen Ausdrücken „{subjectTerms}“ befinden. Zum Verwenden klicke ich auf die Schaltfläche Launch Query Builder, um die Abfrage zu ändern. Ich lösche den vorhandenen Text, der sich im Textbearbeitungsbereich Query befindet, und ich klicke auf die Filter-Dropdownliste Property und dann auf die Option Show All Managed Properties. Dadurch wird die Dropdownliste wieder mit allen verwalteten Eigenschaften aufgefüllt, und aus dieser Liste wähle ich Department aus. In der Qualifizierer-Dropdownliste ändere ich den Wert von Contains in Equals, und dann wähle ich in der Dropdownliste Select value {subjectTerms} (der übereinstimmende Wörterbucheintrag von Department) aus, dann klicke ich auf die Schaltfläche Add property filter. Das sieht dann wie folgt aus:

Das sieht vielversprechend aus. Nun möchte ich dem Ganzen eine persönlichere Note verleihen. Daher klicke ich auf die Registerkarte Sorting im Abfrage-Generator. In diesem Fall verwende ich nicht einfach das standardmäßige Sortiermodell, vielmehr nehme ich eine Sortierung von Personen nach sozialer Distanz vor. Es werden nicht nur Personen in den Ergebnissen angezeigt, doch die Liste der Personen wird anhand der sozialen Distanz geordnet, d. h. zunächst nach jenen, die mir geografisch am nächsten sind. Dafür verwende ich nur die Dropdownliste Ranking Model und wähle People Search Social Distance Model aus, das sieht dann etwa so aus:

Nun kann ich auf die Registerkarte Test klicken und meine neue Abfrage testen. Standardmäßig sollten null Ergebnisse angezeigt werden, da für die Variable {subjectTerms} kein Wert vorliegt. Klicken Sie zum Testen unter wirklichen Abfragekriterien auf den Link Show More, und geben Sie dann sales in das Bearbeitungsfeld {subjectTerms}* ein. Klicken Sie dann auf die Schaltfläche Test query. Ich versuche dies mit verschiedenen Bewertungsmodellen, damit alles planmäßig verläuft. Dann klicke ich auf die Schaltfläche OK, um meine Abfrageänderungen zu speichern.

Nun möchte ich nur noch, dass für meine Abfrageregel unten ein Link in meinem Block angezeigt wird, auf den beliebige Benutzer klicken können, um alle arbeitenden Personen unabhängig von der Abteilung anzuzeigen. Bevor ich fortfahre, möchte ich mit offenen Karten spielen – ich habe ein Bild, das ich Ihnen gleich von den Endergebnissen zeigen werde, und Sie werden einen Link SHOW MORE sehen. Für diesen bestimmten Beitrag habe ich tatsächlich zwei Bilder miteinander kombiniert – eins mit dem Link SHOW MORE und eins ohne. Das liegt an der inkonsistenten Funktionsweise der Betaversion 2 in Bezug auf den Link SHOW MORE. Sämtliche Macken sollten zum RTM behoben werden. Der Link wird derzeit jedoch noch manchmal angezeigt und manchmal eben nicht. Ich konnte einen Screenshot eines frühen von mir bearbeiteten Ergebnissatzes ergattern, in dem er vorhanden ist. Ich erwähne das an dieser Stelle, damit Sie nicht übermäßig frustriert sind, wenn Sie an Bits der Betaversion 2 arbeiten und bemerken, dass er manchmal vorhanden und manchmal nicht vorhanden ist.

Zum Implementieren der im vorherigen Abschnitt beschriebenen Eigenschaft navigiere ich zum Link „More“ und gebe dann Folgendes ein: peopleresults.aspx?k=Department:{subjectTerms}. Ich entscheide mich für drei Übereinstimmungen und zeige sie wie oben beschrieben oben in den Suchergebnissen an. Mein vollständiges Dialogfeld Result Block sieht nun wie folgt aus:

Nun kann ich es testen. Ich suche also nach sales management pitch und erhalte folgende Ergebnisse:

Hinweis: Hier sehen Sie den Link SHOW MORE, den ich zu diesem Zeitpunkt einfügen musste. Ziemlich cool ist, dass Rocky in den oberen Suchergebnissen angezeigt wird, da ich in meiner Organisation als sein Manager fungiere. Auf diese Weise sehen wir unmittelbar den Bewertungsalgorithmus nach sozialer Distanz. Wenn ich auf die Personen in den Suchergebnissen zeige, wird eine Liste der von ihnen zuletzt veröffentlichten Dokumente angezeigt.

Wenn ich abschließend auf den Link SHOW MORE klicke, werde ich zur Ergebnisseite der Personensuchen weitergeleitet, und es werden alle Personen angezeigt, die in der Vertriebsabteilung arbeiten. Wenn ich auf sie zeige, wird angezeigt, was sie bearbeitet haben. Zudem kann ich ihre Profilseiten usw. sehen.

Damit ist unsere Übung beendet. Wir haben sehr reale Kundenanforderungen berücksichtigt und neue Abfrageregeln sowie Profilimportfeatures in SharePoint 2013 verwendet, um eine Lösung zu erstellen, die keinerlei Codierung erfordert und zugleich jede Menge Funktionen bereitstellt. Ich hoffe, Sie sehen weiterhin nach Abfrageregeln und verwenden sie.

Dies ist ein übersetzter Blogbeitrag. Sie finden den Originalartikel unter Integrating People Metadata In Content Searches Using Query Rules in SharePoint 2013