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.

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.

Pourtant, tous ces utilisateurs ont des droits de collaboration, voire de conception, sur la totalité des sites concernés. Il ne s’agit donc pas d’un problème lié aux autorisations.

Par ailleurs, l’administrateur de la collection de sites continue à voir et à manipuler les valeurs sans difficulté. L’application de services des métadonnées gérées est donc hors de cause.

Résoudre le problème lié aux métadonnées gérées

Pour des raisons de sécurité, l’administrateur SharePoint ne permet pas aux utilisateurs de voir les métadonnées gérées SharePoint.

En effet, 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 vous mettez en oeuvre la taxonomie, vous disposez de métadonnées qui 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 Utilisateurs authentifiés avec un accès en lecture pour autoriser tous les utilisateurs authentifiés de Windows.

Métadonnées gérées
TaxonomyHiddenList

Comprendre le rôle et l’intérêt des métadonnées gérées SharePoint

La différence entre une implémentation réussie ou bancale de SharePoint repose essentiellement sur la bonne utilisation des métadonnées et des métadonnées gérées SharePoint.

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.

Rôle des métadonnées gérées SharePoint

La réponse de Microsoft consiste à s’appuyer sur l’application de services des métadonnées gérées SharePoint 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 SharePoint. Aussi, une proposition simple d’alimentation automatisée des métadonnées gérées SharePoint est vue à la fin de l’article.

Saisies assistées

L’utilisation du magasin de métadonnées gérées SharePoint 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 SharePoint:

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

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 SharePoint qui pointe sur l’ensemble de termes ‘Blanc’
  • Meubles: colonne de type métadonnées gérées SharePoint 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 SharePoint
Saisie assistée avec les métadonnées gérées SharePoint

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
Liste de toutes les valeurs d’un ensemble de termes

Approvisionnement des métadonnées gérées SharePoint

La création de l’application de services des métadonnées gérées SharePoint 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. Toutefois, pour des raisons purement pédagogiques, vous le ferez avec l’interface graphique.

Dans l’administration centrale SharePoint, allez dans la gestion des applications de services puis créez une nouvelle application de service de type métadonnées gérées SharePoint.

Puis renseignez les champs suivants :

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

Maintenant, pour provisionner l’application de services des métadonnées gérées SharePoint, 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 SharePoint
Provisionnement du magasin de termes des métadonnées gérées SharePoint

Les langues s’ajoutent grâce aux modules linguistiques 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
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
Paramètres d’un type de contenu

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

Publication d'un type de contenu
Publication d’un type de contenu

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

Si vous voulez actualiser les sites qui sont abonnés à ce type de contenu, vous pouvez 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:

Journal des erreurs des applications de services de type de contenu
Journal des erreurs des applications de services de type de contenu

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
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 SharePoint

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.

Journal des erreurs des applications de services de type de contenu
Journal des erreurs des applications de services de type de contenu

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

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 SharePoint.

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.

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

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.

Enfin, 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.

Importez des données fictives avec le fichier ZIP Metadata.zip.