SharePoint 2007 : Features et Solutions, les outils de Création et de Déploiement (partie 1)

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

VSeWSS 1.1

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

vsewss_project

vsewss_item

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.

vsewss_wsp_view 

  • Le « SharePoint Solution Générator » qui va générer des définitions de sites et de listes à partir d’instances existantes.

vsewss_solutiongenerator

vsewss_solutiongenerator2

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

STSDEV: Simple Tools for SharePoint 2007 Development

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

stsdev_tool

Il vous suffit de cliquer, pour voir apparaitre cette fenêtre qui vous permettra de générer automatiquement votre type de solution SharePoint.

stsdev_wizard

Vous n’aurez plus qu’à l’ouvrir avec Visual Studio (2005 ou 2008) pour obtenir ce style d’arborescence :

stsdev_arbo

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:

12_hive

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 :

stsdev_config

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.

stsdev_msbuild

Vous pourrez aussi voir le déroulement de ces commandes via la console « OutPut »

stsdev_stsadm

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>

Publié lundi 3 mars 2008 08:30 par phil
Classé sous , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

About phil

Philippe Sentenac est Consultant SharePoint à Wygwam en région Parisienne. Il intervient essentiellement sur des missions liées à SharePoint (2007 et 2010 ) mais aussi autour du Web 2.0. Plus généralement, il s'intéresse à l'ASP.Net (MVC) , à Silverlight, et à tout ce qui est orienté Web en rapport avec les nouvelles technologies, qu'il pratique depuis 2006. Féru de développement, il est passionné par les problématiques de méthodologies et d'industrialisation du développement.

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01