Par Fabrice Romelard, MVP SQL Server, avec l'aimable autorisation du site ASP-PHP
Nous avons vu dans les précédents articles comment installer une plateforme Windows SharePoint Services V3 (WSS) :
Nous avons ensuite abordé la question de la
page maître (master page). Nous pouvons donc maintenant passer au stade supérieur dans la découverte de cette plateforme.Le concept de base de la technologie SharePoint est la création "industrielle" de sites WEB. Pour se faire, le système utilise des modèles qui permettent ensuite de créer des sites d'équipe, des Wiki, des Blogs, ...
Nous verrons donc comment créer un modèle de site et le mettre en place sur notre serveur.
PrésentationAprès avoir personnalisé notre site par la Master Page, nous voulons maintenant utiliser cette master dans un modèle que nous pourrons réutiliser ce modèle dans nos futures créations de site.
Vous pourrez par la suite voir pour ajouter des composants personnalisés que l'on souhaite inclure dès la création de son site. Ainsi, on finit donc par vouloir aller bien plus loin que les possibilités natives du produit. Création de notre site de travailNous devons dans un premier temps prendre le modèle existant du site d'équipe (Team Site). Pour cela, nous devons aller dans un répertoire qui stocke tous les modèles de site natifs du produit WSS V3 :
Nous trouvons donc dans ce répertoire tous les modèles qui sont actuellement disponible dans notre environnement.
Nous allons donc commencer très simplement par faire une copie du répertoire "sts" (qui est le modèle pour les TeamSite) dans un autre répertoire "ASP-PHP-sts".
Nous voyons donc très bien à ce stade que nous avons les deux fichiers ASPX de base des TeamSites, ainsi qu'un sous-répertoire XML contenant un fichier :
Ce fichier est le fichier "différentiel" de définition de tout site SharePoint.
Celui-ci contient aussi le répertoire "XML" avec le fichier "ONET.XML" de base (il fait pour information 218 Ko).
Revenons donc dans notre répertoire de travail "ASP-PHP-sts". Nous pouvons déjà copier à la racine le fichier master "ASP-PHP.master" de notre précédent article : Nous pouvons aussi supprimer le fichier "defaultdws.aspx", qui ne nous servira pas dans cet exemple. Nous avons donc maintenant deux fichiers (default.aspx, ASP-PHP.master) et un répertoire "XML" (contenant le fichier "ONET.XML").
Nous devons maintenant modifier notre fichier ONET.XML pour la gestion de cette nouvelle master page. | Outils
Voici quelques liens utiles si cet article vous a intéressé : |
Nous allons travailler sur ce fichier avec notre meilleur ami :
Une des premières choses à faire est d'ajouter dans la définition de l'entête XML le NameSpace de SharePoint afin de bénéficier du XSD de SharePoint ( wss.xsd). Ce fichier est installé avec WSS V3 et se trouve dans le répertoire :
Ainsi, nous modifierons le noeud de base "Project" comme suit :
<Project Title="ASP-PHP STS" Revision="2" ListDir="$Resources:core,lists_Folder;" xmlns:ows="Microsoft SharePoint" xmlns="http://schemas.microsoft.com/sharepoint/" >
Nous laisserons tous les noeuds suivant jusqu'au noeud "Configurations" :
.gif)
Dans ce noeud, nous voyons plusieurs sous-noeud "Configuration" qui sont différenciés par leur ID. Nous pouvons donc déjà supprimer les noeuds ayant l'ID 1 et 2 puis modifier l'ID du 0 avec une autre valeur (dans notre exemple, nous prendrons "69"), nous laisserons le "-1" :
.gif)
A ce stade, nous devons modifier ce noeud "Configuration" avec les nouveaux paramètres à prendre en compte, notamment la spécification de la master page.
Les sous-noeuds de ce noeud "configuration" définissent les composants à créer ou activer lors de la création d'un site utilisant ce nouveau modèle. On retrouve donc :
Dans notre exemple, nous modifierons la définition de la configuration afin de définir la master page à utiliser :
<Configuration ID="69" Name="Default" MasterUrl="_catalogs/masterpage/ASP-PHP.master">
Puis nous ajouterons un module qui pointera vers le fichier Master :
<Modules> <Module Name="Default" /> <Module Name="ASP-PHP-MasterPage" /> </Modules>
Nous laisserons toutes les listes et features comme elles sont de base.
Nous pouvons passer au dernier noeud "Modules" afin de définir les fichiers qui devront être uploadés dès la création de notre site. Nous pouvons déjà supprimer les modules d'origine :
Nous laissons celui de base "Default" et ajoutons un nouveau "ASP-PHP-MasterPage". <Module Name="ASP-PHP-MasterPage" List="116" Url="_catalogs/masterpage" RootWebOnly="FALSE"> <File Url="ASP-PHP.master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" /> </Module>
A ce stade, notre fichier ONET.XML est correct, et nous pouvons maintenant créer un fichier XML qui référence notre modèle de site :
Voyons comment faire cela.
Lors du chargement de SharePoint, celui-ci parcours un répertoire spécifique (suivant votre Language ID) :
Ce répertoire contient notamment plusieurs fichiers XML ayant le nom commençant par WEBTEMP. Nous allons donc créer le notre :
Nous devons définir d'un nom pour ce modèle et surtout un ID, celui-ci sera le numéro d'identification pour SharePoint de votre modèle, il ne doit donc pas être en conflit avec d'autres déja existant. La règle est donc de prendre une valeur supérieure à 10 000 (afin de ne pas entrer en conflit avec ceux que peuvent distribuer Microsoft).
Nous prendrons donc dans cet exemple "69690" et le nom "ASP-PHP-sts". Nous aurons aussi créé un sous-répertoire "ASP-PHP" dans le répertoire de stockage des images :
Dans ce dossier, nous ajoutons directement une image qui deviendra le logo de notre Modèle de site. Nous devons maintenant compléter notre fichier XML comme suit.
xmlns:ows="Microsoft SharePoint">
Title="ASP-PHP Team Site"
Hidden="FALSE"
ImageUrl="/_layouts/images/ASP-PHP/ASP-PHP-Logo.png"
Description="ASP-PHP Team Site"
DisplayCategory="ASP-PHP" >
Nous retrouvons dans le noeud configuration le Numéro (69) de configuration que nous avons fourni précédemment dans le fichier ONET.XML.
Nous pouvons maintenant lancer la commande "iisreset" afin que SharePoint recharge toute sa configuration.
Nous pouvons désormais utiliser ce modèle pour créer un nouveau site.
A partir de maintenant depuis n'importe quel site de notre serveur SharePoint, nous pouvons créer un site utilisant ce nouveau modèle.
Pour s'en convaincre, nous allons en créer un. Ceci se fait avec le menu de droite "Site Actions" (on doit avoir les droits d'administration pour cela), puis "Create".
.gif)
Dans le menu suivant on sélectionne "Sites and WorkSpaces".
.gif)
On donne alors les différents renseignements dans les champs et on sélectionne le modèle que l'on souhaite dans la catégorie "ASP-PHP".
.gif)
On valide par "Create". On voit alors la création se faire.
.gif)
Et on obtient enfin le nouveau site avec la master page sélectionnée.
.gif)
Nous avons terminé cette création de modèle.
Ce second article permet d'approcher une nouvelle vision du produit SharePoint. Cette présentation est valable aussi bien pour WSS V3 que MOSS 2007. Vous pouvez donc adapter votre plateforme SharePoint à votre besoin.
Vous pouvez aller bien plus loin que simplement définir une master page particulière, choisir des WebParts particulières, définir des listes personnalisées, ajouter des types de contenu spécifiques, ...