SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Mettre en place un modèle de site Windows SharePoint Services
Accueil > Articles > Développement
Auteurs 
Nicolas VIEL
LABORATOIRE SUPINFO DES TECHNOLOGIES MICROSOFT
Consulting


 Tous les articles de cet auteur

1,4/5

Mauvais


79286
135/190

1. Création d’un modèle simple

La création d’un modèle de site Sharepoint passe par la modification d’un grand nombre de fichiers CAML. Le CAML (Collaborative Application Markup Language) est un langage basé sur XML et développé par Microsoft pour définir les sites, listes, pages, vues et éléments de liste ainsi que toutes autres composantes des technologies Sharepoint en générale.

Pour plus d’informations sur les éléments CAML des listes et autres fichiers XML de Sharepoint, vous pouvez consulter l’aide en ligne à partir de ce lien.

Les principaux fichiers CAML à modifier sont les fichiers WEBTEMP*.XML, le fichier ONET.XML du modèle de site, et les fichiers SCHEMA.XML de chaque listes.

Le fichier WEBTEMP.XML

Il se trouve dans le dossier C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\60\TEMPLATE\1036\XML

Le fichier WEBTEMP.XML spécifie tous les modèles de site disponible. Une entrée se définit comme suit :

<Template Name="STS" ID="1">
    <Configuration
        ID="0"
        Title="Site d'équipe"

        Hidden="FALSE"
        ImageUrl="/_layouts/images/stsprev.png"
        Description="Ce modèle crée un ... de base.">  
    </Configuration>
    ...
</Template>

Cette entrée définit un ID pour le modèle (ID) ainsi que le nom du dossier contenant le Template (Name). Le modèle se décline en plusieurs configurations, identifiable par un ID. La définition de ces configurations se fait dans les fichiers ONET.XML et sera expliquée par la suite.

D’une manière générale, Windows Sharepoint Services prend en compte tous les fichiers du type WEBTEMP*.XML pour connaître l’ensemble des modèles de site disponibles. Le déploiement et les mises à jour pourraient se révéler difficiles, le cas où les modifications seraient incluses dans les fichiers propres aux Windows Sharepoint Services. Il convient donc de créer un nouveau fichier pour y spécifier les modèles ajoutés. Par exemple
WEBTEMP.SOCIETE.PROJET.XML
WEBTEMP.PROJET.XML
WEBTEMPPROJET.XML

Et son contenu :

<Template Name="FORMATION" ID="10001">
    <Configuration
        ID="0"

        Title="Site de formations internes"
       
Hidden="FALSE"
        ImageUrl="/_layouts/images/projet1/formations.png"
        Description="Ce modèle crée ... .">  
    </Configuration>
    ...
</Template>

L’ID du template doit être supérieur à 10 000 pour ne pas interférer avec les modèles Sharepoint Portal et Sharepoint Services déjà existant.

Bien que déclaré, le modèle n’existe par pour le moment. Il faut donc le définir à partir d’un modèle existant.

Le dossier du modèle de site

Pour créer un modèle, il faut recopier le dossier C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\60\TEMPLATE\1036\STS et le renommer selon le nom spécifié dans le fichier WEBTEMP*.XML le déclarant.

Le fichier ONET.XML (les balises Configuration/Modules)

C’est le fichier de configuration globale pour les templates de site.

Voici sa structure :

<Project>
       <NavBars></NavBars>
       <ListTemplates></ListTemplates>
       <DocumentTemplates></DocumentTemplates>
       <BaseTypes></BaseTypes>
       <Configurations></Configurations>
       <Modules></Modules>

</Project>



Element

Description

NavBars

Définit les liens de la barre de navigation supérieure du site, ainsi que le style des liens de la barre de navigation rapide (barre verticale à gauche sur la page d’accueil).

ListTemplates

Spécifie les types de liste utilisable dans le template.

DocumentsTemplates

Modèle de documents pour les éléments de liste

BaseTypes

Définit les types de base. Généralement, il n’est pas nécessaire de modifier cet élément

Configurations

Définit les différentes configurations possibles pour un template de site (listes par défaut, pages incluses par défaut).

Modules

Une configuration du template possède des modules. Ce sont ces modules qui définissent les pages à ajouter et la configuration de ces dernières.

Le fichier ONET permet notamment :

  • De définir différentes configuration du template. C'est-à-dire de spécifier quelles listes existeront par défaut sur le site (librairie de documents, liens, images, contacts, … ), et quelles pages (default.aspx).
  • D’ajouter ou modifier les webparts de la page par défaut
  • D’ajouter des pages
  • D’ajouter un en-tête au site
  • D’appliquer un thème de couleur aux pages

Configurations du template

Les balises configuration du template déclaré dans le fichier WEBTEMP*.XML doivent correspondre à une balise de configuration du fichier ONET.XML.

<Configuration ID="0" Name="FORMATIONS INTERNES">
    <Lists>
       
     <List Title="Formations"
                   
Url="Formations"
                   
QuickLaunchUrl="Formations/Forms/AllItems.aspx"
                   
