Déployer des modèles (SharePoint Server 2010)

 

S’applique à : SharePoint Server 2010

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

Cet article explique comment créer une définition de site personnalisée et la déployer à l’aide d’un package de solution.

Dans cet article :

  • Description des définitions de site

  • Définitions et configurations de site

  • Créer une définition et une configuration de site personnalisée

  • Déployer une définition de site à l’aide d’un package de solution

Description des définitions de site

Dans Microsoft SharePoint Server 2010, un utilisateur crée un site par le biais de l’interface utilisateur en sélectionnant une configuration de définition de site ou un modèle de site personnalisé qui définit l’instanciation du site. Une définition de site est un modèle qui détermine, par exemple, les listes, fichiers, composants WebPart, composants fonctionnels ou paramètres avec lesquels mettre en service un nouveau site SharePoint.

Une définition de site est une famille de configurations de définition de site. Chaque définition de site spécifie un nom et contient la liste des configurations de définition de site. Dans SharePoint Server 2010, une définition de site se compose d’un ensemble de fichiers XML pouvant être appliqués pour la mise en service des nouveaux sites. Ces fichiers se trouvent sur des serveurs Web.

Les définitions de site se composent essentiellement de plusieurs fichiers XML et ASPX stockés sur un serveur Web frontal dans des dossiers situés sous le dossier %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates.

Un site créé à partir d’une définition de site complète, mais ne répète pas, les informations de structure et de contenu de la définition de site d’origine. Tout au long de leur cycle de vie, les sites continuent de dépendre de la définition de site qui constitue leur fondation même. Par conséquent, Microsoft ne prend pas en charge la modification ou la suppression d’une définition de site après que des sites ont été créés à partir de celle-ci. Les modifications de ce type peuvent entraîner un dysfonctionnement des sites créés à partir de la définition ou empêcher la création de sites basés directement, ou indirectement, sur la définition de site. Pour personnaliser une définition de site, les développeurs peuvent ajouter un composant fonctionnel qui comprend les modifications de la définition de site. La définition de site elle-même n’est pas modifiée.

Pour plus d’informations sur les types de personnalisations de définitions de site pris en charge par Microsoft, voir Scénarios pris en charge et non pris en charge pour utiliser les définitions de site personnalisées et les définitions de zone personnalisées dans SharePoint 2003, 2007 et 2010 (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=187678&clcid=0x40C).

