Réunion
                                 du club
                                 UGSF




Taxonomy & Search
Un duo déroutant
Nabil BABACI
Consultant SharePoint – MCNEXT
@nabilbabaci
http://dotnet4ever.fr
nbabaci@mcnext.com
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
Réunion
         du club
         UGSF




Enjeux
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
Réunion
                          du club
                          UGSF




Rappel sur la Taxonomie et les
Metadata
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)
Réunion
Rappel > Taxonomie ( classification            du club
                                               UGSF
hiérarchique)


                         = TermStore
                               = TermGroup
                                   = TermSet




                                       = Term
Réunion
Rappel > Connexion                                        du club
                                                          UGSF



          Le Service des Métadonnées doit être connecté
                      à votre WebApplication
Réunion
                        du club
                        UGSF




Côté obscur de SharePoint
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
Réunion
Features Cachées                                                                      du club
                                                                                      UGSF
Activable par commande uniquement




                                        TaxonomyFieldAdded


                  TaxonomyTenantAdmin
                                                             TaxonomyTenantAdmin
                                                                    Stapler




           TaxonomyFeatureStapler
                                         Feature                        TaxonomyTimerJobs
                                        Taxonomy
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
Réunion
Feature Cachée>                                                    du club
                                                                   UGSF
TaxonomyFieldAdded


     Liste Standard                               TaxonomyHiddenList


                              LookupMulti
           TaxCatchAll                          CatchAllData


           TaxCatchAllLabel                 CatchAllDataLabel
                              LookupMulti
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
Réunion
                         du club
                         UGSF




Et maintenant comment on fait
?
Réunion
Liste Personnalisée                                   du club
                                                      UGSF

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




                                      Custom List
Réunion
Liste Personnalisée > Champs                               du club
                                                           UGSF

   Marque un champ en tant que : Managed Metadata




                             TYPES



         TaxonomyField       TaxonomyField          Note
             Type              TypeMulti
Réunion
Liste Personnalisée > Définition des   du club
                                       UGSF
Champs (Schéma)
Réunion
Listes Personnalisée > Définition        du club
                                         UGSF
des Champs (Schéma) - Binding




  Binding déclaratif ou programmatique
Réunion
Liste Personnalisée > Ajout des                     du club
                                                    UGSF
Champs (Content Types)
    Marqueur obligatoire pour l’utilisation de la
    recherche
Réunion
Liste Personnalisée > Event   du club
                              UGSF
Receivers




            +            =
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
Réunion
         du club
         UGSF




Search
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
Réunion
Search >Bon et mauvais                        du club
                                              UGSF

  Champs correctement créés
  Mauvais => résidus, mauvaise conception
  Smiley => Bonne valeurs, après correction
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
Réunion
                           du club
                           UGSF




Cas client : Panneau de
raffinement et Taxonomie
Réunion
Panneau de Raffinement   du club
                         UGSF
Réunion
Scénarios – Existant- CMP                            du club
                                                     UGSF

                  Upgrade /
   Modification
                   Deploy




                              Configuration   Test    ECHEC
Réunion
Scénarios – Existant- Manuel                         du club
                                                     UGSF

                  Upgrade /
   Modification
                   Deploy




                              Configuration   Test    SUCCES
Réunion
Scénarios – Nouveau Départ                           du club
                                                     UGSF

                  Upgrade /
   Modification
                   Deploy




                              Configuration   Test    SUCCES
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
Réunion
Questions               du club
                        UGSF




             ?
            Questions

Ugsf search-taxonomy

  • 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
  • 3.
    Réunion du club UGSF Enjeux
  • 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
  • 9.
    Réunion du club UGSF Côté obscur de SharePoint
  • 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 ?
  • 16.
    Réunion Liste Personnalisée du club UGSF Lors de la création, des éléments sont manquants ! Custom List
  • 17.
    Réunion Liste Personnalisée >Champs du club UGSF Marque un champ en tant que : Managed Metadata TYPES TaxonomyField TaxonomyField Note Type TypeMulti
  • 18.
    Réunion Liste Personnalisée >Définition des du club UGSF Champs (Schéma)
  • 19.
    Réunion Listes Personnalisée >Définition du club UGSF des Champs (Schéma) - Binding Binding déclaratif ou programmatique
  • 20.
    Réunion Liste Personnalisée >Ajout des du club UGSF Champs (Content Types) Marqueur obligatoire pour l’utilisation de la recherche
  • 21.
    Réunion Liste Personnalisée >Event du club UGSF Receivers + =
  • 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
  • 23.
    Réunion du club UGSF Search
  • 24.
    Réunion Search > Etapeset 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 etmauvais du club UGSF Champs correctement créés Mauvais => résidus, mauvaise conception Smiley => Bonne valeurs, après correction
  • 26.
    Réunion Search > MultiValues 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
  • 28.
  • 29.
    Réunion Scénarios – Existant-CMP du club UGSF Upgrade / Modification Deploy Configuration Test ECHEC
  • 30.
    Réunion Scénarios – Existant-Manuel du club UGSF Upgrade / Modification Deploy Configuration Test SUCCES
  • 31.
    Réunion Scénarios – NouveauDépart du club UGSF Upgrade / Modification Deploy Configuration Test SUCCES
  • 32.
    Conclusion - Retourd’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
  • 33.
    Réunion Questions du club UGSF ? Questions