Quand on surveille un peu les forums MSDN France sur SharePoint, on se rend compte qu’il y a de moins en moins de questions sur la création de composants purs « SharePoint » et de plus en plus de questions sur la création des fichiers « artefacts » (feature.xml, element.xml, etc.) et des solutions (fichiers .wsp) pour déployer tout ces composants.
Hors si on regarde actuellement ce que Microsoft et la communauté nous propose, nous avons l’embarras du choix en terme d’outils :
La question est maintenant de savoir quels sont les avantages et inconvénients de chacun de ces outils et lequel conviendra le mieux à votre technique de développement.
Autant commencer par la « référence » en la matière : VSeWSS 1.1 développé par Microsoft
La version officielle des VseWSS 1.1 a vu le jour début février 2008 (Alex en avait parlé) avec des améliorations majeures par rapport à la version 1.0 et 1.1 CTP. Cette version est vraiment une petite révolution pour ceux qui ne sont pas familier avec le développement SharePoint.
Pour faire court, on peut dire que les VseWss ont été développé dans le but de faire que le développement simplifié façon ASP.Net fonctionne. C'est-à-dire : je développe, je tape F5, tout se déploie automatiquement et je regarde mon code en temps réel.
Les VseWSS sont composées de deux éléments :
- L’add-in Visual studio qui va ajouter tout les modèles de projets et d’éléments
On notera aussi l’existance d’une vue "WSP" qui permet de manipuler l’agencement de la solution (fichier .WSP) qui sera générée automatiquement par Visual Studio.
- Le « SharePoint Solution Générator » qui va générer des définitions de sites et de listes à partir d’instances existantes.
Au niveau des prés requis, c’est toujours la même chose :
- Windows SharePoint Services 3.0
- Visual Studio 2005 uniquement
Bonne nouvelle en perspective, la prochaine version (1.2, annoncée en Juin 2008) supportera Visual Studio 2008 !
En résumé, ces extensions vous permettront de bien commencer le développement sous SharePoint. Evidemment, il manque quelques petites options comme ajouter simplement un « feature event receiver » à une feature existante mais l’équipe de développement reconnait elle-même qu’il y a encore quelques petits détails à perfectionner.
L’énorme avantage de ces extensions est de vous générer les fichiers artefacts (fichier xml, webpart, etc.), de générer la solution et aussi de déployer vos solutions automatiquement ... Et le tout en un clic !
Continuons maintenant avec un petit nouveau : STSDEV: Simple Tools for SharePoint 2007 Development développé par Ted Pattison
C’est un simple exécutable qui va se charger de créer automatiquement vos projets Visual Studio pour SharePoint. Attention, à l’heure actuelle (Mars 2008), c’est plus un Proof of Concept qu’autre chose. A noter que ce POC est sortie, il y a a peine un mois (Alex en a parlé dernièrement).
Le premier avatange est de pouvoir l’intégrer simplement dans la barre d’outils de Visual Studio
Il vous suffit de cliquer, pour voir apparaitre cette fenêtre qui vous permettra de générer automatiquement votre type de solution SharePoint.
Vous n’aurez plus qu’à l’ouvrir avec Visual Studio (2005 ou 2008) pour obtenir ce style d’arborescence :
Vous le voyez, on retrouve ici nos fichiers DDF et Manifest.xml (nécessaires à la génération de la solution SharePoint) et toute une arborescence qui mimique le repertoire « 12 » de SharePoint:
L’idée est simple : Vous allez utiliser cette « image » du répertoire 12 dans votre Visual Studio pour générer votre solution SharePoint automatiquement.
Dans l’exemple que j'ai pris, on retrouve les fichiers nécessaires pour le développement et le déploiement d’une webpart :
- HelloWorld.webpart qui sera uploadé dans la galerie de webpart
- Webparts.xml qui s’occupera d’uploadera le fichier .webpart
- Feature.xml qui représentera la fonctionnalité associée à cette webpart et qui référencera Webparts.xml
- HelloWorld.cs qui représente le code de la webpart
- Etc …
Une fois votre développement terminé, vous n’avez plus qu’à compiler. Plusieurs configurations s’offrent à vous :
Vous pourrez grâce à ce menu, décidez de générer, supprimer, déployer, installer, upgrader la solution que vous venez de créer.
Lors de la compilation de votre projet, Visual Studio fera appel à STSDEV qui utilisera les commandes de déploiement de l’outil d’administration SharePoint : STSADM.
Toute l’intelligence de ce projet vient de l’utilisation du fichier : Microsoft.SharePoint.targets. C’est ce fichier MSBuild qui fait le lien entre STSDEV et Visual Studio.
Vous pourrez aussi voir le déroulement de ces commandes via la console « OutPut »
Au final, cet outil STSDEV est un « Proof of Concept » réussi qui vous montre qui vous permettra de simplifier certaines tâches du déploiement SharePoint.
L’avantage est qu’il est complètement personnalisable, et que votre projet SharePoint peut être chargé sans aucun pré requis d’installation (pour le déploiement, il vous faudra toujours avoir un SharePoint d’installer par contre). De plus, les modèle de projets sélectionnées vous entraîne à respecter les best practices en terme de déploiement.
Par contre, la manipulation de solution complexe risque d’être un peu ardue vu le stade où en est l’outil.
Pour plus d’informations, je vous conseille vivement de voir les trois vidéos sur le site http://www.codeplex.com/stsdev dédié à ce projet.
Le moins que l’on puisse dire, c’est que ce projet donne des idées et de très bonnes pistes à suivre pour créer ou peaufiner vos propre modèles de projet SharePoint.
La prochaine fois, je vous parlerais du reste des outils de développement que j'ai pu utilisés :
</Philippe>