Déployer des éléments de sites à l’aide de composants fonctionnels (SharePoint Foundation 2010)

 

S’applique à : SharePoint Foundation 2010

Dernière rubrique modifiée : 2016-11-30

Cet article décrit le déploiement de personnalisations d’éléments de sites développés au moyen de composants fonctionnels. Au moyen de composants fonctionnels, vous pouvez contrôler le cadre d’activation et de désactivation de la personnalisation de site, et facilement déployer les personnalisations sur plusieurs batteries de serveurs.

Dans cette section :

  • Qu’est-ce qu’un composant fonctionnel ?

  • Quand utiliser des composants fonctionnels

  • Créer un composant fonctionnel

  • Installer et activer un composant fonctionnel à l'aide de Windows PowerShell

Qu’est-ce qu’un composant fonctionnel ?

Un composant fonctionnel est un conteneur de différentes extensions définies pour SharePoint Foundation 2010, et est composé d’un ensemble de fichiers XML déployés sur des serveurs Web frontaux et des serveurs d’applications. Vous pouvez déployer un composant fonctionnel dans le cadre d’un package de solution, et vous pouvez activer individuellement un composant fonctionnel dans des sites SharePoint Foundation.

Les composants fonctionnels réduisent la complexité liée à la création de personnalisations de sites simples. Les composants fonctionnels éliminent la nécessité de devoir copier de vastes sections de code pour modifier une fonctionnalité simple et, par conséquent, ils réduisent les problèmes de contrôle de versions et d’incohérence qui peuvent se produire entre serveurs Web frontaux.

Les composants fonctionnels facilitent l’activation ou la désactivation de la fonctionnalité au cours d’un déploiement, et les administrateurs peuvent facilement transformer le modèle ou la définition d’un site en activant ou désactivant un composant fonctionnel particulier sur l’interface utilisateur.

Un élément est une unité atomique d’un composant fonctionnel. L’élément Feature est utilisé dans un fichier Feature.xml file pour définir un composant fonctionnel et spécifier l’emplacement des assemblys, des fichiers, des dépendances ou des propriétés qui prennent en charge le composant fonctionnel. Un composant fonctionnel inclut un fichier Feature.xml et un nombre illimité de fichiers décrivant des éléments individuels. Un autre élément Feature d’un schéma différent est utilisé dans un fichier Onet.xml pour indiquer qu’un composant fonctionnel doit être activé lors de la création d’un site à partir de la définition de site.

Un fichier Feature.xml pointe généralement vers un ou plusieurs fichiers XML dont la balise de niveau supérieur <Elements> contient des définitions pour les éléments qui prennent en charge le composant fonctionnel. Les éléments dans SharePoint Foundation 2010 correspondent souvent aux anciens nœuds discrets du fichier Onet.xml ou Schema.xml de Microsoft Office SharePoint Portal Server 2003 Il existe plusieurs types d’éléments, par exemple, un élément de menu personnalisé ou un gestionnaire d’événements.

Quand utiliser des composants fonctionnels

Les composants fonctionnels représentent la méthode recommandée pour le déploiement d’éléments de fonctionnalité, de personnalisations ou de modifications de configuration sur des serveurs Web frontaux. Le composant fonctionnel constitue un moyen flexible de gérer une fonctionnalité tout au long de son cycle de vie, notamment lors de l’activation, de la mise à niveau et éventuellement de la désactivation.

Vous pouvez utiliser des composants fonctionnels pour déployer des éléments de site développés dans un ou plusieurs des scénarios suivants :

  • Besoin d’activation et de désactivation   Lorsque vous déployez des personnalisations d’éléments de site dans un composant fonctionnel, vous pouvez installer, activer et désactiver le composant fonctionnel avec Windows PowerShell ou au moyen du modèle objet. Vous pouvez également activer et désactiver un composant fonctionnel à l’aide du site Web Administration centrale.

  • Flexibilité d’étendue   Vous pouvez activer un composant fonctionnel pour une étendue unique, notamment une batterie de serveurs, une application Web, une collection de sites ou un site Web.

  • Simplicité de distribution des déploiements   Un composant fonctionnel est facile à déployer sur plusieurs batteries de serveurs dans le cadre d’une solution.

  • Contrôle approfondi via le modèle objet Composant fonctionnel   Le modèle objet Composant fonctionnel permet de spécifier la liste des composants fonctionnels installés dans une étendue donnée et de contrôler si les composants fonctionnels sont activés aux niveaux de la batterie de serveurs et des sites.

Utilisez les packages de solution pour créer des packages de composants fonctionnels à déployer dans différents environnements. Par exemple, utilisez un package de solution pour déployer des personnalisations entre des stations de travail de développeurs et une batterie de serveurs d’intégration, et entre une batterie d’intégration ou des stations de travail clientes de création, et des batteries de serveurs pilotes ou de production.

