Jiri's Shared IT knowledge

lundi, mars 05, 2007

Création de WebPart pour SharePoint 2007

La version 2007 venant tout juste de sortir, la documentation qui l’accompagne n’est pas forcément très développée (surtout quand vous n’êtes pas officiellement en charge de déployer un serveur SharePoint ^^).Résultat, je passe une grande partie de ma journée à lire des blogs sur la questions. Il est éxiste de très nombreux (bien sur en anglais) plus ou moins bien fait.J’ai enfin trouvé une superbe adresse de blog dont le rédacteur travaille chez Microsoft et qui donne pas mal de truc et astuces sur SharePoint. Il explique entre autre comment réaliser son propre web part, ce qui est très très utile pour les personnes qui démarre dans cet environnement et ne savent même pas par où commencer.

Et il faut plutôt s’accrocher, en très rapide, ça donne ça :

  • Commencez par ouvrir une classe Library de C# sous Visual Studio.
  • Codez ce que vous cherchez à voir (je crois que l’image est pas très lisible, mais si on l’enregistre, elle le devient un peu plus)


  • En n’oubliant pas d’ajouter des reférence d’assembly ET de marquer qu’on les utilise (ça ne se fait pas automatiquement)





  • Ajoutez un “strong name” à ce nouveau web part : clique droit sur le projet > propriétés > “Signing” > Cochez “Sign the assembly” > “Choose a strong name key file”


  • On build (en croisant les doigts)
  • Puis au choix :
    - On récupère la DLL et on la met dans le GAC, c’est à dire dans
    C:\WINDOWS\assembly\ (comme son nom l’indique bien sur…)
    - Ou alors on récupère la DLL et on la met dans le dossier BIN de votre site
    SharePoint c’est à dire dans …\www(ou wwwroot)\wss\VirtualDirectories\
    (votre site)\BIN\

  • Quelques soit le choix effectué ci-dessus, on récupère la clé publique de la DLL (public token). Le plus simple pour moi étant de la récupérer grâce au GAC (c’est écrit à coté de la DLL ou dans propriétés de la DLL)

  • Ensuite on va changer le fichier web.config de votre site SharePoint (donc toujours …\www(ou wwwroot)\wss\VirtualDirectories\(votre site)\web Il faut rajouter ceci à la liste des SafeControl::

  • Et vous avez presque fini, courage !

  • Retour sur SharePoint, cliquez sur Site Actions > Site Settings et dans “Site Collection Administration” cliquez sur “Go to the top level site”, l’ajout de web part ne se faisant que sur les sites (et non les sous-sites, cf le langage SharePoint dont je ferai certainement un point un jour)

  • Si vous êtes dans le top level site, cliquez dans “Galleries” sur “Web Parts”
    Cliquez ensuite sur “New” et là, si vous avez bien fait votre travail, votre nouveau web part est proposé (quelque part dans la liste)

  • Cochez la case, puis allez cliquez en haut de la page sur “Populate Galleries“. Si tout fonctionne bien, votre web part peut maintenant être ajouter à une page SharePoint comme n’importe quel autre web part (il se trouve dans la catégorie “Miscellaneous“)


Et pour trouver toutes ces informations mais aussi trouver où mettre les DLL et tout et tout… je me suis bien amusée !Ce post servira peut-être à quelqu’un pour qu’il ne trime pas comme je l’ai fait !