Dans le modèle objet, un objet SPWebTemplate représente une définition de site (et une configuration). Pour plus d’informations sur les modèles de sites et les définitions de site, voir Modèles et définitions de site (https://go.microsoft.com/fwlink/?linkid=184756&clcid=0x40C).

Notes

Le format STP d’un modèle de site personnalisé (fichier .stp) est désapprouvé dans SharePoint Server 2010 et remplacé par des modèles de sites de format WSP. Dans Office SharePoint Server 2007, les utilisateurs peuvent enregistrer un site existant en tant que modèle de site personnalisé. Le modèle de site est stocké dans la base de données en tant que modèle et les utilisateurs peuvent sélectionner le modèle de site comme base définissant l’instanciation du site. Dans SharePoint Server 2010, les utilisateurs peuvent enregistrer un site existant en tant que modèle. Le modèle est enregistré sous la forme d’un fichier .wsp dans la galerie de solutions du site de niveau supérieur d’une collection de sites, où il devient disponible pour la création de sous-sites sur tous sites Web de la collection de sites.

Pour plus d’informations sur les définitions de site, voir Définitions et configurations de site (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x40C).

Définitions et configurations de site

Une définition de site définit un site SharePoint spécifique. Il existe cinq définitions de site installées en mode natif dans SharePoint Server 2010. Une définition de site peut comprendre plusieurs configurations de définition de site. Les sites Web SharePoint sont basés sur des configurations de définition de site spécifiques qui comprennent les éléments suivants :

  • STS comprend les configurations de définition de site pour Site d’équipe, Site vide et Espace de travail de document.

  • MPS comprend les configurations de définition de site pour Espace de travail Réunion - De base, Espace de travail Réunion - Vide, Espace de travail Réunion - Décision, Espace de travail Réunion - Informel et Espace de travail Réunion - Multipage.

  • CENTRALADMIN fournit une configuration de définition de site pour les sites Web Administration centrale.

  • WIKI fournit une configuration de définition de site pour les sites Web qui prennent en charge du contenu de communauté à l’aide de la technologie wiki.

  • BLOG fournit une configuration de définition de site pour les blogs.

Chaque définition de site se compose de fichiers qui sont placés dans les sous-dossiers \\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates des serveurs Web frontaux pendant l’installation de SharePoint Server 2010. Les fichiers de définition de site comprennent les fichiers de page .xml, .aspx, .ascx et .master, en plus des fichiers de modèle de document, tels que les fichiers .dot et .htm, et des fichiers de contenu, tels que les fichiers .gif et .doc.

Pages non personnalisées et personnalisation des pages

Les fichiers de définition de site sont mis en mémoire cache sur le serveur au démarrage du processus de Microsoft Internet Information Services (IIS). Cela permet aux pages non personnalisées d’être réutilisées dans les sites. Les informations contenues dans ces fichiers sont extraites du cache au moment de l’exécution. Les pages et les schémas de liste sont lus à partir des fichiers de définition de site, mais semblent être des fichiers réels au sein d’un site. Les nouvelles pages de composants WebPart sont également considérées comme étant non personnalisées.

Lorsque des pages de site sont personnalisées, à l’exclusion des personnalisations basées sur le navigateur telles que les modifications apportées aux composants WebPart, leur contenu est stocké dans la base de données de contenu et la page de site personnalisée est utilisée à la place de la page d’origine figurant dans la définition de site. Les fichiers .aspx téléchargés sont automatiquement considérés comme étant personnalisés.

Pour plus d’informations sur la désincarnation et sur la personnalisation des pages, voir Définitions et configurations de site (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x40C).

Fichiers de schéma principaux

Le tableau suivant répertorie les fichiers XML principaux pouvant être modifiés pour une définition de site et indique leurs emplacements dans le système de fichiers.

WebTemp.xml

Identifie les définitions de site et fournit des informations sur leurs configurations. Emplacement :

\TEMPLATE\1033\XML

Onet.xml

Définit les zones de navigation, spécifie les définitions de liste disponibles, spécifie les modèles de document et leurs fichiers, définit les types de base pour les listes et définit les configurations et les modules pour les définitions de site. Emplacement :

\TEMPLATE\SiteDefinitions\type_site\XML

Schema.xml

Définit les vues, formulaires, barre d’outils et champs spéciaux dans une définition de liste. Chaque définition possède son propre fichier Schema.xml. Emplacement :

\TEMPLATE\FEATURES\nom_définition_liste

DocIcon.xml

Chaque serveur Web frontal dans un déploiement SharePoint Server contient un fichier DocIcon.xml qui mappe les identificateurs de programmes de fichiers (ProgID) et les extensions de noms de fichiers des types de documents à des icônes spécifiques et à des contrôles pour l’ouverture de chaque type. Les modifications apportées à DocIcon.xml portent sur l’ensemble d’un déploiement SharePoint Server et affectent toutes les définitions de sites sur le serveur Web frontal. Emplacement :

\TEMPLATE\XML

Ces fichiers XML utilisent CAML (Collaborative Application Markup Language) (https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x40C) pour la définition des aspects d’un site. Pour plus d’informations sur les fichiers XML principaux que vous pouvez utiliser pour personnaliser des définitions de site, voir Définitions et configurations de site (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x40C).

Créer une définition et une configuration de site personnalisée

Vous pouvez créer des définitions de site personnalisées en copiant manuellement une définition de site existante ou en important un fichier .wsp dans Visual Studio 2010.

Importer des éléments d’un site SharePoint existant

Cette méthode nécessite l’enregistrement d’un site en tant que modèle à partir de SharePoint Server pour générer un fichier .wsp, puis l’importation du fichier .wsp dans Visual Studio 2010 à l’aide du modèle de projet d’importation de solution. Le modèle de projet Importer un package de solution SharePoint vous permet de réutiliser des éléments tels que des types de contenu, des définitions de listes et des champs de sites SharePoint existants dans une nouvelle solution Visual Studio SharePoint. Pour plus d’informations sur l’importation d’éléments d’un site SharePoint existant vers un projet Visual Studio SharePoint, voir Importation d’éléments d’un site SharePoint existant (https://go.microsoft.com/fwlink/?linkid=187040&clcid=0x40C). Ce chapitre comprend une procédure qui illustre les tâches suivantes :

  1. Personnalisation d’un site SharePoint en ajoutant une colonne de site personnalisée.

  2. Exportation d’un site SharePoint vers un fichier .wsp.

  3. Importation du fichier .wsp dans le projet Visual Studio SharePoint à l’aide du fichier d’importation de projet .wsp.

Copier un site SharePoint existant

Cette méthode implique la copie d’une définition de site existante, la modification de la copie et la modification de deux fichiers de schéma : la copie d’un fichier WebTemp.xml et la copie d’un fichier Onet.xml.

Avertissement

Ne modifiez pas le fichier WebTemp.xml installé initialement.

  1. Effectuez une copie du dossier de définitions de site existant situé dans le répertoire Lecteur_local:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\. Votre copie doit être un dossier homologue du dossier d’origine et vous pouvez lui attribuer un nom dépourvu d’espaces.

    Par exemple, pour créer une définition de site personnalisée qui dérive de la définition de site d’équipe pour Microsoft SharePoint Server, copiez le dossier \sts.

  2. Effectuez une copie du fichier WebTemp.xml. Ce fichier se trouve dans Lecteur_local:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\1033\XML.

    Attribuez au fichier un nom unique en ajoutant une chaîne au nom du fichier d’origine, par exemple, WebTempAction.xml. Au moment de l’exécution, le compilateur fusionne les informations contenues dans ce fichier avec les informations contenues dans le fichier d’origine afin de spécifier les configurations de définition de site disponibles pour la création de sites.

  3. Personnalisez le contenu du nouveau fichier WebTemp.

    Chaque fichier WebTemp.xml contient une collection d’éléments Template et de sous-éléments Configuration, permettant au compilateur d’identifier toutes les configurations de définitions de sites qui peuvent être instanciées. L’élément Configuration définit par exemple un titre, une description, l’URL de l’image affichée dans l’interface utilisateur et une catégorie d’affichage qui spécifie l’onglet sous lequel afficher le modèle dans la section Template Selection de la page Créer une collection de sites.

    Important

    Dans chaque élément Template défini dans le fichier WebTemp, l’attribut Name doit contenir le même nom que celui affecté au nouveau dossier. Pour éviter un conflit avec les ID déjà utilisés dans SharePoint Server 2010, utilisez des valeurs uniques supérieures à 10 000 pour l’attribut ID.

L’exemple suivant utilise deux éléments Configuration dans le fichier WebTemp.xml pour définir différentes configurations de définition de site pour l’instanciation d’un site, l’un pour un site de collaboration de recherche (Research Collaboration), l’autre pour un site d’espace de travail de document de recherche (Research Document Workspace). Cet exemple utilise uniquement deux configurations au sein d’une même définition de site, mais vous pouvez inclure plusieurs définitions de site, comportant chacune plusieurs configurations, dans un même fichier WebTemp.xml. Chaque définition de site référence un dossier de définitions de site différent et son fichier Onet.xml.

<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
  <Template Name="RESEARCH" ID="10001">
    <Configuration ID="0" Title="Research Collaboration site" 
      Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg" 
      Description="This definition creates a site for the Research 
      team to create, organize, and share general information." 
      DisplayCategory="Collaboration">
    </Configuration>
    <Configuration ID="1" Title="Research Workspace" Hidden="FALSE" 
      ImageUrl="_layouts/images/dwsprev.jpg" Description="This 
      definition creates a site for Research team colleagues to 
      work together on specific documents." 
      DisplayCategory="Collaboration">
    </Configuration>
  </Template>
</Templates>

Comme indiqué par la valeur de l’attribut Name dans l’élément Template, cet exemple suppose l’existence d’un répertoire de définitions de site nommé « RESEARCH ». Si un fichier WebTemp*.xml spécifie plusieurs définitions de site, celles-ci sont différenciées par leurs valeurs ID uniques.

En outre, chaque élément Configuration contient un attribut ID. La combinaison de cet ID et de la valeur de l’attribut Name dans l’élément Template fournit une référence au contenu d’un élément Configuration spécifique dans un fichier Onet.xml donné. Dans l’exemple, l’attribut Name contient RESEARCH et les attributs ID contiennent 0 et 1, qui référencent la définition de site RESEARCH et les configurations possédant les ID 0 ou 1 dans Onet.xml.

Vous pouvez être amené à réinitialiser IIS pour que la nouvelle configuration de définition apparaisse comme option dans l’interface utilisateur. Pour ce faire, entrez iisreset depuis une invite de commande.

Pour plus d’informations sur la définition de chaque configuration de définition de site dans Onet.xml, voir Procédure : utiliser des configurations de définition de site (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=183465&clcid=0x40C).

Déployer une définition de site à l’aide d’un package de solution

Pour déployer une définition de site personnalisée à l’aide d’un package de solution, ajoutez un élément SiteDefinitionManifest au fichier manifeste du package de solution. Ajoutez l’élément TemplateFiles pour définir les fichiers de modèle à déployer dans un sous-dossier du dossier \14\Template.

Ajouter un élément SiteDefinitionManifest

L’élément SiteDefinitionManifest possède un attribut Location qui sélectionne tous les fichiers du dossier spécifié et crée le dossier requis dans le dossier \14\Template\SiteTemplates. L’élément enfant WebTempFile déploie le fichier webtemp*.xml afin que le modèle soit connu des Produits SharePoint 2010, comme illustré dans l’exemple suivant :

  <SiteDefinitionManifests>
    <SiteDefinitionManifest Location="LitwareSiteTemplate">
      <WebTempFile Location="1033\xml\webtempLitware.xml" />
    </SiteDefinitionManifest>
  </SiteDefinitionManifests>

Ajouter un élément TemplateFile

L’élément TemplateFile dans un fichier manifeste de solution permet de définir les fichiers de modèle à déployer dans un sous-dossier du dossier \14\Template. Par exemple, vous pouvez déployer ainsi le type de fichier fldtypes*.xml , qui définit les détails d’un type de champ personnalisé. Utilisez l’attribut Location pour spécifier le chemin d’accès relatif du fichier, indiqué par la chaîne « Text » dans l’exemple suivant :

  <TemplateFiles
    <TemplateFile
      Location="Text"/>
      ...
  </TemplateFiles>

Pour plus d’informations sur le déploiement des solutions, voir Déployer des packages de solutions (SharePoint Server 2010).