WebParts Version 1.0 Z
2 WebPart 06/05/09 Sommaire 1 Introduction... 3 2 Le développement d une WebPart... 4 2.1 Les outils de développement... 4 2.2 WebPart Page... 4 2.3 Création d une WebPart... 4 3 Le Déploiement d une WebPart... 8 3.1 Déploiement Automatique... 8 3.2 Déploiement Manuel... 8 3.2.1 Etapes dans Visual Studio 2008... 8 3.2.2 Le Web.config... 10 3.2.3 Déploiement dans la galerie de WebParts... 10 4 Les modèles de WebParts... 11 4.1 SmartPart... 11 4.2 Connexion entre WebParts... 11 4.3 Silverlight... 11 4.4 AJAX... 11 5 Conclusion... 12
3 WebPart 06/05/09 1 Introduction Grâce à l intégration du.net Framework 3.5 au sein des technologies et services SharePoint, on a la possibilité de créer et personnaliser des WebParts. Dans ce chapitre, nous aborderons donc le développement et la publication de WebPart. Un WebPart est un espace interactif définit dans une page Web, c est un contrôle Web. Ce dernier exécute du code (C# et/ou.net), et peut donc être personnalisé depuis Visual Studio en y ajoutant des propriétés, ou en créant des points de connexion entre WebParts. Le WebPart peut être considéré comme Plug-and-Play car tous les utilisateurs sont capables d ajouter des WebParts, de modifier leur apparence et leur comportement directement depuis un menu interactif, des propriétés sont également accessible depuis l interface du site.
4 WebPart 06/05/09 2 Le développement d une WebPart 2.1 Les outils de développement Pour pouvoir développer une WebPart pour SharePoint, nous avons besoin évidemment de Visual Studio 2008 avec l extension VSeWSS ( Visual Studio extension Windows SharePoint Services ) disponible à l endroit suivant : VSeWSS 1.2. Grâce à cette extension vous pourrez avoir accès à des fonctionnalité supplémentaires pour développer pour SharePoint. 2.2 WebPart Page Une page de WebPart est compris dans le modèle de mise en page ( Page layout ) vue précédemment. Nous avons au niveau de l administration SharePoint des modèles de mise en page pour nos WebParts. Pour accéder à ces modèles, il faut se rendre sur lien New WebPart Page qui se trouve dans l onglet Create de Site Actions 2.3 Création d une WebPart Nous allons voir dans cette partie comment créer une WebPart de A à Z à l aide de VSeWSS. Il faut savoir que le développement d une WebPart se fait de la même manière que ce soit sous WSS ou MOSS. Tout d abord, nous allons créer un nouveau projet de type SharePoint, avec le modèle WebPart :
5 WebPart 06/05/09 Nous allons maintenant voir de quoi est composé notre nouveau projet : WebPart1.cs : ce fichier contient notre code behind ( C# ) namespace VotreWebPart { [Guid("ed2c1234-a559-4f15-8d5a-5151fd211401")] public class WebPart1 : System.Web.UI.WebControls.WebParts.WebPart { [WebBrowsable (true), WebDisplayName ("Mon titre"), WebDescription ("Ma description"),personalizable(personalizationscope.shared)] public string MonTitre { get; set; } public WebPart1() { } protected override void CreateChildControls() { base.createchildcontrols(); Label lb = new Label(); lb.text = SPContext.Current.Web.Title + "<br/>"; this.controls.add(lb); } } } Label label = new Label(); label.text = MonTitre; this.controls.add(label); Cette WebPart aura pour but d afficher dans son cadre le titre de notre SharePoint, on pourra également le modifier à partir de cette WebPart. On va faire un composant qui nous donne le titre de notre site, on va montrer comment s accroché au contexte SharePoint, et ainsi proposé une petite propriété perso pour ajouter un texte. Pour s accrocher au contexte SharePoint nous avons un objet spécial nommé SPContext. Ensuite on se charge de l ajouter à nos contrôles. Pour l instant on a juste un label qui va nous afficher notre titre. Ensuite on va ajouter des propriété personnalisées que l on retrouvera dans l edition de notre webpart à partir de notre SharePoint ( ToolPanel ). Dans le cas ci-dessus nous y avons ajouté les propriétés : WebBrosable, WebDisplayName, WebDescription, Personalizable. Leur appellation en
6 WebPart 06/05/09 dit long sur leurs fonctions. Les propriétés peuvent également être de type "Boolean" et "enum" (liste statique). Elles afficheront respectivement une checkbox ou une combobox dans le toolpanel. WebPart1.xml : il contient les informations sur la feature ( XML ) <?xml version="1.0" encoding="utf-8"?> <Elements Id="ed2c1234-a559-4f15-8d5a-5151fd211401" xmlns="http://schemas.microsoft.com/sharepoint/" > <Module Name="WebParts" List="113" Url="_catalogs/wp"> <File Path="WebPart1.webpart" Url="WebPart1.webpart" Type="GhostableInLibrary" /> </Module> </Elements> WebPart1.Webpart : Permet de gérer les informations de notre WebPart ( XML ) Elle définit son titre, sa description et le groupe auquel elle appartiendra (après son activation). <?xml version="1.0" encoding="utf-8"?> <webparts> <webpart xmlns="http://schemas.microsoft.com/webpart/v3"> <metadata> <type name="ed2c1234-a559-4f15-8d5a-5151fd211401" /> </metadata> <data> <properties> <property name="title" type="string">webpart1 Web Part</property> <property name="description" type="string">webpart1 Description</property> </properties>a </data> </webpart> </webparts> Une fois l édition de vos différents fichiers, nous devons effectuer la configuration de notre nouvelle WebPart. Pour cela faites un Clic-droit sur le nom de votre projet et sélectionnez propriétés. Une fois la fenêtre propriété ouverte, placez-vous sur l onglet Debug. Dans le champ Démarrer l explorateur avec cette URL, placez l adresse de votre collection de site ou de votre SharePoint si vous voulez qu elle soit disponible pour votre SharePoint.
7 WebPart 06/05/09
8 WebPart 06/05/09 3 Le Déploiement d une WebPart 3.1 Déploiement Automatique Cette partie concerne le déploiement à l aide de WSPbuilder ou du déploiement simple sous visual studio 2008, il suffit simplement de faire un clic droit sur build, ensuite sur deploy et apres il faut vous rendre dans votre SharePoint central administration. Une fois le déploiement terminé, nous devons activer notre WebPart depuis l administration centrale avant qu il ne puisse être utilisé. Pour cela, on se rend sur la page Fonctionnalités de la collections de site (accessible depuis les Paramètres du site), on vérifie que le WebPart a bien été reconnu en tant que fonctionnalité, et on l active. Une fois activé, le WebPart est visible depuis la fenêtre d ajout de composants WebPart, il peut donc être sélectionné depuis la page d ajout de composant WebPart, puis inséré dans la page désirée. 3.2 Déploiement Manuel 3.2.1 Etapes dans Visual Studio 2008 Nous allons voir en détail comment déployer notre WebPart Manuellement. Voici les étapes à respecter pour l accomplissement de votre dernière étape : Sigature de l assembly : Nous allons donc signer notre assembly, rendez-vous dans propriété et placez-vous sur l onglet Signing. Ensuite choisisé dans la listbox New et remplissé le champ Key file name. Vous pouvez Protéger votre fichier par un mot de passe, mais ceci n est pas obligatoire.
9 WebPart 06/05/09 Déploiement de l'assembly dans la GAC : Maintenant nous allons créer notre fichier bat. Il faut que vous ajoutiez un nouvel item texte que l on renommera install.bat. Une fois celui-ci créé copié ce code à l intérieur de votre nouveau fichier : Votre fichier bat : echo Adding assemblies to the GAC... "%programfiles%\microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -uf SharePointDev "%programfiles%\microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -if bin\debug\sharepointdev.dll iisreset
10 WebPart 06/05/09 Dorénavant vous pouvez automatisé cette tâche, c est à dire votre fichier sera lancé a chaque compilation de votre application. Rendez-vous une fois de plus dans propriété et ajouté les lignes dans le cadre correspondant : 3.2.2 Le Web.config Comme vous avez pu le voir au fil de l apprentissage du développement SharePoint, que le fichier web.config est très important vu que c est par lui que passe la majorité des réglages. Nous allons voir ici comment autorisé l ajout de notre webpart au sein de notre SharePoint. Vous avez le choix de déployer votre webpart uniquement pour votre collection de site ou pour votre SharePoint central. Le Web.config est un fichier qui contient toutes les données de configuration d une application. Il se situe à la racine de l application SharePoint. S il y a plusieurs applications sur votre Il se situe dans l arborescence suivante : C:\inetpub\wwroot\Virtual directories. Il faut autoriser l accès de cette WebPart dans les pages. Pour cela, dans le Web.config, on localise la section «SafeControls» et on ajoute la ligne ci-dessous qui spécifie que notre WebPart est considéré comme un contrôle autorisé. <SafeControl Assembly="SharePointDev, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f77ee2dd0091abba" Namespace="VotreWebPart" TypeName="*" Safe="True" /> 3.2.3 Déploiement dans la galerie de WebParts Si vous avez respectez toutes les étapes précédente vous devriez être dans la capacité d ajouter votre webpart a votre gallérie de webpart présente sous SharePoint. La gallérie de WebParts se trouve dans Site Action > Site Settings > Galleries > Web Parts. Une fois ici, vous pourrez cliquer sur new et ajouter votre nouvelle WebPart.
11 WebPart 06/05/09 4 Les modèles de WebParts 4.1 SmartPart SmartPart est une fonctionnalité gratuite de SharePoint 2007 qui permet d intégrer des contrôles.net 2.0 personnalisés dans une WebPart. Cette fonctionnalité SharePoint nous permet un gain de temps au développement de nos webpart. 4.2 Connexion entre WebParts Un des aspects qui fait la puissance des webparts est la capacité qu'ils ont à s'inter-connecter afin d'échanger des données. Ceci permet à un webpart de type consommateur d'obtenir une donnée d'un fournisseur. Il existe nombreux tutoriaux avancé présent sur les sites important concernant le développement SharePoint. Toute une série d'interfaces nous permettent de connecter des webparts entre-eux, en voici une liste non exhaustive ainsi que leur description : IWebPartField : Permet d'échanger la valeur d'un champ entre deux webparts IWebPartRow : S'utilise pour échanger une ligne de donnée (DataRow) d'un webpart vers un autre IWebPartTable : S'utilise pour échanger une table de données (DataTable) d'un webpart vers un a IWebParameters : Permet de spécifier les paramètres que l'on souhaite échanger 4.3 Silverlight Nous allons voir dans le chapitre suivant comment intégrer du Silverlight, technologie qui vient à la mode avec ces nombreuses innovations et avec laquelle nous avons d énorme possibilité. 4.4 AJAX Identique au précédent, nous en parlerons dans le chapitre suivant, il va nous permettre également de donné à notre SharePoint une interface plus ergonomique et plus agréable a l œil.
12 WebPart 06/05/09 5 Conclusion Pour conclure ce chapitre, on peut dire que le WebPart est une manière efficace pour créer des fonctionnalités personnalisées dynamiques et les insérer dans les pages Web d un ou plusieurs sites administrés à l aide de SharePoint. Différents modèles de WebParts comme le SmartTemplate ou le SmartPart peuvent servir d exemple aux développeurs et faciliter certaines étapes de la création et de la publication.