Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Allez plus loin dans le déploiement de vos features

Avec tout les posts sur codes-sources concernant le deploiement sous SharePoint, je pense que vous etes deja plutot bien rodé et que tout ce qui concerne les features et solutions vous parle deja, et il est vrai qu'il n'est pas évident d'en rajouter sur ce sujet.

D'ailleurs si je vous dis Event Handler vous devrais directement pensé au post de Themit qui nous montre comment utilisé un event handler sur une liste/doclib et agir sur les items : http://blogs.codes-sources.com/themit...une-bon-exemple-d-event-handler-gestion-des-permissions.aspx !

Cependant, si l'on se réfère à ce post de Brian Wilson on remarque qu'il existe plusieurs types d'event handler :

  • site level : le SPWebEventReceiver avec des évènements comme :
    • SiteDelet(ed|ing)
    • WebDelet(ed|ing)
    • WebMov(ed|ing)
  • list level : le SPListEventReceiver qui possède des évènements comme :
    • FileAdd(ed|ing)
    • FileDelet(ed|ing)
    • FileUpdat(ed|ing)
  • item level : le SPItemEventReceiver que nous connaissons bien et que je ne vais pas énumerer

Cependant, si l'on s'interresse à ce lien sur la MSDN on constate un autre type de receiver : http://msdn2.microsoft.com/en-us/library/ms469501.aspx, savoir le SPFeatureReceiver :)

Ce receiver nous permet donc d'accéder à quatres évènements liés aux features (que je ne vais pas détailler car leur noms sont assez explicite vous en conviendrez) qui sont :

  • FeatureActivated
  • FeatureDeactivating
  • FeatureInstalled
  • FeatureUninstalling

Ainsi pour l'utiliser il nous suffit d'hériter SPFeatureReceiver dans notre classe, et il est à noter que toutes ses méthodes ont pour paramètres un SPFeatureReceiverProperties fort utile car il permet notemment de se connecter au site parent ou sera déployer la feature. Il s'utilise de la manière suivante :

 1: using (SPSite site = (properties.Feature.Parent as SPSite))
 2: {
 3: //votre code ici
 4: }

Maintenant, dernière question restante, comment lié la feature avec notre eventhandler ?

Tout simplement en modifiant notre fichier feature.xml afin de lui spécifier la signature de notre dll, pour cela dans le tag Feature il nous faut rajouter deux attributs qui de fait resemble à ce que nous ajoutons dans un fichier web.config:

  • ReceiverAssembly
  • ReceiverClass
 1: <Feature [...] ReceiverAssembly="FeatureEventHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=151fe383e657f07a" ReceiverClass="FeatureEventHandler.Class1">
 2: <ElementManifests>
 3: <ElementManifest Location="elementManifest.xml" />
 4: </ElementManifests>
 5: </Feature>

 

Il ne vous reste plus qu'à l'utiliser celon vos besoins !

alex.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié mardi 27 novembre 2007 10:32 par khamlon
Classé sous : ,

Commentaires

mardi 27 novembre 2007 22:32 by themit

# re: Allez plus loin dans le déploiement de vos features

Perso, j'ai pas pensé à mon post en premier mais merci !!!

J'ai jamais vraiment associé les Event avec les Receiver des Features car qu final leur comportement est différent

Les event de features sont pilotés par ceux qui les gére alors que les EventHandler déclenchent selon le comportement utilisateur

Mais ca n'enléve en rien la valeur des Feature Receiver !!!

Bien au contraire !

Je vais même bientot en parler ;)

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- TCB : Travailler en équipe sans réseau par The Mit's Blog le il y a 17 minutes

- Accès anonyme et les pages Forms / viewlsts.aspx... par Nicolas Humann le il y a 4 heures et 10 minutes

- l'Atelier 4 du coach C# est disponible par Bernard Fedotoff le il y a 5 heures et 45 minutes

- [WPF] Formatter l’affichage lors d’un binding, via StringFormat par Thomas Lebrun le il y a 10 heures et 47 minutes

- WSC08 : Le bilan, Les Photos, Les Webcasts à voir ou à revoir par Blog de Daniel TIZON [daniel] le il y a 19 heures et 54 minutes

- SharePoint et ses DB : Avez vous pensé à les "Tweaker" ? par The Mit's Blog le il y a 20 heures et 23 minutes

- NTttcp : Mesurer la vitesse d'un réseau par Blog d'Olivier Huet le il y a 20 heures et 48 minutes

- Un nouveau quizz par Matthieu MEZIL le il y a 23 heures et 32 minutes

- Webcast ADO.NET Data Services par Matthieu MEZIL le il y a 23 heures et 35 minutes

- edmx : mise à jour du modèle depuis la base par Matthieu MEZIL le 10-06-2008, 17:47