Créer un composant fonctionnel

Lorsque vous créez une page Web personnalisée dans SharePoint Foundation 2010 à l’aide du navigateur ou de SharePoint Designer, la page ASPX peut uniquement appartenir à la collection de sites racine du serveur qui exécute SharePoint Foundation 2010. Pour créer une page sous une collection de sites qui est disponible à toute la batterie de serveurs et dans toutes les collections de sites, utilisez une solution pour déployer la page sous le dossier \14\Template\Layouts (en utilisant l’élément TemplateFiles dans le fichier de manifeste de solution).

Sur une batterie de serveurs, il est recommandé de déployer des composants fonctionnels en utilisant un package de solution. Si un serveur doit être reconstruit ou qu’un autre serveur est ajouté à la batterie, le composant fonctionnel ne devra pas être manuellement ajouté à chaque serveur Web frontal. En utilisant des packages de solution, vous pouvez déployer des composants fonctionnels nouveaux et mis à niveau dans la batterie de serveurs et synchroniser un serveur Web frontal afin que son état soit cohérent avec celui d’autres serveurs dans la batterie.

Pour contrôler la disponibilité d’une page personnalisée dans une collection de sites ou un site Web, déployez la page Web personnalisée en tant que composant fonctionnel SharePoint dans le cadre d’une solution. Utilisez l’élément de module dans le fichier Feature.xml pour déployer une page Web en utilisant une étendue d’une collection de sites et d’un site Web. Les modules sont fréquemment utilisés pour mettre en œuvre un composant WebPart dans le site.

Un composant fonctionnel qui est déployé dans le cadre d’une solution est installé automatiquement. Si vous déployez manuellement un composant fonctionnel, vous devez l’installer et l’activer. Voir Installer et accéder à un composant fonctionnel avec Windows PowerShell, plus loin dans cet article.

Pour créer et déployer un composant fonctionnel personnalisé

  1. Créez un fichier Feature.xml. L’exemple qui suit montre un fichier Feature.xml qui permet d’attribuer un ID unique au composant fonctionnel et de pointer vers le fichier Module.xml.

    <?xml version="1.0"?>
    <Feature Id="8C4DD0CB-5A94-44da-9B7F-E9ED49C2B2DC" Title=
    "Custom Web page"
    Description="This simple example feature adds an ASPX page 
    with a hosted XmlFormView control" 
    Version="1.0.0.0" Scope="Web"
    xmlns="https://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
        <ElementManifest Location="Module.xml"/>
    </ElementManifests>
    </Feature>
    
  2. Créez un fichier Module.xml. L’exemple qui suit est un fichier Module.xml contenant des informations sur la ou les pages qui font partie de la solution.

    <?xml version="1.0"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
        <module name="file" url="" path="">
            <file url="XmlFormViewPage.aspx" type="ghostable"> </file>
        </module>
    </Elements>
    
  3. Changez la valeur de l’url du fichier au nom de votre page ASPX.

  4. Ajoutez un sous-dossier pour la définition du composant fonctionnel dans le répertoire d’installation des composants fonctionnels sur l’ordinateur serveur, généralement %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\TEMPLATE\FEATURES.

    Important

    Une meilleure pratique consiste à utiliser des noms détaillés, qualifiés pour les sous-dossiers que vous créez pour les définitions de composants fonctionnels. Cette pratique minimise le risque d’ajouter des composants fonctionnels multiples ayant le même nom et d’écraser le fichier Feature.xml pour un autre composant fonctionnel. Par exemple, utilisez HR_Contract et Finance_Contract et non Contract.

  5. Ajoutez votre page .aspx personnalisée à ce sous-dossier pour la définition du composant fonctionnel.

  6. Ajoutez les fichiers Feature.xml et Module.xml au même emplacement.

  7. Ajoutez le composant fonctionnel à un package de solution.

    Vous pouvez utiliser Visual Studio 2010 pour ajouter le composant fonctionnel à une solution, ou vous pouvez manuellement ajouter un élément FeatureManifests au fichier Manifest.xml de la solution.

  8. Créez le package de solution.

    Vous pouvez utiliser Visual Studio 2010 pour construire le package de la solution. Vous pouvez également utiliser l’outil Makecab.exe pour créer le package de solution.

  9. Importez et déployez le package de solution.

    Ajoutez la solution au magasin de solutions à l’aide de l’applet de commande Windows PowerShellAdd-SPSolution, puis déployez la solution à partir du magasin de solutions en utilisant le site Web Administration centrale ou au moyen de Windows PowerShell.

