Partager via


Présentation succincte de la gestion des métadonnées d’entreprise à l’attention des développeurs Microsoft SharePoint Server 2010

Résumé : la gestion de métadonnées d’entreprise (EMM, Enterprise Metadata Management) de Microsoft SharePoint Server 2010 permet aux utilisateurs de créer et gérer des métadonnées et des taxonomies au sein de l’entreprise. Cet article présente quelques tâches de base de développeur que vous pouvez utiliser comme blocs de construction pour créer des solutions de métadonnées plus puissantes et plus complexes.

Dernière modification : mercredi 12 janvier 2011

Icône Microsoft Ken Milne, Microsoft Corporation

Dans cet article
Présentation de la gestion de métadonnées d’entreprise
À qui est destiné cet article ?
API de taxonomie
Classe TaxonomySession
Groupes, ensembles de termes et termes
Méthode CommitAll
Méthode SetDescription
Méthode CreateLabel
Exemple de code : création et validation d’une taxonomie, ajout d’étiquettes et suppression d’un terme
Conclusion
Ressources supplémentaires

Icône Microsoft Paula Wing, Microsoft Corporation

Novembre 2009

S’applique à : Business Connectivity Services | Office 2010 | Open XML | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio

Sommaire

  • Présentation de la gestion de métadonnées d’entreprise

  • À qui est destiné cet article ?

  • API de taxonomie

  • Classe TaxonomySession

  • Groupes, ensembles de termes et termes

  • Méthode CommitAll

  • Méthode SetDescription

  • Méthode CreateLabel

  • Exemple de code : création et validation d’une taxonomie, ajout d’étiquettes et suppression d’un terme

  • Conclusion

  • Ressources supplémentaires

Présentation de la gestion de métadonnées d’entreprise

La gestion de métadonnées d’entreprise est un ensemble de fonctionnalités inclus dans Microsoft SharePoint Server 2010 qui permet aux taxonomistes, bibliothécaires et administrateurs de créer et gérer des termes et des ensembles de termes au sein de l’entreprise. Les fonctionnalités clés sont les suivantes :

  • Nouveau service de métadonnées gérées qui fournit des métadonnées cohérentes et des taxonomies partagées à plusieurs sites SharePoint Server de l’entreprise.

  • Le service de métadonnées gérées correspond à une banque de termes unique. Une banque de termes est une base de données qui contient une ou plusieurs taxonomies. Plusieurs services de métadonnées gérées (banques de termes) peuvent être associées à une seule application Web.

  • Les taxonomies sont des regroupements hiérarchiques de métadonnées, de hiérarchies et d’autres éléments qui donnent un sens (comme les descriptions, les synonymes et les traductions).

  • Outils de gestion des termes qui propose les fonctionnalités suivantes :

    • Gestion de services : permet d’accéder à toutes les bases de données de banque de termes à partir d’un seul endroit.

    • Groupes de sécurité : permet de contrôler la façon dont les utilisateurs peuvent créer, modifier ou supprimer des éléments à l’aide des utilisateurs et groupes SharePoint Server.

    • Ensembles de termes : il s’agit de conteneurs qui servent à classer, regrouper et partager des hiérarchies de termes.

    • Possibilité d’appliquer des métadonnées dans le navigateur Web, via des applications clientes Microsoft Office 2010 et des applications personnalisées tierces, à l’aide du modèle objet de taxonomie. Ce modèle objet est décrit plus loin dans cet article.

Le service de métadonnées gérées et l’outil de gestion de termes disponibles via l’interface utilisateur (IU) sont puissants et flexibles. Ils permettent aux utilisateurs de gérer des métadonnées et des taxonomies volumineuses, complexes et diverses. Les API de taxonomie disponibles via le modèle objet sont puissantes et étendues. Elles vous offrent la possibilité d’effectuer toutes les opérations que vous pouvez exécuter avec le service de gestion de métadonnées et l’outils de gestion de termes en utilisant l’interface utilisateur.

Cet article présente de façon succincte et très simple le modèle objet de taxonomie. Il ne traite pas en détail des API. Il explique plutôt les concepts et la syntaxe de base que vous pouvez utiliser comme blocs de construction pour écrire vos propres applications de métadonnées d’entreprise personnalisées. Cet article contient en outre un exemple de code complet qui illustre les tâches de programmation de base et décrit en détail les concepts et la syntaxe de chaque tâche.

À qui est destiné cet article ?

Cet article a été rédigé à l’attention des développeurs qui découvrent la fonctionnalité de gestion de métadonnées d’entreprise de SharePoint Server 2010, qui ne maîtrisent peut-être pas le développement SharePoint et qui souhaitent en savoir plus sur certains blocs de construction fondamentaux du modèle objet étendu de taxonomie. Cet article demande des connaissances pratiques de Microsoft Visual C#, Microsoft .NET et du développement Web, notamment ASP.NET.

