2010-07-20 14 views
1

Existe-t-il un moyen de contrôler (par exemple, hiérarchiser) l'ordre dans lequel les workflows SharePoint (pas les activités de workflow, mais les workflows entiers) sont en cours d'exécution?Ordre de contrôle dans lequel les flux de travail SharePoint sont exécutés

L'ensemble des flux de travail pour une liste SharePoint consiste en des flux de travail créés à l'aide de SharePoint Designer ou des flux de travail personnalisés installés via WSP. Nous souhaitons garantir que certains flux de travail (par exemple, des flux de travail qui calculent des valeurs pour certains des champs) sont exécutés avant que le reste du flux de travail ne s'exécute (par exemple, des flux de travail qui copient les données).

Répondre

1

Si cela fonctionne pour vous, vous pouvez plutôt dire flux de travail 1 pour exécuter le flux de travail 2.

Vous pouvez télécharger Start Another Workflow activité à utiliser dans vos flux de travail de concepteur.

+0

J'ai réfléchi à ça. Malheureusement, je ne sais pas quels autres workflows doivent être exécutés au moment du design. Et je devrais être capable de modifier tous les workflows de cette manière. Quelles garanties ai-je que ce workflow 2 ne sera plus appelé ou sera appelé avant le workflow 1? –

+0

C'est juste une activité - vous appelez n'importe quel flux de travail que vous aimez dans toutes les conditions. 'Si valeur> 1, appelez wf 5 sinon terminez.' –

+0

Supposons qu'une liste a actuellement 3 workflows associés: w1, w2 et w3, et supposons que j'ai besoin d'exécuter w3 avant les autres. Comment puis-je m'assurer que w3 est exécuté en premier? Je suppose que l'exécution de SharePoint sélectionne l'ordre, non? Je sais que je peux écrire w4 qui appelle w3, puis w2, puis w1. Mais que faire si l'utilisateur ajoute w5, ou supprime w1, alors je vais devoir modifier w4 pour rendre compte de ce changement, quelque chose que nous aurions besoin d'automatiser. –

1

Vous pourriez être intéressé par le Pack Admin Codeplex Sharepoint 2010, qui inclut le Workflow Organizer - il fait exactement ce que vous voulez: hiérarchiser les flux de travail et les exécuter dans un ordre spécifique.

0

Vous pouvez mettre en pause (activité de pause) votre flux de travail qui doit être exécuté après le premier. Il peut être empilé, on attend 5 minutes, un autre attend 10, etc. Je ne crois pas que le premier attende que le second finisse avant de commencer, à moins que ce soit un réglage quelque part.

J'ai eu ce problème avec un flux de travail qui utilisait le champ ID pour créer un ID simple "problem_ [ID]" et un autre flux de travail utilisant ce champ pour créer un enregistrement dans une autre liste. Si l'enregistrement de création a été exécuté en premier, il serait rempli avec "problem_" ou ne serait pas exécuté. La pause a résolu le problème. J'expérimenterais aussi n'importe quel flux de travail publié en dernier, mais je ne voulais pas courir le risque que mon prédécesseur publie un flux de travail et casse le système.