Introduction au managed metadata et liste déroulante en cascade
Les métadonnées gérées ou « managed meta data » est un nouveau service d'application sur SharePoint Server 2010. Celui-ci permet de créer des termes et des types de contenu disponibles à travers des collections de sites, des applications web, et également des fermes SharePoint. Par définition les métadonnées gérées constituent une collection hiérarchique de termes, gérés de façon centralisée que l'on peut définir.
Ici nous verrons comment utiliser les métadonnées gérées pour créer le principe de liste déroulante en cascade. Si vous êtes sur SharePoint dans sa version 2007 (MOSS & WSS 3.0), cette fonctionnalité n'est pas disponible, cependant vous pouvez arriver à vos fins en suivant mon autre article « Liste déroulante en cascade avec jQuery ».
Pour effectuer cet article de A à Z vous devez être « Administrateur de magasin de termes » c'est-à-dire administrateur du service d'application des métadonnées gérées, cependant le simple fait d'être juste « Collaborateur » au niveau d'un groupe de termes, donc de pouvoir créer des ensembles de termes, puis des termes pourra suffire. Pour plus d'informations sur les rôles associés aux métadonnées gérées rendez-vous ici. Voici l'architecture des magasins de termes :
Dans un premier temps on va se rendre sur l'administration centrale de SharePoint 2010.
Sur la page d'accueil cliquez sur « Manage service applications » dans la partie « Application Management ».
Ensuite recherchez le service d'application avec le nom « Managed Metadata Service » qui est le nom par défaut du service d'application des métadonnées gérées. Puis cliquez sur le lien.
Ici on arrive sur la page d'administration des métadonnées gérées.
Dans la partie de droite vous pouvez sélectionner le service d'application adéquate dans le cas où vous auriez plusieurs services d'application pour les métadonnées gérées.
Ensuite c'est à ce niveau dans « Term store Administrators » que vous définissez les administrateurs pour le service d'application des métadonnées gérées. Ces personnes se verront automatiquement attribuer le droit d'accès à l'administration centrale de SharePoint 2010. Dans la partie « Default Language » vous pouvez définir le langage par défaut de chacun de vos magasins de termes, de ce fait tous les termes de ce magasin de termes devront obligatoirement avoir un label défini dans ce langage par défaut. Exemple Finance, ou IT comme label de terme pour la langue anglaise.
« Working Languages » permet pour un terme de définir son équivalent dans une autre langue. Par exemple si j'installe le pack linguistique français, dans cette partie je pourrai rajouter le français et alors pour chaque terme que je créerai, je pourrai donner son équivalent en français. Il ne s'agit pas ici d'une traduction automatique. On doit configurer manuellement les labels des termes pour les langues dans lesquelles que l'on veut qu'ils soient visibles. Dans ce cas c'est la langue du site qui déterminera quel label qui sera visible, ou encore disponible au niveau des colonnes de type métadonnées gérées.
Maintenant allez dans la partie de gauche et cliquez sur « Managed Metadata service » et « New Group ».
Ici je vais reprendre l'exemple de mon précédent article « Liste déroulante en cascade avec jQuery » en me basant sur des noms de pays et de villes. De ce fait comme nom de groupe tapez « Localisation » puis appuyez sur la touche « Entrée ».
Dans la partie de droite vous pouvez rajouter une description pour le groupe de termes, dans la section « Contributors » vous avez la possibilité d'ajouter des collaborateurs c'est-à-dire des personnes pouvant créer, renommer, réutiliser, déplacer ou supprimer des termes ou des ensembles de termes.
Dans la section « Goup Managers » vous pouvez ajouter des responsables de groupes, ces personnes auront les mêmes droits que les collaborateurs, plus la possibilité d'affecter des utilisateurs au rôle de collaborateurs.
Cliquez maintenant sur « Localisation » et « New Term Set ».
Tapez « Itinéraire de vacances ».
Dans la partie de droite on peut renseigner le nom de l'ensemble de termes, rajouter une description.
Le propriétaire et les parties prenantes sont à titre informatifs. Dans la section contact vous pouvez renseigner le nom d'un contact qui pourra être utilisé lors de la sélection des termes par les utilisateurs pour émettre des suggestions ou encore faire des feedbacks.
Dans la section « Submission Policy » on peut renseigner, si cet ensemble de termes sera « Ouvert » ou « Fermé », c'est-à-dire es ce que l'utilisateur pourra rajouter ou non à sa guise des termes dans celui-ci.
La dernière section permet d'utiliser ces mêmes termes dans les Tags de page.
Cliquez sur l'ensemble de terme puis « Create Term ».
Créez les termes suivants : Allemagne, Canada, Espagne, France.
Pour chaque terme créé précédemment, créez-les sous termes suivants.
Cependant nous allons désactiver la possibilité de tagger avec les termes parents, c'est-à-dire désactiver la case à cocher « Available for Tagging » pour chaque pays. Positionnez-vous sur le terme France, puis décochez la case en regard de « Available for Tagging »
Puis cliquez sur « Save » en bas de page.
Si à ce niveau vous avez un avertissement dans une boite de dialogue, cliquez sur « OK » et rechargez la page (F5) et recommencez l'opération. D'ordre général désactivez cette case pour chaque terme qui ne doit pas être sélectionnable par l'utilisateur.
D'ailleurs lors de la désactivation du tagging sur un terme celui-ci devient grisé.
Maintenant que tous nos pays et villes sont stockés dans le magasin de termes. Nous allons pouvoir faire appel à ces termes dans nos colonnes SharePoint. Rendez-vous dans votre site SharePoint. Et créez une nouvelle liste avec le nom « Itinéraire de vacances ».
Pour cela sur la page d'accueil, cliquez sur « Site Action » > « More Options ».
Dans la boite de dialogue filtrez par « List » et sélectionnez « Custom List ». Puis tapez « Itinéraire de vacances » dans le champ de droite, et cliquez sur « Create ».
Maintenant on va créer une colonne de type métadonnées gérées dans notre liste « Itinéraire de vacances ». Pour cela rendez-vous sur votre liste et allez dans l'onglet « List > List Settings ».
Dans la troisième section « Colums » cliquez sur « Create column ».
Sur la page « Create Colum » dans « Column name » tapez « Lieu » puis dans type sélectionnez « Managed Metadata ».
En milieu de page dans la section « Term Set Settings », sélectionnez votre magasin de termes puis le groupe de termes « Localisation » et enfin l'ensemble de termes « Itinéraire de vacances ». Et cliquez sur « OK ».
Petite parenthèse, juste en dessous de « Use a managed term set » vous avez « Customize your term set ». Ici vous pouvez créer votre ensemble de terme personnalisé, cependant celui-ci ne sera disponible que dans la collection de site dans laquelle vous vous situez et ne sera pas disponible dans votre magasin de termes car un ensemble de termes personnalisé n'est pas considéré comme un ensemble de termes global mais un ensemble de termes local. Pour retrouver cet ensemble de terme ultérieurement il vous faudra vous rendre bien évidement dans un site de la collection de site en question et cette fois dans la partie « Use a managed term set », vous le verrez sous la forme « Site Collection –Nom_De_Votre_Collection_De_Site ». Voilà fermons la parenthèse.
Revenez sur votre liste « Itinéraire de vacances» et cliquez sur « Add new item ».
Ici dans la boite de dialogue vous avez le champ Titre et le champ « Lieu » créé précédemment, deux solutions s'offre à vous, pour compléter ce dernier, soit tapez directement le terme en supposant que vous le connaissiez au préalable à ce moment vous voyez les suggestions apparaitre en fonction des première lettre que vous commencez à taper. Soit cliquez sur l'icône « Tags » et rechercher le terme, puis cliquez sur « Select » et « OK ». Puis sauvegarder l'élément. Le lien « Send Feedback » permet d'envoyer un e-mail à ce fameux contact renseigné au niveau de l'ensemble de termes.
Ici vous pouvez constater que l'on ne peut pas sélectionner les pays, ils sont grisés, d'où l'étape « désactiver la case à cocher « Available for Tagging » pour chaque pays», vu précédemment. De même vous pouvez sélectionner qu'un seul terme. Si vous voulez pouvoir entrer plusieurs termes dans ce type de colonne, vérifiez que lors de la création de votre colonne de type métadonnées gérées, dans la section « Multiple Value field » que le paramètre "Allow multilple values" est coché. Voilà c'est fini !
Quelques précisions sur les métadonnées gérées :
- 1 000 ensembles de termes par magasin de termes
- 30 000 termes par ensemble de termes
- 1 000 000 de termes par magasin de termes
En générale les termes gérés sont fermés seul les responsable et les collaborateurs d'ensemble de termes peuvent ajouter, modifier ou effacer des termes dans l'ensemble de termes.