Type="101" /> 
             <List Title="Inscription"

                   
Url="Registration"
                   
QuickLaunchUrl=" Registration/Forms/AllItems.aspx"
                   
Type="101" />      
             <List Title="Annonces"

                   
Url="Lists/Announcements"
                   
QuickLaunchUrl="Lists/Announcements/AllItems.aspx"
                   
Type="104" />
    </Lists>
    <Modules>
        <Module Name="Default"/>
       
<Module Name="WebPartPopulation"/>
    </Modules>               

</
Configuration>

La balise configuration contient deux éléments :

  • Liste : spécifie les listes par défaut que contiendra le site une fois créé.
  • Module : spécifie les modules à utiliser. Un module permet d’ajouter des pages (Default est le module ajoutant la page d’accueil) ou des webpart.

Définition d’un module ajoutant des pages :

<Module Name="AvailableCourses" Url="" Path="COURSES">
    <File Url="Copyright.aspx" NavBarHome="False"></File>
    <File Url="AllCourses.aspx" NavBarHome="True">
        <AllUsersWebPart WebPartZoneID="Top" WebPartOrder="1">
            <![CDATA[

            <WebPart
             xmlns=
"http://schemas.microsoft.com/WebPart/v2"
              xmlns:iwp=
"http://schemas.microsoft.com/WebPart/v2/Image">
                <Assembly>
                    CoursesWP,
                    Version=1.0.0.0,
                    Culture=neutral,
                    PublicKeyToken=6ec76bfb7b4ccba6
                </Assembly>
                <TypeName>CoursesWP.AllCoursesViewer</TypeName>
                <FrameType>None</FrameType>
                <Title>Toutes les formations</Title>
            </WebPart>
            ]]>
        </AllUsersWebPart>
    </File>
    <File Url="CourseDetail.aspx" NavBarHome="False">
        <AllUsersWebPart WebPartZoneID="Top" WebPartOrder="1">
            <![CDATA[

            <WebPart
             xmlns=
"http://schemas.microsoft.com/WebPart/v2"
             xmlns:iwp=
"http://schemas.microsoft.com/WebPart/v2/Image">
                <Assembly>
                    CoursesWP,
                    Version=1.0.0.0,
                    Culture=neutral,
                    PublicKeyToken=6ec76bfb7b4ccba6
                </Assembly>
                <TypeName>CoursesDetailWP.AllCoursesViewer</TypeName>
                <FrameType>None</FrameType>
               
<Title>Toutes les formations</Title>
            </WebPart>
            ]]>
        </AllUsersWebPart>
    </File>

</Module>

Le module ci-dessus défini deux pages avec une webpart et une page simple sans webparts

On voit bien ici la mise en place d’un modèle de site avec des listes prédéfinies.

Déploiement de WebPart

Les WebPart utilisées doivent être préalablement déployées sur la machine.

Le déploiement de Web Part sur les sites SharePoint s'effectue à l'aide de l'utilitaire STSADM.EXE, appliqué à un fichier CAB contenant les web part déployées. Les web part sont alors inscrites dans la galerie de serveurs virtuels. Elles peuvent alors être ajoutées au page comme toutes autres web part.

Signer les assembly avec l'utilitaire sn.exe, disponible depuis le Visual Sudio 2003 Command Prompt : sn.exe -k c:\WebPartLib1.snk génère la nouvelle clé. Ajoutez la clé à votre solution et modifiez la propriété AssemblyKeyFile du fichier AssemblyInfo.cs ainsi : [assembly: AssemblyKeyFile(@"../../WebPartLib1.snk")]

Packager ses Web Part dans un CAB. Ajoutez un nouveau projet CAB à votre solution A partir du menu contextuelle, ajoutez lui les sorties "sortie principale" et "contents Files" pour tous vos projets WebPart de votre solution que vous souhaitez déployer.

Pour le déploiement, copier le fichier CAB obtenu sur votre serveur et enregistrez les webparts grâce à l'utilitaire stsadm.exe. L'utilitaire est disponible dans le dossier C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\60\BIN du serveur. Exécutez la commande suivante : stsadm.exe -o addwppack - filename c:\Cab1.cab si le package avait déjà été déployé auparavant, utilisez l'option -force pour le redéployer.



Sommaire

Introduction

1. Création d'un modèle simple
       1.1 Le fichier WEBTEMP.XML
       1.2 Le dossier du modèle de site
       1.3 Le fichier ONET.XML (les balises Configuration/Modules)
       1.4 Configurations du template
       1.5 Déploiement de WebPart

2. En tête de page et Charte graphique
       2.1 Ajouter un en-tête au template de site
       2.2 Ajout
       2.3 Remplacement
       2.4 Appliquer automatiquement une feuille de style

3. Créer et modifier les listes
       3.1 Modifier une liste existante
       3.2 Créer une nouvelle liste

4. Remplacer des contrôles, spécialisation avancée du site
       4.1 Exemple de création d’un fils rouge
       4.2 Créer un contrôle pour l’en-tête des pages
       4.3 Pour finir

Conclusion




En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft