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

 

S’applique à : SharePoint Foundation 2010

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

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

Dans cet article :

  • Que sont les définitions de site ?

  • Configurations et définitions de site

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

  • Déployer une définition de site en utilisant un package de solution

Que sont les définitions de site ?

Dans Microsoft SharePoint Foundation 2010, un utilisateur crée un site via l'interface utilisateur (IU) en sélectionnant une configuration de définition de site ou un modèle de site personnalisé qui définit comment instancier le site. Une définition de site est un modèle qui détermine par exemple les listes, les fichiers, les composants WebPart, les fonctionnalités ou les paramètres permettant de mettre en service un nouveau site SharePoint.

Une définition de site est une famille de configurations de définitions de site. Chaque définition de site spécifie un nom et contient une liste des configurations de définitions de site. Dans SharePoint Foundation 2010, une définition de site se compose d'un ensemble de fichiers XML qui peut être appliqué pour mettre en service de nouveaux sites. Les fichiers sont situés sur des serveurs Web.

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

Un site créé à partir d'une définition de site enrichit les informations structurelles et de contenu, sans les répéter, à partir de la définition du site d'origine. Tout au long de leur cycle de vie, les sites continuent à dépendre de la définition de site qui est leur fondement ultime. Pour cette raison, Microsoft ne prend pas en charge la modification ou la suppression d'une définition de site une fois que des sites ont été créés à partir de celle-ci. Ces modifications peuvent faire en sorte que des sites créés à partir de la définition cessent de fonctionner correctement ou peuvent empêcher la création de nouveaux sites basés directement, ou indirectement, sur la définition du site. Pour personnaliser une définition de site, les développeurs peuvent ajouter une fonction qui inclut les modifications apportées à la définition du site. La définition du site elle-même n'est pas modifiée.

Pour plus d'informations sur les types de personnalisations de définitions de site qui sont pris en charge par Microsoft, consultez 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 Windows SharePoint Services, dans SharePoint Portal Server 2003 et Office SharePoint Server 2007 (https://go.microsoft.com/fwlink/?linkid=187678&clcid=0x40C).

Dans le modèle d'objet, un SPWebTemplate représente une définition de site (et la configuration).Pour plus d'informations sur les modèles de site et les définitions de site, voir Définitions et modèles 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 abandonné dans SharePoint Foundation 2010 et remplacé par des modèles de site au format WSP. Dans Windows SharePoint Services 3.0, les utilisateurs peuvent enregistrer un site existant comme modèle. 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 comment instancier le site. Dans SharePoint Foundation 2010, les utilisateurs peuvent enregistrer un site existant comme modèle. Le modèle est enregistré sous un format de fichier .wsp dans la galerie de solutions du site de haut niveau dans une collection de sites, où il devient disponible pour la création de sous-sites sur tous les sites Web dans la collection de sites.

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

Configurations et définitions 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 Foundation 2010. Une définition de site peut inclure plusieurs configurations de définition de site. Les sites Web SharePoint sont basées sur des configurations de définitions de site spécifiques, qui sont les suivantes :

  • SharePoint Team Services inclut les configurations de définitions de site pour les sites d'équipe, les sites vides et les espace de travail de document.

  • MPS inclut les configurations de définitions de site pour l'espace de travail de réunion de base, l'espace de travail de réunion vide, l'espace de travail de réunion pour la prise de décision, l'espace de travail de réunion informelle et l'espace de travail de réunion multipage.

  • CENTRALADMIN fournit la configuration de définition de site pour les sites Web d'administration centrale.

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

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

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

Pages non personnalisées et personnalisation de pages

Les fichiers de définitions de site sont mis en cache dans la mémoire sur le serveur au démarrage du processus Microsoft Internet Information Services (IIS). Ainsi, les pages non personnalisées peuvent être réutilisées sur 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 du site mais semblent être des fichiers réels au sein d'un site. Les nouvelles pages 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 la 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 de la définition du site. Les fichiers .aspx téléchargés sont automatiquement considérés comme étant personnalisés.

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

Fichiers de schéma de base

Le tableau suivant répertorie les fichiers XML principaux qui peuvent être modifiés pour une définition de site et affiche leur emplacement dans le système de fichiers.

WebTemp.xml

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

\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. Se trouve dans :

\TEMPLATE\SiteDefinitions\type_site\XML

Schema.xml

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

\TEMPLATE\FEATURES\List_Definition_Name

DocIcon.xml

Chaque serveur Web frontal dans un déploiement SharePoint Foundation contient un fichier DocIcon.xml qui mappe le fichier des identifiants programmatiques (ProgID) et les extensions de nom de fichier des types de documents à des icônes spécifiques et aux contrôles pour l'ouverture de chaque type. Les modifications apportées à DocIcon.xml sont globales pour un déploiement SharePoint Foundation et affectent toutes les définitions de site sur le serveur Web frontal. Se trouve dans :

