Lorsque vous utilisez pleinement l’UI de SharePoint pour créer vos collections de site, vos listes avec des données taxonomiques et que vous opérez une recherche, tout fonctionnera correctement, car l’ensemble des mécanismes (expliqué plus haut) sont gérés nativement par SharePoint.
Bonnes pratiques des champs taxonomiques
Qu’en est-il lorsque vous passez par solutions « Customs » ? Le fait de passer par des solutions personnalisées, englobant collection de site, listes, bibliothèques de documents etc.., doivent elles aussi prendre en compte les mécanismes internes de SharePoint. Pour ce faire voici quelques bonnes pratiques à avoir lorsque vous créer des listes personnalisées reposant sur des champs taxonomiques.
Champs de la liste
Ici rien de bien compliquer, il suffit de bien renseigner les attributs de vos champs (TaxonomyFieldType/ Tax onomyFieldTypeMulti), puis de prendre en compte la convention de nommage obligatoire de Microsoft, permettant de bien spécifier que les champs de de type Note, sont des champs taxonomiques (XXX_Note_0, et XXX_ NoteTaxHTField0).
Binding de la liste
Une fois que les définitions sont correctes, il vous faudra les associer (binding), dans notre exemple nous utilisons la façon déclarative, mais vous pouvez tout à fait utiliser la voie programmatique.
FieldRef de la liste
Restons toujours dans la bonne démarche en ajoutant, côté définition, les champs propres à notre taxonomie, puis les fameux « TaxCatchAll » et « TaxCatchAllLabel » avec leur guid associé. Ainsi nous sommes sûrs que la liste sera bien reliée à la TaxonomyHiddenList.
Features de la liste
Dernière étape, il vous faudra associer deux features, l’un de type ItemAdding, et l’autre de type ItemUpdating. Les deux héritent de l’assembly Microsoft.SharePoint. Taxonomy et implémente la classe Microsoft.SharePoint.Taxonomy.TaxonomyItemEventReceiver. Dernière feature à ajouter à votre projet, elle concerne la « TaxonomyFieldAdded ». Petit rappel, cette feature n’est pas activée dans une solution de type BLANK. En tantque bonne pratique, il faut l’ajouter en tant que Feature Activation Dependencies.
Lancement de la recherche
À ce stade, nous disposons de l’ensemble des bonnes pratiques permettant côté déclaratif de positionner notre structure taxonomique il nous reste cependant à relier le tout côté programmatique. Cela se fait dans l’EventReceiver de la feature dédiée au déploiement de nos listes. Une fois le code d’exemple écrit dans notre Event Receiver, nous pouvons procéder aux tests en lançant un Full Crawl.
Résultat dans Searc
Une fois un item ajouté voici ce que nous devons retrouver dans notre interface de Search au niveau des Metadata properties.
Dans cette figure je vous ai présenté les valeurs correctes qui doivent être retournées afin d’avoir une recherche effective au niveau du panneau de raffinement et les mauvaises valeurs qui mal conceptualisées ne vous permettront pas de retourner votre recherche. Ce qui a pour effet de nous donner ceci lors de la recherche de nos éléments.
Bonnes pratiques des champs taxonomiques : Conclusion
Il est important dès le début de bien cadrer les besoins nécessaires à la Taxonomie dans votre processus de création. De plus ce genre de problématique très fréquente, fait que si nous ne connaissons pas le mécanisme de SharePoint au niveau Taxonomique, nous serons contraints de passer énormément de temps à le découvrir et à trouver des solutions de correction, qui bien souvent se révèlent compliquées à mettre en place compte-tenu de l’existant.
Téléchargez cette ressource
Travail à distance – Guide complet pour les Directions IT et Métiers
Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.