vendredi 25 septembre 2009

Premiers pas en Sharepoint (étape 1)

Ce post va vous permettre de comprendre l'architecture de Sharepoint.

Ce tutoriel, utilisera ces outils:
La première chose à comprendre c'est vraiment la plus importante, c'est l'organisation du dossier Sharepoint. Il se trouve à l'emplacement : "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12", c'est ce qu'on appelle le 12 hive. Dans ce dossier se trouve tous les dossiers qui seront accessible sur votre site, le dossier principal est le dossier TEMPLATE il renferme l'architecture de votre site, et dans ce dossier vous trouverez les dossiers FEATURES et LAYOUTS, FEATURES contint toutes les features de vos sites et LAYOUTS contient toutes les pages auxquelles vous voulez accéder.

Création du projet template pour la création d'une feature

Avant de commencer à faire quoi que ce soit je vous conseil cette étape, elle vous permettra de gagner un temps précieux lors de la création de feature.

1) ouvrez Visual Studio et créer un nouveau projet Class Library appelez le FeatureTemplate.
2)Fermez votre projet... Je sais ca parait stupide, vu qu'on vient à peine de le créer, mais vous allez comprendre pourquoi.
3)Allez dans le dossier de votre projet par défaut "Mes Documents\Visual Studio 2008\Projects\FeatureTemplate\FeatureTemplate"
, ouvrez le fichier FeatureTemplate.csproj avec notepad. Remplacez


<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>

par


<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectTypeGuids>{349c5851-65df-
11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>


Fermez ce fichier et enregistrez le bien sur, ce qui aura pour effet de pouvoir accéder à tous les types de documents possibles, notament les aspx et autres composants web.

4) Rouvrez votre solution.
5)Pour pouvoir utiliser les composants Sharepoint comme il se doit vous devez ajouter 2 références, la première est "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI\Microsoft.SharePoint.dll", la deuxième se trouve dans le premier onglet (.NET) c'est System.Web. Ces 2 références sont les principales, celles que vous allez obligatoirement utiliser.
6)Maintenant, il faut créer l'architecture du 12 hive ce qui permettra a WSPBuilder de mettre les bons fichier à l'endroit que vous voulez dans l'architecture Sharepoint. Pour ca, créez un dossier "12" à la racine de votre projet, ajouter le dossier "TEMPLATE", puis ajouter les dossier "FEATURES" et "LAYOUTS" sous "TEMPLATE", ensuite en dessous de ces derniers créez un dossier qui s'appelle "FeatureTemplate". Vous devriez obtenir ceci :


















7)Vous pouvez déjà ajouter les fichier feature.xml et elements.xml au dossier "12\TEMPLATE\FEATURES\FeatureTemplate"

8)Comme je le dit dans ma prése
ntation, un autre point important de sharepoint c'est le déploiement, c'est pour cette raison qu'il est nécessaire d'utiliser un fichier d'installation, sinon vous aurez a faire toutes les manipulations a chaque fois que vous compilerez votre projet. Créez un nouveaux fichier texte à la racine du projet, appelez le install.bat.
pour ma part je n'ai telecharger que l'executable de WSPBuilder, que j'ai mis dans le dossier du projet template avec CabLib.dll et WSPBuilder.exe.config.

Ajoutez ces fichier à votre projet.



Ce fichier va :

  1. enregistrer dans le GAC le fichier dll compilé
  2. créer le WSP qui contient toutes l'arborescence
  3. supprimer la solution si elle existe
  4. ajouter et enregistrer la nouvelle solution générer
  5. redémarrer IIS, pour que le serveur prenne en compte les dernières modifications



@SET TEMPLATEDIR="c:\program files\common files\microsoft shared\web server extensions\12"
@SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm"
@SET WSPBUILDER="WSPBuilder"
@SET WSP=%1

echo Install in GAC

"%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -if bin\Debug\%1.dll

echo call WSPBuilder

%WSPBUILDER%

echo retract the solution
stsadm -o retractsolution -local -name %WSP%.wsp

echo delete the solution
stsadm -o deletesolution -name %WSP%.wsp

echo add the solution
stsadm -o addsolution -filename %WSP%.wsp

echo deploy the solution
stsadm -o deploysolution -name %WSP%.wsp -local -force -allowGacDeployment

echo Restart IIS Worker Process
IISRESET


Vous devriez avoir une hiérarchie qui ressemble à ça.






















9)Maintenant il ne faut plus que de dire à Visual Studio qu'après la compilation il doit éxécuter le fichier install.bat.
Faites un click droit sur le projet, puis propriétés, build events. Dans le post-build event :


cd $(ProjectDir)
install.bat $(ProjectName)





10)Votre projet Template est prêt, pour le mettre en tant que Template, File->Export Template->Next->Finish.

Félicitation vous avez un Template qui va vous servir beaucoup vous verrez.

Suite de ce tutoriel.

Présentation

Pour commencer, bonjour à tous ceux qui liront ce blog.

Je m'appelle Aurélien GIRARD, j'ai 23 ans et je m'intéresse depuis tout petit à l'informatique et à tout ce qui s'y rapporte.

Je suis diplômé d'une licence en Automatisme et Informatique Industriel.

Au niveau professionnel, j'ai participé au développement d'un logiciel de pilotage de carte d'axe écrit en C# et utilisant des ActiveX et des Dll C++.NET. J'ai également participé à l'élaboration d'un client Live Mesh implanté sur clé USB cryptée.

Ce blog va principalement parler des technologies Microsoft, je m'intéresse depuis peu à Sharepoint, c'est vraiment une technologie à part, mélangeant l'ASP.NET à une bonne partie en Code behind, et ajoute une complexité supplémentaire : le déploiement.

J'espère que vous apprécierez ce blog, n'hésitez pas à me contacter si vous avez des problèmes en .NET, je me ferai une joie de pouvoir vous aider.