SharePoint: le concentrateur ne publie pas les modifications d’une colonne de site

En complément de l’article sur les métadonnées gérées, j’ai pensé qu’un exemple réel de résolution de pannes serait utile.

Lors d’un test préparatoire, l’équipe rencontre le problème suivant: le concentrateur de métadonnées gérées ne publie pas les modifications d’une colonne de site précise.

La colonne de site s’intitule Type de document. Elle est définie sous forme d’une métadonnée gérée.

La notion de type de documents étant suffisamment large,  cette colonne de site est présente dans tous les sites et collections de sites.

Le rôle du concentrateur est de publier les types de contenu sur les collections de sites qui ont été abonnées à ce service. Le concentrateur est piloté à travers l’application de services Métadonnées gérées.

Le concentrateur ne sait répliquer que des types de contenu. La colonne de site Type de document avait donc été rattachée préalablement à un type de contenu.

Journal des erreurs

Le journal des erreurs des applications de services de type de contenu fournit le détail des explications en cas de problèmes.

Journal des erreurs des métadonnées

Cette liste permet de connaître les erreurs de publication de type de contenu pour tous les sites d’abonnés.

L’ouverture du journal affiche la liste de toutes les erreurs liées aux types de contenu.

Erreurs des métadonnées

L’ouverture de l’erreur qui concerne la colonne de site Type de document, renseigne sur le problème rencontré.

Détail d'une erreur des métadonnées

Dans cet exemple, il existe un conflit de nom interne (« Type_x0020_de_x0020_document »). Le nom interné étant unique, la réplication ne peut pas se faire.

Un administrateur avait créé manuellement une colonne de site portant le même nom sur le site destinataire. Après suppression de cette colonne, la réplication a été relancée et elle a pu se faire sans erreur.

Comme cette erreur est assez répandue, une vérification périodique du journal des erreurs des applications de services de type de contenu permet de les identifier puis de les résoudre rapidement.

SharePoint : les métadonnées gérées n’apparaissent pas pour les utilisateurs

Les utilisateurs ne voient pas les valeurs des métadonnées gérées des documents des bibliothèques. Ils ne voient pas non plus les valeurs des métadonnées gérées des éléments des listes. Tous ces utilisateurs ont des droits de lecture ou de collaboration, voire de conception, sur la totalité des sites concernés.

L’administrateur de la collection de sites continue à voir et manipuler les valeurs sans difficulté.

Ce comportement est attendu car il est du à une limitation volontaire, dictée par des choix de sécurité.

Par défaut, les utilisateurs ne peuvent pas voir les valeurs attribuées aux colonnes de métadonnées gérées d’entreprise ou mots-clés dans les listes ou des bibliothèques. Toutefois, les administrateurs de collections de sites sont en mesure de voir ses valeurs.

Lorsque la taxonomie est mise en place, les métadonnées caractérisent les documents en fournissant des informations supplémentaires. Ces informations peuvent être parfois suffisamment importantes pour qu’elles n’apparaissent pas à la vue de tous. Par exemple, un laboratoire pharmaceutique qui travaille sur un projet d’une nouvelle molécule ne veut pas que les personnes étrangères au projet récolte la moindre information dessus.

C’est la raison pour laquelle les utilisateurs ne voient pas systématiquement les métadonnées.

Dans la pratique, ce comportement est lié aux autorisations de la liste cachée TaxonomyHiddenList.

Cette liste met en cache l’essentiel des termes gérés et les mots clés pour une recherche rapide, plutôt que de devoir également interroger la base de données de métadonnées gérées.

Pour accéder à la liste, pointez votre navigateur sur:

http://sharepoint/Lists/TaxonomyHiddenList

Accédez aux autorisations de la liste et ajoutez « AUTORITE NTUtilisateurs authentifiés » avec un accès en lecture pour autoriser tous les utilisateurs authentifiés de Windows.

TaxonomyHiddenList

SharePoint: Métadonnées gérées

Lors de la mise en place de SharePoint, la planification de la taxonomie est une étape cruciale.

Une fois que le référentiel de données est défini, créé et alimenté, il reste à définir les méthodes d’accès à ces données qui doivent être simples et conviviales.

La réponse de Microsoft consiste à s’appuyer sur l’application de services des métadonnées gérées de SharePoint.

C’est un service qui permet aux organisations de définir leurs structures de métadonnées et celles qui sont disponibles dans SharePoint. Les utilisateurs peuvent naviguer rapidement dans l’arborescence pour attribuer des métadonnées pertinentes associées au contenu. Le service de métadonnées peut être utilisé pour fournir des métadonnées dans plusieurs fermes de l’organisation.

Toutefois, le référentiel de données a été créé dans les organisations, bien avant l’arrivée de SharePoint et l’application de services des Métadonnées gérées. Aussi, une proposition simple d’alimentation automatisée des métadonnées gérées est vue à la fin de l’article.

Saisies assistées

L’utilisation du magasin de métadonnées gérées permet de faire des saisies assistées. Par exemple, si vous avez défini la taxonomie suivante dans les métadonnées gérées:

Arborescence de la taxonomie des métadonnées gérées

Une liste Equipements est créée avec les 3 colonnes suivantes :

  • Lots: champ Titre renommé
  • Electro-Ménager: colonne de type Métadonnées gérées qui pointe sur l’ensemble de termes ‘Blanc’
  • Meubles: colonne de type Métadonnées gérées qui pointe sur l’ensemble de termes ‘Brun’

