Inhalte mit SharePoint-Suche gefiltert nach Benutzereigenschaften anzeigen

Inhaltsverzeichnis
Mit meinen zahlreichen Artikeln und Videos zur Nutzung der SharePoint-Suche für die Bereitstellung schöner Ergebnisse könnten Sie den Eindruck haben, dass dies meine Lieblingsfunktion ist. Nun, Sie haben recht. Diesmal möchte ich Ihnen zeigen, wie Sie ein Content Search oder Search Results Web Part verwenden, um Inhalte zu zeigen, die auf die Person gefiltert sind, die die Seite besucht. Ein Beispiel wäre die Anzeige von Intranet-Nachrichten basierend auf der Abteilung eines Benutzers.
Hier ist eine Videoaufzeichnung, die die unten erklärten Schritte zeigt:
https://gsoft-group.wistia.com/medias/xmqvwixira?embedType=iframe&videoFoam=true&videoWidth=640
Lernen Sie die SharePoint-Suche und den Unterschied zwischen Crawled und Managed Properties
Bevor wir überhaupt mit dem Erstellen einer Suchanfrage beginnen, müssen Sie sicherstellen, dass die Grundlagen von Crawled Properties vs Managed Properties gut verstanden werden. Ich kann nicht genug betonen, wie wichtig das ist; es ist wie das Erlernen von SharePoint-Spalten und Inhaltstypen für Dokumente. Dann empfehle ich Ihnen, die Unterschiede zwischen dem Content Search und Search Results Web Part zu sehen und zu verstehen, damit Sie das richtige für Ihren aktuellen Bedarf wählen. Unabhängig davon funktioniert das, was ich Ihnen zeigen werde, für beide.
Sie müssen die Inhalte und Benutzerprofile entsprechend vorbereiten
Wie alles in SharePoint müssen Sie dies ordnungsgemäß planen. Für diesen Artikel werde ich Ankündigungen verwenden, die auf Benutzer basierend auf ihrem Profil ausgerichtet sind. Benutzer in SharePoint werden von einem Profil begleitet, das sogenannte Benutzereigenschaften enthält. Diese Eigenschaften enthalten Werte, die entweder aus anderen Quellen wie Active Directory abgerufen oder manuell vom Benutzer über SharePoint eingegeben werden.

Sie können diese in der zentralen Administration Ihres SharePoint oder im Admin Center für SharePoint in Office 365 verwalten. Dort können Sie ändern, welche Eigenschaften automatisch aus einer anderen Datenquelle befüllt werden, sowie neue Eigenschaften erstellen, die noch nicht existieren. Für jede Eigenschaft, die Sie erstellen, können Sie diese verwalten, aber vergessen Sie nicht, sie anschließend zu Managed Properties zuzuordnen, wie im obigen Artikel erwähnt.

Zur Vorbereitung für Ihren Kontext fügen Sie einfach diese Eigenschaften hinzu oder ändern sie, um die Werte zu erhalten, nach denen Sie filtern möchten.
Auf der anderen Seite, betrachtet man den SharePoint-Inhalt, müssen wir unsere Liste oder Dokumentbibliothek vorbereiten, damit der eingegebene Inhalt mit Metadaten versehen wird, die nach den Werten in den Benutzerprofil-Eigenschaften gefiltert werden können. Wenn ich also eine Ankündigung mit "Marketing" markiere, kann ich nach Benutzern mit diesem Wert in der "Abteilung"-Eigenschaft filtern.
Konfiguration der SharePoint-Liste mit der richtigen Spalte
Wieder, dies dient lediglich dazu, meinem aktuellen Beispiel zu folgen, und Sie müssen den Spaltentyp basierend auf Ihren Bedürfnissen anpassen. Ich habe eine einfache Ankündigungsliste erstellt und eine Site-Spalte namens "Target" hinzugefügt. Der Grund, warum ich eine Site-Spalte erstellt habe, wie Sie vielleicht erraten haben, ist, dass SharePoint 2013 automatisch eine Managed Property dafür erstellt und mir einen Schritt erspart.

