Le "User Segmentation" est une nouveauté de SharePoint 2013 qui vous permet d’afficher des résultats de recherche en fonction d’attributs de l’utilisateur, attributs nommés "User Segments".
Quand je parle d’attributs, ce ne sont pas uniquement des attributs issus du profil de l’utilisateur, mais des attributs de tout type comme le type de navigateur utilisé; comme vous devez coder ce que vous choisissez être le critère, vous avez donc un champ d’action très large.
Le principe de fonctionnement est qu’une WebPart (que vous aurez développée) tentera de faire correspondre la valeur de l’attribut choisi avec la valeur d’un Term spécifié comme "User Segment" d’une Query Rule.
Si le Term est trouvé, son ID est passé à la requête et l’action de la Query Rule est exécutée.
Note : Si vous avez frôlé l’évanouissement et /ou n’avez rien compris aux 2 phrases précédentes, je vous conseille vivement d’aller lire l’article suivant : SharePoint 2013 : Recherche – Présentation des Query Rules,
Je choisis pour cet article de me baser sur le champ "Fonction" des utilisateurs :
J’afficherai un "Promoted Result" différent selon que la fonction de la personne soit un "Manager tyrannique" ou un "Sbire exploité".
Les 3 étapes à suivre pour mettre en place ce système sont les suivantes :
Créez via l’interface ou via code les Terms représentant les valeurs de la propriété sur lesquelles vous souhaitez vous baser, ici "Manager tyrannique" et "Sbire exploité".
Vous pouvez créer ces Terms de plusieurs façons :
1. Par matching des propriétés utilisateur
Bonne nouvelle dans ce cas, SharePoint 2013 utilise par défaut un Term Set nommé "People" pour y stocker les valeurs des propriétés Department, Job Title et Location issues des User Profiles.
Et c’est précisément sur ce Term Set "Job Title" que je vais me baser pour cet article.
3. Par code
NavigationTerm term = navigationTermSet.CreateTerm("Manager tyrannique", NavigationLinkType.FriendlyUrl, Guid.NewGuid());
Note : Si vous ne savez pas développer (ou n’avez pas envie, çà marche aussi dans ce cas), plusieurs articles du chapitre "Références" situé à la fin de cet article comporte des codes source Visual Studio prêts à l’emploi.
La webpart est à développer par vos soins, et vous aurez pour celle-ci à :
Pour une présentation complète des Query Rules, vous pouvez consulter cet article : SharePoint 2013 : Recherche – Présentation des Query Rules.
1. Créez une Query Rule et cliquez sur "Add User Segment" dans la section encadrée ci-dessous
Au final :
1. Je lance ma page en tant qu’"Administrator" (le manager), il voit bien l’image configurée dans ma Query Rule
Je vous recommande la lecture de cet article de Waldek Mastykarz sur les problèmes d’utilisation du trio "Content Search WebPart / User Segments / Anonymous Search Results Cache".
En résumé :
it seems that at this moment it is not possible to use Anonymous Search Results Cache with User Segments.
Benoit Jester edited Revision 2. Comment: Mise en page
Benoit Jester edited Revision 1. Comment: toc
Benoit Jester edited Original. Comment: Mise en page