Utiliser un formulaire InfoPath dans un Workflow


Bonjour à tous,

Aujourd’hui je vais vous parler de l’intégration d’Infopath 2010 dans un Workflow, en particulier des étapes nécessaires pour attacher le formulaire à une tâche.

1ère étape : Création du module

Tout d’abord commençons par ajouter un module « Forms » dans notre workflow afin d’avoir une solution qui ressemble à ceci.

2ème étape : Ajout du formulaire Infopath dans le module

Ensuite créons notre infopath.

Rien de compliqué ici, l’idée de cet article étant juste de montrer comment intégrer notre formulaire personnalisé dans une tâche SharePoint.

Une fois le formulaire prêt une modification de la sécurité est nécessaire, pour cela il faut aller dans le menu « File » -« Form Options »

Ici nous devons spécifier la sécurité sur « Domain » au minimum.

Une fois cette sécurité en place, publions notre formulaire. Nous allons le publier directement dans notre projet. Pour cela il faut aller dans l’onglet de publication et choisir de le publier sur le réseau.

Sélectionnons l’emplacement de notre module « Forms » que nous avons créé dans notre workflow.

L’étape qui suit est très importante, nous devons vider le lien d’accès vers notre formulaire !

Cela génère un message d’erreur lors du clic sur next, cliquer sur “OK” pour l’ignorer.

Finissons de publier le formulaire.

Une fois le formulaire publié retournons dans notre solution Visual studio et cliquons sur le bouton « afficher tous les fichiers ».

Faisons un clic droit sur notre infopath pour l’ajouter dans la solution.

Nous pouvons voir dans le fichier Elements.xml que le formulaire a été automatiquement ajouté au module.

3ème étape : Modification du fichier « feature.xml »

Maintenant que l’infopath est ajouté, nous devons le déployer sur notre environnement SharePoint. Pour cela il faut ajouter un receiver spécifique dans le manifeste de la feature.



ReceiverAssembly = "Microsoft.Office.Workflow.Feature, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

ReceiverClass = "Microsoft.Office.Workflow.Feature.WorkflowFeatureReceiver"

C’est ce receiver qui se chargera d’uploader l’infopath. Nous devons également spécifier la propriété suivante afin qu’il sache où chercher les formulaires.



<Property Key="RegisterForms" Value="Forms\*.xsn"/>

Nous avons au final notre manifeste qui ressemble à ceci

4ème étape : Modification du fichier « Elements.xml » du workflow

Nous devons maintenant spécifier l’ID du content type « SharePoint InfoPath Workflow Task » natif dans notre définition.



<Workflow …

TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160" > 

Nous devons aussi spécifier l’urn de notre infopath . Attention ! Vérifiez bien que vous avez l’urn du formulaire publié !



<Task0_FormURN>urn:schemas-microsoft-com:office:infopath:Task1:-myXSD-2012-04-26T13-02-48</Task0_FormURN>

Pour chaque formulaire vous pouvez spécifier l’ID, ici l’exemple « <Task0_FormURN> » montre l’ID 0, retenez cet ID nous allons l’utiliser juste après !

Au final notre fichier « Elements.xml » doit ressembler à ceci

5ème étape : Modification du code de création de la tâche voulue.

Dans notre workflow nous pouvons maintenant spécifier le formulaire que nous voulons utiliser, pour celle il faut modifier les propriétés de la tâche en lui donnant l’ID du formulaire voulu , dans notre exemple nous lui donnerons l’ID 0.

Notre code ressemble à ceci

6ème étape : Vérification.

Après le déploiement de la solution nous devrions trouver notre formulaire dans la centrale d’administration plus précisément dans « general application settings »-« Manage form templates»

Et effectivement il est bien présent.

En démarrant notre workflow, lors de la création de la tâche nous pouvons voir notre formulaire !

Voila !

Christopher.

Cet article, publié dans SharePoint 2010, est tagué , , . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

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 )

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 )

Photo Google+

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

Connexion à %s