Ugsf search-taxonomy

Preview:

DESCRIPTION

Session about Search & Taxonomy @UserGroupSharePointFrance.

Citation preview

Réunion du club UGSF

Taxonomy & SearchUn duo déroutant

Nabil BABACI Consultant SharePoint – MCNEXT@nabilbabacihttp://dotnet4ever.frnbabaci@mcnext.com

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

Réunion du club UGSF

Enjeux

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

Réunion du club UGSF

Rappel sur la Taxonomie et les Metadata

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)

Réunion du club UGSF

Rappel > Taxonomie ( classification hiérarchique)

= TermStore

= TermGroup

= TermSet

= Term

Réunion du club UGSF

Rappel > Connexion

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

Réunion du club UGSF

Côté obscur de SharePoint

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

Réunion du club UGSF

Features Cachées

Feature Taxonomy

TaxonomyFeatureStapler

TaxonomyTenantAdmin

TaxonomyFieldAdded

TaxonomyTenantAdminStapler

TaxonomyTimerJobs

Activable par commande uniquement

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

Réunion du club UGSF

Feature Cachée> TaxonomyFieldAdded

TaxonomyHiddenListListe Standard

CatchAllData

CatchAllDataLabel

TaxCatchAll

TaxCatchAllLabel

LookupMulti

LookupMulti

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

Réunion du club UGSF

Et maintenant comment on fait ?

Réunion du club UGSF

Custom List

Liste Personnalisée

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

Champs Taxonomiques

Event receiver

Réunion du club UGSF

Liste Personnalisée > Champs

Marque un champ en tant que : Managed Metadata

TYPES

TaxonomyFieldType

NoteTaxonomyFieldTypeMulti

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

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

Réunion du club UGSF

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

Marqueur obligatoire pour l’utilisation de la recherche

Réunion du club UGSF

Liste Personnalisée > Event Receivers

SynchronousAddedEventReceiver

UpdatingEventReceiver

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

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

Réunion du club UGSF

Search

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

Réunion du club UGSF

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

Search >Bon et mauvais

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

Réunion du club UGSF

Cas client : Panneau de raffinement et Taxonomie

Réunion du club UGSF

Panneau de Raffinement

Réunion du club UGSF

Modification Upgrade / Deploy

Scénarios – Existant- CMP

Import

Configuration Test ECHEC

Réunion du club UGSF

Modification Upgrade / Deploy

Scénarios – Existant- Manuel

Remplissage Manuel

Configuration Test SUCCES

Réunion du club UGSF

Modification Upgrade / Deploy

Scénarios – Nouveau Départ

Vérification champs

Configuration Test SUCCES

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

Réunion du club UGSF

Questions?

Questions