[SharePoint 2010] Création et Utilisation d’un Timer Job

Il y a eu quelques nouveautés au niveau des Timer Jobs (Tâches planifiées) avec SP2010. La création et le déploiement se fait de manière beaucoup plus facile et plus besoin de faire telle ou telle ligne de commande pour que ça fonctionne.

Pour ceux qui ne le savent pas encore, un timer Job permet d’exécuter des tâches que vous avez choisi ou codé à un intervalle de temps régulier (ou unique pour une action ponctuelle par exemple). C’est “l’équivalent” d’un batch de tâche planifiée que vous avez peut être déjà déployé sur un serveur.

Pour voir ces Jobs, il faut vous rendre dans la central d’administration de votre SharePoint server, partie Monitoring :

image

Vous aurez ensuite accès à une série de menu afin de pouvoir Activer/Désactiver un job ou voir ceux en cours, …

Passons maintenant à la partie développement d’un Timer Job sous Visual Studio 2010.

Il n’y a pas de projet s’appelant “Timer Job” sous Visual, car il s’intègre à n’importe quel élément, vous pouvez planifier des actions dans une web Part par exemple.

Nous allons donc créer un “Empty SharePoint Project” (un projet Sharepoint vide quoi :p ) :

image

Attention à l’écran d’après, un Timer Job utilise des apis qui ne peuvent pas être implémenté dans une solution Sandboxed, il faut donc sélectionner le trust level d’une Farm solution pour vous éviter bien des erreurs par la suite :

image

Vous ajoutez une Feature :

image

Une première nouveauté avec SharePoint 2010 :

En effet, par rapport à SharePoint 2007, vous pouvez générer la classe d’événement :

image

Ce qui vous permettra en décommantant, d’implémenter votre Timer Job très facilement !

La technique de codage reste par ailleurs identique à celle de SP2007, vous ne serez pas dépaysé, il y aura juste moins à taper.

En action :

image

Une autre nouveauté avec SharePoint 2010 :

Le Feature1.Template.xml est rempli automatiquement, plus besoin de le faire vous même et vous prendre la tête avec les balises. Vous pouvez quand même le surcharger si vous avez gardé l’habitude le faire à la main.

image

Et enfin :

Bon maintenant, il ne vous reste plus qu’a créer votre classe en ajoutant un “Empty element” à votre projet. Classe que vous appelez dans votre Feature1.EventReceiver.cs. La Mécanique reste identique à un Job avec SP2007.

Il ne vous reste plus qu’a déployer votre Job pour le voir apparaitre dans le menu monitoring :

image

Vous pourrez par ailleurs modifier certains paramètres directement dans ce menu :

image

Voilà, c’est quand même plus facile qu’avant…

Mon prochain article parlera du retour d’expérience sur le développement des Jobs, quelques préconisations et pièges à éviter.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :