[Tutorial] Comment développer des Event Handlers WSS/MOSS 2007

Ajouter un commentaire décembre 13th, 2008

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.

Enjoy !


Partagez cet article avec un ami :
bodytext del.icio.us Facebook Google co.mments E-mail this story to a friend! Live StumbleUpon Technorati Wikio Wikio FR YahooMyWeb

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/5/d173573684/htdocs/myspworld/wp-includes/class-wp-comment-query.php on line 399
  1. Aucun commentaire pour l'instant
  1. No trackbacks yet.
Flux Rss des commentaires