> Tech > Les bonnes pratiques des champs taxonomiques

Les bonnes pratiques des champs taxonomiques

Tech - Par iTPro - Publié le 06 février 2014
email

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.

Les 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).

(((IMG6603)))

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.

(((IMG6604)))

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.

(((IMG6605)))

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.

(((IMG6606)))

(((IMG6607)))

Résultat dans Search

Une fois un item ajouté voici ce que nous devons retrouver dans notre interface de Search au niveau des Metadata properties.

(((IMG6608)))

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.

(((IMG6609)))

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 gratuitement cette ressource

Guide de Services Cloud Managés

Guide de Services Cloud Managés

Accélérer votre transformation digitale, protéger et sécuriser vos environnements Cloud avec les offres de support, d'accompagnement et de services managés. Découvrez le TOP 3 des Services Managés pour accompagner la transformation de vos environnements Cloud, gagner en agilité et en sécurité dans un monde d'incertitudes.

Tech - Par iTPro - Publié le 06 février 2014