Pour plus d’informations sur l’utilisation de Visual Studio 2010 pour ajouter des composants fonctionnels à des packages de solution, voir Création de packages de solution SharePoint (https://go.microsoft.com/fwlink/?linkid=187035&clcid=0x40C). Pour plus d’informations sur la création manuelle d’un package de solution ou l’utilisation de l’outil Makecab.exe pour créer le package, voir Création d’une solution (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=187036&clcid=0x40C). Pour plus d’informations sur le déploiement de solutions, voir Déployer des packages de solution (SharePoint Foundation 2010).

Installer et activer un composant fonctionnel à l’aide de Windows PowerShell

Vous pouvez installer et activer un composant fonctionnel à l’aide de Windows PowerShell ou du modèle objet. Vous pouvez également activer un composant fonctionnel à l’aide de la page Gérer les fonctionnalités des applications Web ou la page Composants fonctionnels de la collection de sites ou du site où vous souhaitez activer le composant fonctionnel. L’installation d’un composant fonctionnel rend sa définition et ses éléments connus dans l’ensemble d’une batterie de serveurs, et l’activation du composant fonctionnel rend ce dernier disponible à une étendue particulière.

Notes

Les composants fonctionnels qui sont déployés dans le cadre d’un package de solution sont installés par le déploiement et une installation manuelle n’est pas requise.

Vous installez des composants fonctionnels dans le dossier 14\Template\Features, chaque composant fonctionnel occupant son propre sous-dossier. À la racine de ce dossier, un fichier Feature.xml définit le contenu du composant fonctionnel. Vous devez installer des composants fonctionnels individuels avant de pouvoir les utiliser, et, sauf si le composant fonctionnel est étendu à l’échelle de la batterie de serveurs, vous devez les désactiver après leur installation. Si un composant fonctionnel est étendu à l’échelle de la batterie de serveurs ou de l’application Web, il est activé automatiquement.

Pour désinstaller un composant fonctionnel afin que sa définition ne soit plus disponible dans une batterie de serveurs, vous devez d’abord désactiver le composant fonctionnel à l’aide de l’applet de commande Windows PowerShellDisable-SPFeature, sauf si l’étendue du composant fonctionnel couvre les applications Web ou les batteries de serveurs. Après la désactivation du composant fonctionnel, vous pouvez utiliser l’applet de commande Uninstall-SPFeature pour le désinstaller. Pour plus d’informations, voir Uninstall-SPFeature. Après la désinstallation d’un composant fonctionnel, réinitialisez IIS afin que les modifications puissent être appliquées.

Pour désactiver un composant fonctionnel afin qu’il devienne inactif comme son étendue affectée d’origine sans le désinstaller, vous pouvez utiliser l’applet de commande Disable-SPFeature. Pour plus d’informations, voir Disable-SPFeature.

Utilisez les procédures suivantes pour installer et activer un composant fonctionnel.

Pour installer un composant fonctionnel à l’aide de Windows PowerShell

  1. Vérifiez que vous disposez de la configuration minimale requise suivante : Voir Add-SPShellAdmin.

  2. Dans le menu Démarrer, cliquez sur Tous les programmes.

  3. Cliquez sur Produits Microsoft SharePoint 2010.

  4. Cliquez sur SharePoint 2010 Management Shell.

  5. À l’invite de commandes de Windows PowerShell, tapez la commande suivante :

    Install-SPFeature -path <Path> [-force]
    

    Où :

    • <Path> est un chemin de fichier valide ; par exemple, MyFeature. Le chemin d’accès au composant fonctionnel doit être un chemin littéral au nom de dossier 14\Template\Features. Le nom de fichier Feature.xml est implicite et n’a pas besoin d’être fourni.

Pour plus d’informations, voir Install-SPFeature.

Notes

Nous vous recommandons d’utiliser Windows PowerShell pour les tâches d’administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.

Pour activer un composant fonctionnel à l’aide de Windows PowerShell

  1. Vérifiez que vous disposez de la configuration minimale requise suivante : Voir Add-SPShellAdmin.

  2. Dans le menu Démarrer, cliquez sur Tous les programmes.

  3. Cliquez sur Produits Microsoft SharePoint 2010.

  4. Cliquez sur SharePoint 2010 Management Shell.

  5. À l’invite de commandes de Windows PowerShell, tapez la commande suivante :

    Enable-SPFeature -Identity <FeatureID> [-url] <URLname> [-force]
    

    Où :

    • <FeatureID> est le nom du dossier du composant fonctionnel se trouvant dans le dossier 14\Template\Features. Ce doit être un chemin d’accès de fichier valide ; par exemple, MyCustom.

    • <URLname> est l’URL parent du composant fonctionnel de l’application Web, de la collection de sites ou du site Web pour lequel le composant fonctionnel est activé ; par exemple, http://somesite.

Pour plus d’informations, voir Enable-SPFeature.

Notes

Nous vous recommandons d’utiliser Windows PowerShell pour les tâches d’administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.