Conditions préalables requises

Pour pouvoir exécuter l’exemple décrit dans cet article, vous devez au préalable effectuer les opérations suivantes :

  1. Installer l’environnement de développement SharePoint Server 2010 comme décrit dans l’article Configuration de l’environnement de développement pour SharePoint 2010 sur Windows Vista, Windows 7 et Windows Server 2008 du Kit de développement logiciel (SDK) de Microsoft SharePoint Server 2010. Cela comprend notamment l’installation des logiciels requis pour SharePoint Server 2010 comme indiqué pour votre système d’exploitation, la configuration du système pour l’exécution de SharePoint Server 2010 et l’installation de SharePoint Server 2010 et de la version bêta 1 de Microsoft Visual Studio 2010.

  2. Mettre en service la banque de termes par le biais de l’interface utilisateur ou à l’aide de Windows PowerShell.

  3. Lire les articles suivants du Kit de développement logiciel (SDK) Microsoft SharePoint Server 2010 :

API de taxonomie

La plupart des API servant à développer des solutions de gestion de métadonnées d'entreprise se trouve dans l’espace de noms Microsoft.SharePoint.Taxonomy. Cet article est axé sur certaines des classes, méthodes et propriétés les plus couramment utilisées :

  • Classe TaxonomySession

  • Classe TermStore

  • Classe Group

  • Classe TermSet

  • Classe Term

  • Méthode CommitAll

  • Propriété IsAvailable

  • Propriété Name

  • Méthode CreateLabel

  • Méthode SetDescription

Classe TaxonomySession

La classe TaxonomySession crée une session dans laquelle instancier les objets et valider les modifications de façon transactionnelle de l’objet TermStore. Un objet TaxonomySession peut être associé à zéro objet ou plusieurs objets TermStore. Les objets TermStore sont associés à l’application Web de l’objet SPSite parent.

L’extrait de code ci-après représente la première section de l’exemple de code situé à la fin de cet article. Cet extrait permet de déclarer une nouvelle instance de l’objet SPSite à l’adresse https://localhost, d’instancier un nouvel objet TaxonomySession pour le site et d’instancier une nouvelle connexion du service de métadonnées gérées à l’objet TermStore pour la session.