\TEMPLATE\XML

Ces fichiers XML utilisent Collaborative Application Markup Language (CAML) (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x40C) pour définir les aspects d'un site. Pour plus d'informations sur ces fichiers XML de base que vous pouvez utiliser pour personnaliser des définitions de site, voir Configurations et définitions de site (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x40C).

Créer une configuration et une définition 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 à partir d'un de site SharePoint existant

Cette méthode nécessite d'enregistrer un site sous la forme d'un modèle à partir de SharePoint Foundation pour générer un fichier .wsp et puis à importer le fichier .wsp dans Visual Studio 2010 à l'aide du modèle de projet d'importation de solution. Le modèle de projet d'importation du package de solution SharePoint permet de réutiliser des éléments comme les types de contenu, les définitions de liste et les champs à partir de sites SharePoint existants dans une nouvelle solution Visual Studio SharePoint. Pour plus d'informations sur l'importation des éléments d'un site SharePoint existant dans 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 contient une procédure pas à pas qui illustre les tâches suivantes :

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

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

  3. Important du fichier .wsp dans un projet Visual Studio SharePoint en utilisant le projet d'importation .wsp.

Copier un site SharePoint existant

Cette méthode implique de copier une définition de site existante, de modifier cette copie et de changer 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 initialement installé.

  1. Copiez un dossier de définition de site existant situé dans le répertoire Local_Drive:\Program Files\Common Files\Microsoft Shared\web serveur extensions\14\TEMPLATE\SiteTemplates\. Votre copie doit être l'homologue de l'original et vous pouvez lui attribuer n'importe quel 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 Foundation, copiez le dossier \sts.

  2. Faites une copie du fichier WebTemp.xml. Ce fichier se trouve dans Local_Drive:\Program Files\Common Files\Microsoft Shared\web serveur 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 pour spécifier les configurations de définitions de site qui sont sont disponibles pour la création de nouveaux sites.

  3. Personnaliser 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éfinition de site qui peuvent être instanciées. L'élément de Configuration définit par exemple, un titre, une description, l'URL de l'image affichée dans l'interface utilisateur (UI) 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 de Template défini dans le fichier WebTemp, l'attribut Name doit contenir le même nom qui est affecté au nouveau dossier. Pour éviter tout conflit avec les ID déjà utilisés dans SharePoint Foundation 2010, utilisez uniquement des valeurs supérieures à 10 000 pour l'attribut ID .

L'exemple suivant utilise deux éléments de Configuration dans le fichier WebTemp.xml pour définir différentes configurations de définition de site pour l'instanciation d'un site, un pour le site de collaboration de recherche et l'autre pour un site d'espace de travail de document de recherche. Cet exemple utilise seulement deux configurations au sein d'une définition de site unique, mais vous pouvez inclure plusieurs définitions de site, chacune avec plusieurs configurations, dans un seul fichier WebTemp.xml. Chaque définition de site fait référence à un dossier de définition 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 de Name dans l'élément Template, cet exemple suppose qu'un répertoire de définitions de site nommé « RESEARCH » existe. Si un fichier WebTemp*.xml spécifie plusieurs définitions de site, les définitions se distinguent par leurs valeurs ID uniques.

Chaque élément Configuration contient également 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 spécifique. 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 avec leurs ID 0 ou 1 dans Onet.xml.

Il se peut que vous deviez réinitialiser IIS pour que la nouvelle configuration de définition apparaisse sous la forme d'une option dans l'interface utilisateur. Pour ce faire, entrez iisreset à l'invite de commandes.

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

Déployer une définition de site en utilisant 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 dans le fichier de manifeste du package de solution. Ajoutez l'élément TemplateFiles pour définir les fichiers de modèle qui doivent être déployés dans un sous-dossier du dossier \14\Template

Ajouter un élément SiteDefinitionManifest

L'élément dSiteDefinitionManifest possède un attribut Location qui récupère tous les fichiers dans le 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 pour faire connaître le modèle à Produits SharePoint 2010, comme le montre 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 la solution est utilisé pour définir les fichiers modèles qui doivent être déployés dans un sous-dossier du dossier \14\Template. Le fichier fldtypes*.xml, qui définit les détails d'un type de champ personnalisé est un exemple du type de fichier que vous pouvez déployer de cette manière. Utilisez l'attribut Location pour spécifier le chemin d'accès relatif du fichier, qui est indiqué par la chaîne « Text » dans l'exemple suivant :

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

Pour plus d'informations sur la façon de déployer des solutions, voir Déployer des packages de solution (SharePoint Foundation 2010).