Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Benutzersegmentierung in SharePoint 2013

SharePoint 2013

Definieren Sie die Display-Inhalte, die Sie anpassen, welche Benutzer Sie Umkreisnetzwerken – beispielsweise basierend auf Gebietsschema, Interessen, Geschlecht oder Weiterleitung Verknüpfungen – mithilfe der eine Kombination von Begriff festgelegt, das Webpart Inhalte Suche und Abfrage von Regeln in SharePoint Server 2013.

Betrifft:  SharePoint Server 2013 

SharePoint Server 2013 bietet die Bausteine zum Anpassen von Inhalten, die Sie, klicken Sie auf eine SharePoint 2013 Website abhängig von bestimmten Attribute der Endbenutzer, beispielsweise Geschlecht zeigen, in dem sie leben, deren Interessen oder verweisenden Links. Diese Gruppen von Benutzerattributen werden als Benutzersegmente bezeichnet.

In SharePoint 2013kann diese Benutzer Segmentierung Funktionalität vorteilhaft in vielen Szenarien wie etwa sein:

  • Anzeigen von verschiedene Banner auf einer Seite je nach des Endbenutzers Geschlecht

  • Je nach Gebietsschema des Endbenutzers bietet verschiedene Rabatt anzeigen

  • Anzeigen von verschiedenen Artikel auf einer Seite je nach des Endbenutzers verweisende Link (der Website, die auf der Seite an den Endbenutzer gebracht).

Sie werden drei Dinge tun, zum Implementieren der Benutzersegmentierung in SharePoint: Erstellen ein Ausdruckssatzes für jedes Benutzersegment, erweitern Sie das Webpart Content Suche, um es Ihre Benutzersegmente aufmerksam zu machen und Abfrageregeln für die Ausführung bestimmte Aktionen für jedes Benutzersegment dann verwenden.

Bevor Sie Benutzersegmentierung in SharePoint implementieren beginnen, müssen Sie Folgendes in Ihrer Entwicklungsumgebung installiert sein:

  • SharePoint Server 2013

  • Visual Studio 2012

In diesem Artikel wird davon ausgegangen, dass Sie Erfahrung mit der Entwicklung von Webparts in SharePoint verfügen. Weitere Informationen zum Entwickeln von Webparts, finden Sie in Baustein: Webparts

Abbildung 1 zeigt die grundlegenden Schritte, um die SharePoint-Website Benutzer Segmentierung Funktionen hinzuzufügen.

Abbildung 1. Schritte zum Hinzufügen von Benutzer Segmentierung Funktionalität zu Ihrer SharePoint-Website

Schritte zum Hinzufügen der Benutzersegmentierungsfunktion

Ein Begriff ist ein Wort oder ein Ausdruck, der ein Element in SharePoint 2013zugeordnet werden kann. Ein Ausdruckssatz ist eine Auflistung von verwandten Ausdrücke. Weitere Informationen finden Sie unter Übersicht über verwaltete Metadaten in SharePoint Server 2013. Sie können erstellen Ausdruckssätze entweder über die SharePoint Laufzeitspeicher-Verwaltungstool, oder programmgesteuert.

Hinweis Hinweis

Finden Sie den folgenden Themen ausführliche Anleitungen zur Verwendung der Laufzeitspeicher-Verwaltungstool Ihrer Ausdruckssatz erstellen:

Sie können ein Ausdruckssatzes programmgesteuert mithilfe der Types, die über Microsoft.SharePoint.Taxonomyverfügbar gemacht erstellen. Im folgenden Codebeispiel wird veranschaulicht, wie ein TermSet -Objekt erstellt und die NavigationTermSetabzurufen. Im nächsten Schritt erstellen Sie Term -Objekte innerhalb Ihrer TermSet. Schließlich wird commit für diese Änderungen an der TermStore , und laden Sie die TermSet zum Navigieren verwendet.

Jede Laufzeit, die Sie den Suchbegriff hinzufügen Satz einen eindeutigen Bezeichner empfängt. Dieser Bezeichner ist die Taste, um die ContentBySearchWebPart Ihre Benutzer Segmente bewusst machen.

static void CreateNavigationTermSet(string siteUrl)
{
    using (SPSite site = new SPSite(siteUrl))
    {
        using (SPWeb web = site.OpenWeb())
        {
            TaxonomySession taxonomySession = new TaxonomySession(site);
            taxonomySession.UpdateCache();
            TermStore termStore = taxonomySession.DefaultSiteCollectionTermStore;

            // Create a TermSet object in a default site collection term group.
            Group siteCollectionGroup = termStore.GetSiteCollectionGroup(site, createIfMissing: true);
            TermSet termSet = siteCollectionGroup.CreateTermSet("Navigation Demo", Guid.NewGuid(), lcid: 1033);

            // Obtain navigation term set.
            NavigationTermSet navigationTermSet = NavigationTermSet.GetAsResolvedByWeb(termSet, web, "GlobalNavigationTaxonomyProvider");

            // Create a term that points to a SharePoint page set at the term set level of hierarchy.
            NavigationTerm term1 = navigationTermSet.CreateTerm("Term 1", NavigationLinkType.FriendlyUrl, Guid.NewGuid());

            // Create a term that points to an already existing URL outside of SharePoint.
            NavigationTerm term2 = navigationTermSet.CreateTerm("Term 2", NavigationLinkType.SimpleLink, Guid.NewGuid());
            term2.SimpleLinkUrl = "http://www.bing.com/";

            // Create a term that points to an existing SharePoint page.
            NavigationTerm term3 = navigationTermSet.CreateTerm("Term 3", NavigationLinkType.FriendlyUrl, Guid.NewGuid());

            // Save all changes to the term store.
            termStore.CommitAll();
        }
    }
}

