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.
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|