1. Réunion
du club
UGSF
Taxonomy & Search
Un duo déroutant
Nabil BABACI
Consultant SharePoint – MCNEXT
@nabilbabaci
http://dotnet4ever.fr
nbabaci@mcnext.com
2. Réunion
Agenda du club
UGSF
Enjeux
Rappel sur la Taxonomie et les Metadata
Côté obscur de SharePoint
Et maintenant comment on fait ?
Search
Cas client : Panneau de raffinement et Taxonomie
? Questions / Réponses
4. Réunion
Enjeux du club
UGSF
Cible :
Développeur
Fonctionnel (Estimation)
Architecte ( Mécanismes)
Partir sur de bonnes pratiques
Capitalisation des processus
Empirisme des solutions
Eviter les interventions futures
5. Réunion
du club
UGSF
Rappel sur la Taxonomie et les
Metadata
6. Réunion
Rappel > Metadata du club
UGSF
Termes (Keyword)
Hiérarchiques
Paramétrables
Listes, Bibliothèques, C
olonne de sites, Types
de contenu.
Recherche
Tranversalité (
sites, ferme, web app)
7. Réunion
Rappel > Taxonomie ( classification du club
UGSF
hiérarchique)
= TermStore
= TermGroup
= TermSet
= Term
8. Réunion
Rappel > Connexion du club
UGSF
Le Service des Métadonnées doit être connecté
à votre WebApplication
10. Réunion
Liste cachée : TaxonomyHiddenList du club
UGSF
Mise à jour
3
2 Déclencheur
Déclencheur - Stocke les valeurs
taxonomiques
1 - Fonctionne en
parallèle d’une liste
- Evite les charges
sur le MMS
11. Réunion
Features Cachées du club
UGSF
Activable par commande uniquement
TaxonomyFieldAdded
TaxonomyTenantAdmin
TaxonomyTenantAdmin
Stapler
TaxonomyFeatureStapler
Feature TaxonomyTimerJobs
Taxonomy
12. Réunion
Feature du club
UGSF
Cachée>TaxonomyFieldAdded
Créer la
TaxonomyHiddenList
Ajout de
Ajout de liens (Enterprise TaxKeywordTaxHTField –
Metadata and Keywords TaxCatchAll-
Settings link) TaxCatchAllLabel
TaxonomyFieldAdded
13. Réunion
Feature Cachée> du club
UGSF
TaxonomyFieldAdded
Liste Standard TaxonomyHiddenList
LookupMulti
TaxCatchAll CatchAllData
TaxCatchAllLabel CatchAllDataLabel
LookupMulti
14. Réunion
Inside TaxonomyHiddenList du club
UGSF
Nom Description
Title Nom du terme
GUID du term store (aka:
IdForTermStore
MMS instance).
IdForTermSet GUID du term set.
IdForTerm GUID du term.
Term Term sélectionné.
Path Chemin du term.
CatchAllData Utilisé pour Search
CatchAllDataLabel Utilisé pour Search
Term[LCID] Locale ID - Language pack
Path[LCID] Locale ID - Language pack
TaxonomyHiddenList
15. Réunion
du club
UGSF
Et maintenant comment on fait
?
17. Réunion
Liste Personnalisée > Champs du club
UGSF
Marque un champ en tant que : Managed Metadata
TYPES
TaxonomyField TaxonomyField Note
Type TypeMulti
22. Réunion
Liste Personnalisée > du club
TaxonomyFieldAdded UGSF
Feature – Collection de
Site
Dépendance dans la
solution
Guid Unique :
73ef14b1-13a9-416b-
a9b5-ececa2b0604c
24. Réunion
Search > Etapes et Relations du club
UGSF
ows_taxid_MetadataAllTagsInfo
Event Receivers ows_tax_Id_Demo owstaxIdDemo Champs Demo
Champs
Ajout Crawled Metadata
taxonomiques
Ajout automatique après le premier crawl
25. Réunion
Search >Bon et mauvais du club
UGSF
Champs correctement créés
Mauvais => résidus, mauvaise conception
Smiley => Bonne valeurs, après correction
26. Réunion
Search > Multi Values et Crawl du club
UGSF
Si un champ taxonomique est de type Multi
Alors une Incohérence est créée dans Search (non
problématique)
Suppression ( Décoche –Indexé-, Catégories > Supprimer
tout les mappings
Création en PowerShell
New-SPEnterpriseSearchMetadataCrawledProperty
VariantType 4127
Index et Crawl
27. Réunion
du club
UGSF
Cas client : Panneau de
raffinement et Taxonomie
32. Conclusion - Retour d’Expérience Réunion
du club
UGSF
Supprimer/Recréer les colonnes Taxonomiques
Ajout des Events Receivers
Suivre un ordre de création précis
CMP (« Content Management Package » mauvaise
pratique)
Rejoue l’existant=> Champs nouveaux dans Search
+ TaxonomyHiddenList ( valeurs déjà existantes)
Hackable possible mais trop long
Script de backup custom
Conception longue (Bonne pratique initiale)
Conception déclarative ou programmatique