mercredi 27 août 2008

[Sharepoint] Portage d’un Workflow SharePoint Designer vers un projet Visual Studio 2008

Pour des worflows simples, il est très pratique de les créer avec Sharepoint Designer.


Le problème est que ces workflows se publient très mal sur d'autres serveurs voir pas du tout.

Je vais donc d'écrire les différentes étapes pour réussir à migrer un workflow SPD vers VS2008.

Pré-requis :
Avoir l'extension VSeWSS 1.2 pour VS2008.

Etape 1: Créer un projet de Wokflow pour Sharepoint dans VS

  1. Dans VS, Aller sur Fichier > Nouveau

  2. Sélectionner  SharePoint Workflow Project.
     


Etape 2: Récupérer les fichiers SPD


 Une fois ce projet en place,  nous allons commencer le portage du xoml vers VS.

  1. Ouvrir SPD sur le site de teste contenant le Workflow.

  2. Clic droit sur le workflow à porter

  3. Choisir les fichiers sélectionnés...
        

     


  4. La boite de dialogue de publication vers in site distant apparaît


  5. Choisir un emplacement sur le PC

  6. Cliquer sur OK, cette action créera un dossier appelé Workflows à l'emplacement choisi contenant les fichiers .xoml et .rules


Etape 3: Copier les fichiers SPD dans notre projet VS

  1. Copier les fichiers .xoml et .rules dans le projet

  2. Cliquer sur le fichier .xoml dans l'explorateur de solution pour voir le worfklow dans le designer


Attention : les noms des activités ne sont pas du tout explicites, elles sont nommées ID1, ID2, ID3, …

Etape 4: Générer un fichier .cs sous le fichier XOML (optionel)

Pour ajouter du code-behind au workflow, il suffit de générer une méthode sur la première activité dans le designer. La méthode OnWorkflowActivated est donc créé avec le code-behind.


Par défau', le fichier .cs sera créé automatiquement et la classe et le namespace seront initialisés en fonction du fichier xoml correspondant.

Si les noms générés par défaut ne conviennent pas, il faut changer les attributs sur la première ligne du fichier OXML :

<ns0:RootWorkflowActivityWithData x:Class="Namespace.ClassName" ...>

Etape 5: Déployer et débugger le workflow

De la même façon que les autres projets SharePoint :


  1. Clic droit sur la solution

  2. Déployer


Et le workflow est maintenant déployé sur le serveur de test

Aucun commentaire:

Enregistrer un commentaire