Download - Ugsf search-taxonomy

Transcript
Page 1: Ugsf search-taxonomy

Réunion du club UGSF

Taxonomy & SearchUn duo déroutant

Nabil BABACI Consultant SharePoint – MCNEXT@nabilbabacihttp://[email protected]

Page 2: Ugsf search-taxonomy

Réunion du club UGSF

Agenda

Rappel sur la Taxonomie et les Metadata

Côté obscur de SharePoint

Et maintenant comment on fait ?

Cas client : Panneau de raffinement et Taxonomie

Questions / Réponses?

Search

Enjeux

Page 3: Ugsf search-taxonomy

Réunion du club UGSF

Enjeux

Page 4: Ugsf search-taxonomy

Réunion du club UGSF

Cible : Développeur Fonctionnel (Estimation) Architecte ( Mécanismes)

Partir sur de bonnes pratiquesCapitalisation des processusEmpirisme des solutionsEviter les interventions futures

Enjeux

Page 5: Ugsf search-taxonomy

Réunion du club UGSF

Rappel sur la Taxonomie et les Metadata

Page 6: Ugsf search-taxonomy

Réunion du club UGSF

Rappel > Metadata

Service de Métadonnées gérées

Termes (Keyword)HiérarchiquesParamétrables

Listes, Bibliothèques, Colonne de sites, Types de contenu.Recherche

Tranversalité ( sites, ferme, web app)

Page 7: Ugsf search-taxonomy

Réunion du club UGSF

Rappel > Taxonomie ( classification hiérarchique)

= TermStore

= TermGroup

= TermSet

= Term

Page 8: Ugsf search-taxonomy

Réunion du club UGSF

Rappel > Connexion

Le Service des Métadonnées doit être connecté à votre WebApplication

Page 9: Ugsf search-taxonomy

Réunion du club UGSF

Côté obscur de SharePoint

Page 10: Ugsf search-taxonomy

Réunion du club UGSF

Liste cachée : TaxonomyHiddenList

TaxonomyUpdateScheduler

TaxonomyHiddenList

- Stocke les valeurs taxonomiques

- Fonctionne en parallèle d’une liste

- Evite les charges sur le MMS

Liste standard

Liste standard

Liste standard

Déclencheur

Déclencheur

MMS ( TermStore)

Mise à jour

1

23

Page 11: Ugsf search-taxonomy

Réunion du club UGSF

Features Cachées

Feature Taxonomy

TaxonomyFeatureStapler

TaxonomyTenantAdmin

TaxonomyFieldAdded

TaxonomyTenantAdminStapler

TaxonomyTimerJobs

Activable par commande uniquement

Page 12: Ugsf search-taxonomy

Réunion du club UGSF

Feature Cachée>TaxonomyFieldAdded

TaxonomyFieldAdded

Ajout de liens (Enterprise Metadata and

Keywords Settings link)

Créer la TaxonomyHiddenList

Ajout de TaxKeywordTaxHTField –

TaxCatchAll-TaxCatchAllLabel

Page 13: Ugsf search-taxonomy

Réunion du club UGSF

Feature Cachée> TaxonomyFieldAdded

TaxonomyHiddenListListe Standard

CatchAllData

CatchAllDataLabel

TaxCatchAll

TaxCatchAllLabel

LookupMulti

LookupMulti

Page 14: Ugsf search-taxonomy

Réunion du club UGSF

TaxonomyHiddenList

Inside TaxonomyHiddenList

Nom DescriptionTitle Nom du terme

IdForTermStore GUID du term store (aka: MMS instance).

IdForTermSet GUID du term set.IdForTerm GUID du term.Term Term sélectionné.Path Chemin du term.CatchAllData Utilisé pour SearchCatchAllDataLabel Utilisé pour Search

Term[LCID] Locale ID - Language pack

Path[LCID] Locale ID - Language pack

Page 15: Ugsf search-taxonomy

Réunion du club UGSF

Et maintenant comment on fait ?

Page 16: Ugsf search-taxonomy

Réunion du club UGSF

Custom List

Liste Personnalisée

Lors de la création, des éléments sont manquants !

Champs Taxonomiques

Event receiver

Page 17: Ugsf search-taxonomy

Réunion du club UGSF

Liste Personnalisée > Champs

Marque un champ en tant que : Managed Metadata

TYPES

TaxonomyFieldType

NoteTaxonomyFieldTypeMulti

Page 18: Ugsf search-taxonomy

Réunion du club UGSF

Liste Personnalisée > Définition des Champs (Schéma)

Convention de nommage obligatoire

Mise à jour des propriétés

Languages

Page 19: Ugsf search-taxonomy

Réunion du club UGSF

Listes Personnalisée > Définition des Champs (Schéma) - Binding

Binding TaxonomyField et Note par le GUID

Binding déclaratif ou programmatique

Page 20: Ugsf search-taxonomy

Réunion du club UGSF

Liste Personnalisée > Ajout des Champs (Content Types)

Marqueur obligatoire pour l’utilisation de la recherche

Page 21: Ugsf search-taxonomy

Réunion du club UGSF

Liste Personnalisée > Event Receivers

SynchronousAddedEventReceiver

UpdatingEventReceiver

+ = Synchronisation [TaxCatchAll et Champs cachés de type Note]

Page 22: Ugsf search-taxonomy

Réunion du club UGSF

Liste Personnalisée > TaxonomyFieldAdded

TaxonomyFieldAdded

Feature – Collection de Site

Dépendance dans la solution

Guid Unique : 73ef14b1-13a9-416b-a9b5-ececa2b0604c

Page 23: Ugsf search-taxonomy

Réunion du club UGSF

Search

Page 24: Ugsf search-taxonomy

Réunion du club UGSF

Ajout Crawled Metadata Champs taxonomiques

Search > Etapes et Relations

Event Receivers

ows_tax_Id_De

mo owstaxIdDemo Champs Demo

Ajout automatique après le premier crawl

ows_taxid_MetadataAllTagsInfo

Page 25: Ugsf search-taxonomy

Réunion du club UGSF

Champs correctement créésMauvais => résidus, mauvaise conception Smiley => Bonne valeurs, après correction

Search >Bon et mauvais

Page 26: Ugsf search-taxonomy

Réunion 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 mappingsCréation en PowerShell New-

SPEnterpriseSearchMetadataCrawledProperty VariantType 4127

Index et Crawl

Search > Multi Values et Crawl

Page 27: Ugsf search-taxonomy

Réunion du club UGSF

Cas client : Panneau de raffinement et Taxonomie

Page 28: Ugsf search-taxonomy

Réunion du club UGSF

Panneau de Raffinement

Page 29: Ugsf search-taxonomy

Réunion du club UGSF

Modification Upgrade / Deploy

Scénarios – Existant- CMP

Import

Configuration Test ECHEC

Page 30: Ugsf search-taxonomy

Réunion du club UGSF

Modification Upgrade / Deploy

Scénarios – Existant- Manuel

Remplissage Manuel

Configuration Test SUCCES

Page 31: Ugsf search-taxonomy

Réunion du club UGSF

Modification Upgrade / Deploy

Scénarios – Nouveau Départ

Vérification champs

Configuration Test SUCCES

Page 32: Ugsf search-taxonomy

Réunion du club UGSF

Conclusion - Retour d’Expérience

Supprimer/Recréer les colonnes TaxonomiquesAjout des Events ReceiversSuivre 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

Page 33: Ugsf search-taxonomy

Réunion du club UGSF

Questions?

Questions