En parcourant les mises à jours des projets Codeplex sur SharePoint, je tombe ce matin sur la mise à jour d'un outil dont j'étais sur de vous avoir déjà parlé : SharePoint Solution Installer. Mais en fait, j'avais oublié de finir cette suite de post sur les outils de création et de déploiement (ici et là). Désolé.
Comme vous le savez sans doute (mais on ne le répète jamais assez), tout développement dans SharePoint se fait via Feature. Et tout déploiement dans SharePoint se fait via Solutions.
Une solution n'est rien d'autre qu'un fichier CAB renommé en .WSP. Ce fichier comprend tout les fichiers (dll, aspx, etc...) nécessaire au bon fonctionnement de vos nouvelles fonctionnalités ainsi qu'un fichier manifest.xml et ddf qui permettra à SharePoint de savoir quoi en faire.
Voici quelques liens provenant de mon del.icio.us concernant la génération de solution :
Autant, nous avons déjà vu ensemble comment un développeur peut générer un fichier .WSP (cf. liens ci-dessus) autant parfois le déploiement n'est pas forcément des plus aisé (via stsadm par exemple), ou bien c'est pas forcement évident d'expliquer à un administrateur n'ayant jamais utilisé SharePoint comment déployer une solution sur son environnement...
Et bien cette période est révolue avec l'utilisation de SSI (SharePoint Solution Installer).
Voilà le genre de choses que vous allez dorénavant pouvoir faire :

Les fonctionnalités en pratique : Ajout, Déploiement, Mise à jour, Retirer , Supprimer une Solution, Activation de Feature (Scope : Farm, SiteCollection)
Ainsi qu'un ensemble de vérifications comme :
- WSS installé
- MOSS installé
- Utilisateur a les permissions requises
- Base de donnée SharePoint en ligne
- Service WSS Administration démarré
- Service WSS Timer démarré
Il est possible d'afficher une EULA et de configurer la bannière de l'application ainsi que le titre, le logo et la documentation.
Vous pouvez aussi (une fois l'installation terminée, afficher un lien vers la configuration de vos développements.
Au final, ce que j'aime bien c'est qu'en modifiant le logo, le nom de la solution et tout le reste, on obtient une "sorte" de packaging très pro et très intuitif. Le tout via l'utilisation d'un fichier de config:
<configuration>
<appSettings>
<add key="BannerImage" value="Default"/>
<add key="LogoImage" value="Default"/>
<add key="EULA" value="EULA.rtf"/>
<add key="SolutionId" value="44906C46-D7C1-4a14-A7D2-87394D9FC7E3"/>
<add key="SolutionFile" value="yoursolution.wsp"/>
<add key="SolutionTitle" value="Enter Product Title Here"/>
<add key="SolutionVersion" value="1.0.0.0"/>
<add key="FeatureScope" value="Farm"/>
<add key="FeatureId" value="A69D3FDA-142A-4d2c-BA6D-446CE01FF1C2"/>
<add key="UpgradeDescription" value="Upgrades {SolutionTitle} on all frontend web servers in the SharePoint farm. "/>
<add key="RequireDeploymentToCentralAdminWebApplication" value="true"/>
<add key="RequireDeploymentToAllContentWebApplications" value="false"/>
<add key="DefaultDeployToSRP" value="false"/>
<add key="RequireMOSS"value="true"/>
<add key="SSPRelativeConfigLink" value="/_layouts/MyFeature/Config.aspx"/>
<add key="DocumentationUrl" value="http://www.mycompany.com/MyFeatureDoc.aspx"/>
</appSettings>
</configuration>

Et bien sur, comme c'est un projet Codeplex, les sources sont disponibles :)
PS : plus d'infos sur Touareg : http://www.touareg-project.com/Default.aspx
<Philippe/>