Lorsque l’utilisateur débute une saisie dans le champ Electro-Ménager, les valeurs correspondantes s’affiche.

Saisie assistée avec les métadonnées gérées

Il est aussi possible d’avoir la liste de toutes les valeurs en cliquant sur l’icône en forme de double étiquettes:

Liste de toutes les valeurs d'un ensemble de termes

Provisionnement des Métadonnées gérées

La création de l’application de services des métadonnées gérées peut se faire à l’aide de l’interface graphique utilisateur ou via PowerShell. L’utilisation de PowerShell est incontestablement plus souple, plus rapide et plus puissante. Tuoutefois, pour des raisons purement pédagogiques, vous le ferez avec l’interface graphique.

Allez dans l’administration centrale de SharePoint 2010: Central Administration > Manage service applications > New  (dans le ruban) puis renseignez les champs:

Création de l'application de services des métadonnées gérées

Une fois que l’application de service est créée, il est possible d’accéder aux autres paramètres.

Pour provisionner l’application de services des métadonnées gérées, cliquez simplement dessus: la création de la taxonomie est simple et intuitive grâce à l’utilisation du clic droit.

Par contre, n’oubliez pas d’indiquer que votre compte est administrateur du magasin de termes, sinon vous ne pourrez rien faire. Pensez aussi éventuellement à indiquer la langue par défaut.

Provisionnement du magasin de termes des métadonnées gérées

Les langues s’ajoutent grâce aux pack de langues SharePoint.

Concentrateur de type de contenu

Lors de la création, l’assistant demande de renseigner la zone intitulée Content Type hub.

Le Content Type Hub permet de partager les types de contenu avec les autres collections de sites de la ferme ou d’autres fermes.

Autrement dit, vous définissez une seule fois vos types de contenu sur une collection de sites quelconque (par exemple, http://formation).

Allez dans les paramètres de la collection de sites qui servira à publier les types de contenu. Dans ses paramètres, cliquez sur Fonctionnalités de la collection de sites et recherchez la fonctionnalité intitulée Concentrateur de syndication de type de contenu. Activez cette fonctionnalité:

Fonctionnalité Concentrateur de syndication de type de contenu

Ensuite, vous choisissez les types de contenu que vous souhaitez publier sur d’autres collections de sites.

Par exemple, si vous voulez partager le type de contenu Paris Core Columns, allez dans ses paramètres et cliquez sur Gérer la publication de ce type de contenu:

Paramètres d'un type de contenu

Ensuite, cliquez sur le bouton OK pour valider la publication.

Publication d'un type de contenu

Si vous apportez des modifications à ce type de contenu (ajout d’une colonne, etc), pensez à le republier manuellement.

Afin d’actualiser les sites qui sont abonnés à ce type de contenu, vous devez le demander explicitement. Pour cela, allez dans les paramètres d’administration de la collection de sites qui héberge les types de contenu à publier:

Journaux

Cliquez sur le lien Publication de type de contenu et cochez la case Actualiser tous les types de contenu publiés lors de la prochaine mise à jour.

Publication de type de contenu

Sous la section Concentrateurs s’affiche la liste de tous les types de contenu qui doivent être publiés: Paris Core Columns, Nantes Core Columns, etc.

Erreurs liées aux métadonnées gérées

Si la publication ne s’effectue pas correctement, vérifiez le journal des erreurs de publication de type de contenu.

Vous pouvez aussi vérifier un autre journal: le Journal des erreurs des applications de services de type de contenu. Ce journal se trouve dans les paramètres d’administration de la collection de sites qui héberge les types de contenu à publier.

JournauxIl donne des détails sur des dysfonctionnements éventuels des applications de service des métadonnées gérées.

Un problème souvent rencontré concerne la création d’un type de contenu, ou d’une colonne de site, dans une collection de site cible et qui porte le même nom qu’un type de contenu (ou une colonne de site) publié.

Compte-tenu de la diversité des causes possibles, un autre article viendra compléter celui-ci pour exposer des cas d’erreurs liées aux métadonnées gérées.

Import dans le magasin de données

Lorsqu’il existe déjà un référentiel « maison » de données, il faut imaginer une solution pour alimenter le magasin des métadonnées de SharePoint.

Il est possible d’alimenter le magasin de données à l’aide d’un fichier au format CSV. Un exemple de fichier est donné par SharePoint dans les propriétés (« page d’accueil ») de l’application de service des métadonnées gérées.

Toutefois, cela n’est possible que ponctuellement et ce n’est pas envisageable dans une véritable organisation.

Une autre solution consiste à développer avec Visual Studio un job SharePoint pour le faire systématiquement. Un développeur expérimenté peut le faire en 4/5 jours selon la complexité de la tâche.

Une dernière solution privilégie la simplicité avec PowerShell.

Le référentiel de données existant produit des fichiers au format texte et encodés en UTF-8. Ces fichiers contiennent toutes les valeurs de listes en respectant le formalisme attendu par SharePoint.

Ensuite, grâce au travail de Vlad Catrinescu, un petit script PowerShell et une tâche planifiée permet d’automatiser l’import.

Le fichier ZIP est fourni avec un exemple complet pour importer des données (fictives).

Metadata.zip