Bloc de construction : fonctionnalités
Dernière modification : mardi 22 décembre 2009
S’applique à : SharePoint Foundation 2010
Dans cet article
Modèle objet des fonctionnalités
Fichiers XML utilisés pour les fonctionnalités
Domaines liés aux fonctionnalités
Informations supplémentaires sur les fonctionnalités
Une fonctionnalité est un conteneur d’une ou plusieurs extensions aux fonctions de Microsoft SharePoint Foundation. Elle contient un fichier Feature.xml et un ou plusieurs fichiers d’élément. Ces fichiers XML sont également appelés définitions de fonctionnalité.
Les fonctionnalités peuvent comporter des modèles, des pages, des définitions de liste, des gestionnaires d’événements, des flux de travail, des personnalisations de et d’autres objets. Le répertoire qui contient la fonctionnalité peut en contenir une autre qui comporte aussi des fichiers de ressources, tels que des pages, des images, des fichiers ECMAScript (JavaScript, JScript) ou des feuilles de style en cascade (CSS, Cascading Style Sheet). Les fonctionnalités peuvent également être dépendantes d’une autre fonctionnalité appliquée à une étendue plus large. Par exemple, une fonctionnalité qui a pour étendue le niveau site peut dépendre d’une fonctionnalité qui a pour étendue le niveau collection de sites. Toutefois, une fonctionnalité qui est activée pour une étendue supérieure ne peut pas dépendre d’une fonctionnalité activée pour une étendue inférieure.
Les fonctionnalités contiennent également des récepteurs de fonctionnalité. Il s’agit d’assemblys qui contiennent du code qui s’exécute lorsqu’une fonctionnalité est installée, désinstallée, activée, désactivée ou mise à niveau. Pour plus d’informations sur les récepteurs de fonctionnalité, voir Feature, événements.
Batterie de serveurs : la fonctionnalité sera activée dans la batterie de serveurs.
Application Web : la fonctionnalité sera disponible dans l’application Web.
Collection de sites : la fonctionnalité sera disponible dans une collection de sites.
Site : la fonctionnalité sera disponible dans un seul site.
Modèle objet des fonctionnalités
Les fonctionnalités peuvent être manipulées à l’aide du modèle objet SharePoint Foundation. Ce dernier permet notamment de rechercher des informations sur une fonctionnalité, de récupérer la liste des fonctionnalités installées et de déterminer l’activation des dépendances. Les classes ci-après peuvent être utilisées avec les fonctionnalités à l’aide du modèle objet.
Espace de noms Microsoft.SharePoint
- SPFeature : objet qui représente une fonctionnalité. La collection de fonctionnalités est stockée dans un objet SPFeatureCollection. L’objet SPFeatureCollection est accessible à l’aide de la propriété Features sur les objets SPWebService, SPWebApplication, SPSite et SPWeb. Si une fonctionnalité figure dans la collection, cela signifie qu’elle a été activée pour l’étendue spécifiée.
- SPFeatureProperty : objet qui représente une seule propriété sur un objet SPFeature. La collection de propriétés est stockée dans un objet SPFeaturePropertyCollection. L’objet SPFeaturePropertyCollection est accessible à l’aide de la propriété Properties de l’objet SPFeature.
- SPFeatureScope : énumération des différentes étendues pouvant être spécifiées pour une fonctionnalité, notamment Farm, WebApplication, Site et Web.
- SPFeatureDependency : objet qui représente une fonctionnalité qui en dépend d’une autre. La collection de fonctionnalités qui en dépendent d’une autre est stockée dans un objet SPFeatureDependencyCollection. L’objet SPFeatureDependencyCollection est accessible à l’aide de la propriété ActivationDependenciesde l’objet SPFeatureDefinition.
Espace de noms Microsoft.SharePoint.Administration
- SPFeatureDefinition : objet qui représente la définition de base d’une fonctionnalité comprenant le nom, l’étendue, l’ID et la version. La collection de définitions de fonctionnalités est stockée dans un objet SPFeatureDefinitionCollection. L’objet SPFeatureDefinitionCollection est accessible à l’aide de la propriété FeatureDefinitions des objets SPFarm ou SPSite.
- SPElementDefinition : objet qui représente un élément mis en service lorsqu’une fonctionnalité est activée ou utilisée. La collection de définitions d’élément est stockée dans un objet SPElementDefinitionCollection. L’objet SPElementDefinitionCollection est accessible à l’aide de la méthode GetElementDefinitions(CultureInfo) de l’objet SPFeatureDefinition.
Fichiers XML utilisés pour les fonctionnalités
Les fonctionnalités sont principalement construites à l’aide de deux fichiers XML : un fichier Feature.xml et un fichier d’élément Feature. Ces deux fichiers définissent l’étendue, les dépendances et tous les fichiers associés qui seront déployés sur le serveur Web frontal.
Fichier manifeste de l’élément Feature
Un fichier Feature.xml sert à spécifier l’emplacement des assemblys, des fichiers, des dépendances ou des propriétés qui prennent en charge la fonctionnalité. L’élément ElementManifest, élément (Feature) pointe vers le fichier manifeste Feature qui définit la fonctionnalité. Pour plus d’informations sur les valeurs utilisées pour les attributs, voir Fichiers Feature.xml. Un fichier Feature.xml de base se présente sous la forme ci-après.
<Feature Title="Feature Title"
Scope="FeatureScope"
Id="GUID"
xmlns="https://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="FeatureManifestFileName.xml" />
</ElementManifests>
</Feature>
Fichier d’élément Feature
Un fichier d’élément Feature peut porter n’importe quel nom. Lorsque vous définissez votre fichier Feature.xml, vous devez référencer le nom du fichier dans l’élément ElementManifest, élément (Feature). Ce fichier peut contenir un élément CustomAction, élément, des personnalisations de l’interface utilisateur, du Ruban et de nombreuses autres personnalisations. Pour plus d’informations sur la structure du fichier, voir Schémas de fonctions. Un fichier d’élément Feature se présente sous la forme ci-après.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
<CustomAction Id="Ribbon.Library.Actions.AddAButton"
Location="ViewToolbar"
RegistrationId="101"
RegistrationType="List"
Title="Add a Ribbon Button">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.Library.Actions.Controls._children">
<Button Id="Ribbon.Library.Actions.Controls.NewRibbonButton"
Command="NewRibbonButtonCommand"
Image16by16="/_layouts/images/FILMSTRP.GIF"
Image32by32="/_layouts/images/PPEOPLE.GIF"
LabelText="Hello World"
TemplateAlias="o2" />
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="NewRibbonButtonCommand"
CommandScript="javascript:alert('Hello, world');" />
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
</Elements>
Domaines liés aux fonctionnalités
Blocs de contruction : Solutions
Bloc de construction : types de contenu
Bloc de construction : listes et bibliothèques de documents