Erstellen Sie in Visual Studio 2012ein benutzerdefiniertes Webpart mithilfe der Vorlage visueller Webparts aus der Kategorie SharePoint Server 2013 . Ihr benutzerdefiniertes Webpart muss von der ContentBySearchWebPart -Objekt erben.

Hinweis Hinweis

In diesem Artikel wird davon ausgegangen, dass Sie Erfahrung mit der Entwicklung von Webparts in SharePoint verfügen. Weitere Informationen zum Entwickeln von Webparts, finden Sie in Baustein: Webparts

Implementieren Sie in das benutzerdefinierte WebPart können Sie die OnLoad() -Methode oder die OnInit() -Methode, um Ihre benutzerdefinierte Logik auszuführen erneut. Diese beiden Methoden sind hilfreich festzulegen oder Anpassen von Eigenschaften des ContentBySearchWebPart -Objekts.

Beispiel 1: Fügen Sie und Benutzersegmente zur SharePoint Server 2013 -Website hinzu

Implementieren, wenn Benutzersegmente Male und Female hinzufügen möchten, können Sie die OnLoad() -Methode erneut wie im folgenden Code dargestellt.

protected override void OnLoad(EventArgs e)
{
    if (this.AppManager != null)
    {
        if (this.AppManager.QueryGroups.ContainsKey(this.QueryGroupName) && this.AppManager.QueryGroups[this.QueryGroupName].DataProvider != null)
        {
            this.AppManager.QueryGroups[this.QueryGroupName].DataProvider.BeforeSerializeToClient += new
                BeforeSerializeToClientEventHandler(AddMycustomProperties);
        }
    }
    base.OnLoad(e);
}

Die entsprechende AddMycustomProperties -Methode sieht wie im folgenden Code aus.

private void AddMycustomProperties(object sender, BeforeSerializeToClientEventArgs e)
{
    DataProviderScriptWebPart dp = sender as DataProviderScriptWebPart;
    string gender = (string)Page.Session["DataProvider.Gender"];
    // Depends on what your DataProvider is: Facebook, LinkedIn, etc.

    if (dp != null && gender != null)
    {   try
        {
            // Set property to male or female GUID.
            if (gender.CompareTo("female") == 0)
            {
                dp.Properties["TermSetName"] = new String[] { "TermUniqueIdentifier" };
                // E.g. 47ba9139-a4c5-4ff0-8f9a-2864be32da92
            }
            else if(gender.CompareTo("male") == 0)
            {
                dp.Properties["UserSegmentTerms"] = new String[] { "TermUniqueIdentifier" };
                // E.g. f5bf2195-2170-4b11-a018-a688a285e579
            }
        }
        catch (ArgumentException exp)
        {
             // Do something with the exception.
        }
   }
}

Beispiel 2: Erstellen von Benutzersegmente basierend auf den Typ des Webbrowsers Ihre Endbenutzer wann verwendet wird

Implementieren, um Benutzer zu erstellen erneut basierend auf den Typ der Webbrowser an, ob der Endbenutzer verwendet wird, um Ihre SharePoint Server 2013 -Website anzuzeigen, die OnLoad -Methode wie im folgenden Code dargestellt.

protected override void OnLoad(EventArgs e)
{
    if (this.AppManager != null)
    {
        if (this.AppManager.QueryGroups.ContainsKey(this.QueryGroupName) && this.AppManager.QueryGroups[this.QueryGroupName].DataProvider != null)
        {
             this.AppManager.QueryGroups[this.QueryGroupName].DataProvider.BeforeSerializeToClient += new 
                 BeforeSerializeToClientEventHandler(AddMycustomProperties);
        }
    }
    base.OnLoad(e);
}

Der Code für die AddMycustomProperties -Methode würde wie im folgenden Beispiel aussehen.

private void AddMycustomProperties(object sender, BeforeSerializeToClientEventArgs e)
{
    DataProviderScriptWebPart dataProvider = sender as DataProviderScriptWebPart;
    SPSite site = SPContext.Current.Site;
  
    TaxonomySession session = new TaxonomySession(site);
    TermStore defaultSiteCollectionStore = session.DefaultSiteCollectionTermStore;
    List<string> userSegmentTerms = new List<string>();

    var userAgentparts = Page.Request.UserAgent.Split(new char[] { ';', '(', ')' });

    foreach (var part in userAgentparts)
    {
        var entry = part.Trim();
        var terms = termStore.GetTermsWithCustomProperty("UserAgent", entry, false);

            if (terms.Count > 0)
            {
                userSegmentTerms.Add(terms[0].Id.ToString());
            }
    }
    dataProvider.Properties["UserSegmentTerms"] = userSegmentTerms.ToArray();
}