using (SPSite site = new SPSite("https://localhost"))
{
//Instantiates a new TaxonomySession for the current site.
TaxonomySession session = new TaxonomySession(site);
//Instantiates the named "Managed Metadata Service Connection" for the current session.
TermStore termStore = session.TermStores["Managed Metadata Service Connection"];

Groupes, ensembles de termes et termes

La gestion de métadonnées d’entreprise propose des règles et des conteneurs de métadonnées qui facilitent le renforcement des relations hiérarchiques. Une fois qu’une banque de termes a été mise en service, les utilisateurs peuvent y ajouter des groupes, ensembles de termes et termes (dans cet ordre) et créer des relations entre eux.

Les éléments contenus dans une taxonomie reposent sur la classe de base TaxonomyItem. Les classes Group, TermSet, Term, ainsi que certaines autres classes de l’espace de noms Microsoft.SharePoint.Taxonomy, sont des implémentations de la classe TaxonomyItem. Les objets conteneur reposant sur la classe TaxonomyItem, notamment les objets Group, TermSet et Term, sont créés en suivant ces règles :

  • Après la création d’un objet Group, un premier objet TermSet peut être créé. Un objet TermSet doit être le fils d’un seul objet Group parent.

  • Après la création d’un objet TermSet, un premier objet Term peut être créé. Un objet Term peut être le fils d’un objet TermSet ou d’un autre objet Term.

  • Après la création d’un objet Term, un autre objet Term peut être créé et ajouté en tant qu’objet Term enfant.

L’exemple de la figure 1 montre un objet Group, appelé Group1, qui a un fils : un objet TermSet appelé termSet1. termSet1 est le parent de trois objets Term enfant : Term1, Term2 et Term3. Enfin, Term1 est le parent de deux termes enfants, Term1a et Term1b.

Figure 1. Exemple de hiérarchie de taxonomie

Exemple de hiérarchie de taxonomie

Méthode CommitAll

L’API de taxonomie utilise la méthode CommitAll de l’objet TermStore pour valider des transactions de l’objet TermStore. Ces transactions comprennent notamment la création, la suppression et la modification d’objets Group, TermSet et Term.

La méthode CommitAll est transactionnelle, ce qui signifie que tous les éléments à valider dans la transaction actuelle le sont ou ne le sont pas. L’API de taxonomie valide toujours zéro transaction ou toutes les transactions. Cela permet de gérer les modifications apportées de façon systématique à l’objet TermStore et de garantir que la banque de termes comporte toujours le dernier ensemble de métadonnées prévu ou le dernier ensemble de métadonnées correct connu.

Le modèle objet de taxonomie comprend également une API de modification avec des types tels que ChangedItem et ChangedGroup servant à enregistrer l’historique des transactions CommitAll.

termStore.CommitAll();

Méthode SetDescription

L’objet Term comprend une méthode SetDescription qui permet de définir une chaîne décrivant l’objet et définissant le LCID en tant qu’entier 32 bits.

term1.SetDescription("This is term1", 1033);

Méthode CreateLabel

La gestion de métadonnées d’entreprise utilise des étiquettes pour gérer les synonymes et les autres noms d’un objet Term source. La méthode CreateLabel permet d’instancier un nouveau synonyme ou une nouvelle étiquette pour un objet Term. Par exemple, si la propriété Name d’un objet Term est définie sur « Chien » et si d’autres personnes de votre entreprise utilisent le terme canin pour faire référence au même objet Term, vous pouvez utiliser la méthode CreateLabel pour affecter une chaîne et un LCID à l’objet Term. En outre, vous pouvez définir si l’étiquette doit avoir la valeur true ou false par défaut.

term1.CreateLabel("TermOne", 1033, false);

term1.CreateLabel("FirstTerm", 1033, false);

La propriété Name par défaut d’un objet Term est un exemple de méthode CreateLabel qui attribue la valeur true par défaut.

Exemple de code : création et validation d’une taxonomie, ajout d’étiquettes et suppression d’un terme

Dans les sections précédentes, nous vous avons présenté les classes et méthodes coutantes utilisées pour développer des solutions de métadonnées personnalisées à l’aide des API de taxonomie. L’exemple de code ci-après présente sous la forme d’un tout les concepts et le code traités dans les sections précédentes. Vous pouvez utiliser cet exemple comme bloc de construction pour vos propres applications de métadonnées personnalisées.

L’exemple suivant effectue les opérations suivantes :

  1. Il crée un objet TaxonomySession.

  2. Il crée des éléments de taxonomie dans la session (un objet Group, un objet TermSet et plusieurs objets Term, par exemple). Il valide également toutes les modifications apportées à l’objet TermStore.

  3. Il utilise la méthode SetDescription pour créer une chaîne descriptive pour un LCID donné d’un objet Term.

  4. Il utilise la méthode CreateLabel pour créer des synonymes et d’autres étiquettes, il les affecte à un objet Term, puis il valide les modifications.

  5. Il montre comment supprimer un objet Term de l’objet TermStore et valider la modification. Bien que cet exemple ne le montre pas explicitement, les objets Group et TermSet peuvent être supprimé de façon similaire.

using (SPSite site = new SPSite("https://localhost"))
{
//Instantiates a new TaxonomySession for the current site.
TaxonomySession session = new TaxonomySession(site);
//Instantiates the connection named "Managed Metadata Service Connection" for the current session.
TermStore termStore = session.TermStores["Managed Metadata Service Connection"];

// Creates and commits a Group object named Group1, a TermSet object named 
// termSet1, and several Term objects. Term1, Term2, and Term3 are members of 
// termSet1. Term1a and Term1b are children of Term1.
// 
Group group1 = termStore.CreateGroup("Group1");
TermSet termSet1 = group1.CreateTermSet("TermSet1");
Term term1 = termSet1.CreateTerm("Term1", 1033);
Term term2 = termSet1.CreateTerm("Term2", 1033);
Term term3 = termSet1.CreateTerm("Term3", 1033);
Term term1a = term1.CreateTerm("Term1a", 1033);
Term term1b = term1.CreateTerm("Term1b", 1033);
termStore.CommitAll();

// Sets a description and some alternate labels for term1 and commits
// the changes to termStore.
term1.SetDescription("This is term1", 1033);
term1.CreateLabel("TermOne", 1033, false);
term1.CreateLabel("FirstTerm", 1033, false);\
termStore.CommitAll();

// Deletes an unnecessary term, term3, from termStore and commits the change.
term3.Delete();
termStore.CommitAll();

Conclusion

SharePoint Server 2010 comprend des API de taxonomie que vous pouvez utiliser pour écrire des applications personnalisées créant des hiérarchies de métadonnées. Le modèle objet s’étend au-delà des fonctionnalités de gestion de métadonnées et des outils disponibles via l’interface utilisateur. Il offre des possibilités puissantes comme activer la recherche et la navigation pilotées par les métadonnées et fournir des valeurs aux propriétés personnalisées. Cet article présente certaines tâches de développement courantes comme créer une session de taxonomie, valider de nouveaux éléments de taxonomie dans la banque de termes, mettre à jour et modifier des éléments de taxonomie tels que les objets Group, TermSet et Term et créer de nouvelles étiquettes pour les objets Term.

Ressources supplémentaires

Pour plus d’informations, voir les ressources suivantes :