Ecrit par Yoyo
15 décembre 2008 : 2:47
Tutorial : Comment développer des Event Handlers WSS/MOSS 2007
Déjà présente dans la version 2003 de SharePoint, les event handlers restent, dans la version 2007, un formidable moyen d’étendre les fonctionnalités possibles de WSS/MOSS. Plus concrètement, un event handler est une classe .NET (assembly) qui va être appelée au déclenchement d’événement dans SharePoint (ajout de contenu, modification, suppression, customisation …) et qui va donc permettre d’ajouter des traitements métiers supplémentaires aux lancements de ses événements. Les extensions possibles sont infinies.
Les types d’événements
WSS/MOSS offre par défaut une jolie liste assez complète d’événement pour lancer les event handlers. Ces événements sont repartis sur plusieurs niveaux :
- Evénements propres au site (« Site Level »)
- Evénements propres aux listes (« List Level »)
- Evénements propres aux éléments d’une liste (« List Item Level »)

“site level”

“list Level”
“List Item Level”
Evénements Asynchrones vs Evénements Synchrones : les “ing” et les “ed”
Comme on peut le voir il ya des méthodes en « ing » et des méthodes en « ed » :
-
Les «ed» sont les méthodes synchrones qui sont appelées après que l’événement a eu lieu.
-
Les « ing » sont les méthodes asynchrones qui sont appelées pendant que l’événement se déroule.
Développement
Pour vous lancer dans le codage d’event handlers, il existe un très bon Starter Kit disponible en téléchargement sur CodePlex que vous pouvez télécharger ici.
Pour votre projet, vous pouvez reprendre la même solution et l’adapter a vos besoins.
IMPORTANT : La DLL générée devra être installée dans le GAC de votre serveur donc devra être signée (strong name).
Déploiement
Recopie dans le GAC
La première étape va être de recopier la DLL généré par votre projet dans le GAC de votre serveur.
Attacher l’assembly
Il va falloir ensuite attacher cet event handlers aux composants SharePoint qui nous intéressent.
Pour cela :
- Vous pouvez utiliser la page prévu a cet effet dans les paramètres avancées de votre liste ou bibliothèque de document :
ATTENTION : Personnellement, je n’ai jamais compris pourquoi mais cette fonctionnalité n’est pas disponibles pour tous les types de listes.
- Vous pouvez attacher votre assembly par le code (cf. http://stephaneey.developpez.com/tutoriel/sharepoint/eventhandler/)
- Vous pouvez utiliser l’Event Handlers Manager décrit ici.
Enjoy !






