Um Ihr benutzerdefiniertes Webpart auf der Seite zu verwenden, müssen Sie das Webpart in der SharePoint Web Part Galleryhoch.

Wählen Sie in der SharePoint Web Part GalleryWebsiteeinstellungen, und wählen Sie Webparts unter Web Designer Galerien. Wählen Sie auf der Registerkarte Datei die Option Dokumentuploadaus.

Eine Abfrageregel überträgt Abfragen zur Verbesserung der Relevanz von Suchergebnissen intelligent reagieren, was versucht ein Benutzer werden kann, finden. In der Abfrageregel geben Sie Bedingungen und Aktionen korrelierte. Wenn eine Abfrage die Bedingungen in einer Abfrageregel erfüllt, führt das Suchsystem die Aktionen in der Regel zur Verbesserung der Relevanz der Suchergebnisse, wie die Ergebnisse Eingrenzung oder Ändern der Reihenfolge, in der Ergebnisse angezeigt werden.

Beim Benutzersegmentierung implementieren möchten, verwenden Sie zum Definieren von Bedingungen und Aktionen für die definierten Benutzer-Segmente Abfrageregeln. Wenn ein Endbenutzer in einem bestimmten Benutzer-Segment ist, die Abfrageregel wird aktiviert, und die ContentBySearchWebPart zeigt Inhalte, die für dieses Segment bestimmter Benutzer hergestellt wird.

Um eine Abfrageregel erstellen, die für einen bestimmten Benutzer-Segment aktiviert werden soll

  1. Wählen Sie in der Veröffentlichungs-Websitesammlung in den WebsiteeinstellungenWebsitesammlungsverwaltung aus, und wählen Sie dann die Regeln des Suchdienstes-Abfrage.

  2. Wählen Sie eine Quelle Ergebnis, und wählen Sie dann auf Neue Abfrage-Regel.

  3. Geben Sie einen Namen ein, in das Feld Name der Regel . Klicken Sie dann auf um Kontextzu erweitern.

  4. Klicken Sie im Abschnitt Abfrage erfolgt über diese Benutzersegmente wählen Sie eine dieser Benutzer Segmente, und klicken Sie dann auf Benutzersegment hinzufügen.

  5. Geben Sie im Feld Titel einen Namen für diese Benutzer Segment Abfrageregel. Wählen Sie die Add User Segment Begriff.

  6. Erweitern Sie im Dialogfeld Importieren aus Sicht zu speichern Sie den Verwalteten Metadatendienst. Suchen Sie unter Site Collectionnach den Ausdruckssatz, der die Benutzer Segmentierung Bedingungen enthält, die Sie unter Erstellen eines Ausdruckssatzeszuvor definiert haben. Wählen Sie das Benutzersegment für das Sie dieser Abfrageregel anwenden möchten. Klicken Sie dann auf Speichern.

  7. Nennen Sie Ihre Benutzer Segment n im Dialogfeld Benutzersegment hinzufügen .

    Sie haben nun eine Abfrageregel zu einem Benutzersegment zugeordnet, die wiederum einem Benutzer Segment Begriff zugeordnet ist.

  8. Wählen Sie unter AbfragebedingungenBedingung entfernen.

    Dies gibt an, dass die Abfrage in der ContentBySearchWebPart konfiguriert die Abfragebedingung fungiert.

  9. Legen Sie die entsprechenden Aktionen, die die Abfrageregel ausgeführt wird. Wählen Sie eine entsprechende Aktion, die Sie als Ergebnis einer - Regel für die Abfrage übernehmen möchten, klicken Sie im Abschnitt Aktionen . Sie können entweder Hochgestuft Ergebnis hinzufügen oder einen Block Ergebnis hinzufügenauswählen.

  10. Speichern Sie die Abfrageregel.

  11. Wiederholen Sie die Schritte 1 bis 10 für die anderen Benutzersegmenten, abhängig von der Aktionen, die Sie ausführen möchten.

Sie müssen Ihr benutzerdefiniertes Webpart Ihrer SharePoint-Seite hinzu.

So fügen Sie Ihr benutzerdefiniertes Webpart hinzu

  1. Navigieren Sie zu einer Kategorieseite, wählen Sie Seite bearbeiten, und wählen Sie dann auf Seitenvorlage bearbeiten.

  2. Wählen Sie im oberen Bereich der Seite Webpart hinzufügen aus. Wählen Sie dann, das benutzerdefinierte WebPart aus dem Dropdownmenü in der oberen rechten Ecke des Webparts.

  3. Klicken Sie auf Webpart bearbeiten.

  4. Erweitern Sie im Abschnitt Einstellungen , und wählen Sie im Feld ErgebnistabelleSpecialTermResults.

  5. Speichern Sie Ihre Konfiguration.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.