Wie Sie sehen können, ist es nur eine einzeilige Textspalte und ich habe Werte eingegeben, von denen ich weiß, dass ich sie für Abteilungen in Active Directory verwendet habe. Diese Eigenschaften werden dann mit dem User Profile Sync Service importiert und mit meinen SharePoint-Benutzerprofilen verknüpft. Sie können natürlich erstellen und verwenden, was Sie möchten.
Hätte ich eine Dokumentbibliothek verwenden können? Natürlich! Es ist eine Suche und das ist die Schönheit daran - wenn es im Suchindex ist, können wir es abrufen.
Hinzufügen des Content Search Web Parts und Konfiguration der Suchanfrage
In diesem Szenario habe ich mich entschieden, das Content Search Web Part zu verwenden, aber Sie hätten genauso gut das Search Results wählen können. Aber bevor ich mit dem Hinzufügen der Content Search und dem Schreiben meiner Anfrage beginnen kann, muss ich sicherstellen, dass ich die Namen der Managed Properties kenne, die ich verwenden werde. Die Suche funktioniert nur mit Managed Properties.
Zuerst benötige ich die Managed Property, die die Crawled Property meiner Listenspalte "Target" enthält.

Dann benötige ich die Managed Property, die die Crawled Property der Abteilungs-Profil-Eigenschaft der Personen enthält.

Jetzt, da ich weiß, welche ich verwenden werde, sollte ich die Anfrage testen, um sicherzustellen, dass ich zumindest die Ergebnisse ohne jede Personenfilterung erhalten kann. Nachdem ich die Content Search auf der Seite hinzugefügt hatte, habe ich die Anfrage bearbeitet, um alle Elemente mit dem Ankündigungs-Inhaltstyp unter einer bestimmten URL zu finden. Wieder können Sie die Anfrage anpassen, um das abzurufen, was Sie benötigen. Ich habe dann hinzugefügt

Großartig! Jetzt muss ich nur noch die Darstellung der "Abteilungs-Eigenschaft des aktuell angemeldeten Benutzers" hinzufügen und dank TechNet's großartigem Artikel weiß ich wie.

Alles was wir tun müssen ist {User.<Name unserer Eigenschaft>} zu tippen
Nun, je nachdem wer die Seite besucht und welchen Wert ihre Profil-Eigenschaft für "Department" hat, werden die Ergebnisse unterschiedlich sein.


Anpassung der SharePoint-Suchergebnisse an Ihre Bedürfnisse
Der Grund, warum ich das zeige, ist, weil mich jemand nach Target Audience mit SharePoint-Suche gefragt hat. Das Problem ist, das funktioniert nicht. Aber Target Audience, so begrenzt es auch ist, wendet keine Sicherheitsebene an. Das bedeutet, wenn ich das obige Beispiel mit Ankündigungen nehme, könnte ich, selbst wenn ich im Marketing wäre, technisch immer noch die Verkaufs-Ankündigungen sehen, wenn ich einen Link zu ihnen hätte. Die Suche hingegen wendet Security Trimming an und stellt sicher, dass niemand jemals etwas sehen wird, worauf er keinen Zugriff hat. Sie bietet auch eine sehr gute Performance beim Laden von Seiten für Hunderte oder Tausende von Benutzern, da sie nicht in diesem Moment die Informationen aus den verschiedenen Listen oder Bibliotheken abfragt, sondern sie einfach aus dem Index abruft.
Und haben Sie schon von Display Templates gehört? Mit anderen Worten, lassen Sie Ihre Ergebnisse wie alles aussehen, was Sie möchten, indem Sie HTML, CSS und JS verwenden, wenn Sie es benötigen. Sie können lernen, wie man das Display Template erstellt, das ich als kostenlosen Download zur Verfügung gestellt habe, und Ihr eigenes erstellen. Das Schöne daran ist, dass wir diese Ergebnisse nehmen und sie schnell in das verwandeln können, was wir wollen.
Ich hoffe, das hilft.
Was Sie benötigen werden:
- Verwenden Sie das Diagnostic Display Template oder das CodePlex-Suchtool, um zu sehen, wie die Ergebnisse tatsächlich herauskommen. Wenn Sie nach einem Wert filtern müssen, müssen Sie wissen, wie er empfangen wird.
- Speichern Sie den oben erwähnten TechNet-Artikel in Ihren Favoriten
- Lernen Sie Crawled Properties vs Managed Properties ordnungsgemäß
- Zugriff auf die Benutzerprofile, um sie zu sehen oder zu konfigurieren
.avif)
%20(1).avif)
















