Mea Culpa — SharePoint Designer * CAN * créer des Workflows de Machine État

J'ai appris récemment que c'est possible et même assez facile de créer un workflow d'ordinateur d'État à l'aide de SharePoint Designer. La nécessité est la mère de l'invention et de tout ce que de bonnes choses et j'ai eu besoin cette semaine qui avait l'air d'une invention. Comme par hasard, Je suis tombé sur ce post du forum MSDN ainsi. Mon expérience personnelle de cette semaine et cette confirmation indépendante"" donne la force de conviction. J'ai l'intention d'écrire à ce sujet plus en détail avec un exemple complet soufflé, mais voici l'essentiel de ce:

  • L'approche s'appuie sur le fait qu'un flux de travail peut modifier un élément de liste, déclenchant ainsi un nouveau flux de travail. J'ai considéré normalement comme cela pour être une nuisance et même blog sur l'utilisation des sémaphores manipuler.
  • SharePoint permet de multiples flux de travail indépendant actif contre un élément de liste spécifique.

Pour la configurer:

  • Concevoir votre machine d'État (c'est-à-dire, les États et comment les États de transition de l'un à l'autre).
  • Mise en œuvre de chaque État comme flux séparé.
  • Configurez chacun de ces flux de travail État à exécuter en réponse à toute modification de l'élément de liste.

Chaque workflow d'État suit cette tendance rugueuse:

  • Lors de l'initialisation, déterminer si elle doit vraiment s'exécuter en inspectant les informations d'État dans le « élément actif ». Abandonner si pas.
  • Faire le travail.
  • Mise à jour de l'élément actuel »" avec les nouvelles informations d'État. Cela déclenche une mise à jour à l'élément actuel et déclenche tous les workflows d'État.

Mis à part l'avantage évident qu'on peut créer un workflow de machine état déclaratif, toutes les informations d'État sont formidable pour la construction des ICR et intéressant vues.

Il n'a pas un inconvénient assez important — norme suivi de l'historique des flux de travail est encore plus inutile que la normale 🙂 C'est facilement résolu, Cependant. Stockez toutes vos informations de type de vérification dans une liste personnalisée. C'est probablement une bonne idée même pour les flux de travail séquentiel vanille, mais ce sera pour un autre billet de blog 🙂

J'appelle cela un "mea culpa" parce que j'ai, Malheureusement, dit plus d'une fois sur les forums et ailleurs, que l'on doit utiliser visual studio pour créer un workflow d'ordinateur d'État. Ce n'est simplement pas vrai.

</fin>

S'abonner à mon blog.

Tags Technorati:

4 réflexions sur "Mea Culpa — SharePoint Designer * CAN * créer des Workflows de Machine État

  1. Jaustral a écrit:
    Bonjour Paul,
    Combien d'États vous traitez? Je ne reçois que d'avoir deux différents flux de travail actif quand je vais sur la page Paramètres du flux de travail?
    Meilleur,
    Juan.
    Réponse
  2. Sanjeev Rajput
    Je tiens vraiment à lire les exemples complets. J'espère que l'un d'entre vous les gars peut aider à clarifier certains cauchemars que j'ai eu avec mon processus similaire. Je suis au point où je suis prêt à commencer de frais.
    Réponse
  3. Paul Galvin
    C'est un met approche vraiment intéressante, un point d'exclamation point sur le point le plus important que le SPD peut créer des workflows de machine État.
    Je ne sais pas si il y a des différences substantielles côté performance entre ce que vous exposer brièvement et ce que j'ai aperçu. Dans mon cas cette semaine, performance n'est pas un problème parce que ce flux de travail particulier est une affaire de longue durée (16 ou plusieurs semaines de bout en bout) et il n'ya jamais plus que quelques dizaines actif à tout moment. S'il y a quelques dizaines d'individus, le démarrage et en cours d'exécution toutes les heures … ce serait une autre histoire. Je pense que les performances et flux de travail en général est un sujet très brumeux.
    Je ne sais pas si vous exécutez votre propre blog ou pas. Si vous le faites, vous devriez envisager d'écrire sur votre approche plus en détail. Si ce n'est, Je serais plus qu'heureux de vous appeler un « guest blogger" et téléchargez votre post sur mon blog.
    Merci pour le commentaire. C'est l'un des meilleurs que j'ai pu obtenir sur mon blog!
    –Paul G
    Réponse
  4. Mike Atkins
    J'ai implémenté la machine d'État en utilisant une liste distincte de tenir l'état pendant les transitions d'État. Le flux de travail principal créé ici, un élément et définie l'état initial. J'ai utilisé un seul, séparé, flux de travail pour gérer l'ensemble des États, à l'aide d'un « IF-THEN-else if" structure (dans « Étape 1 ») sur les États possibles.
    Pour chaque État, tout ce j'avais à faire était d'obtenir une réponse d'un utilisateur.
    Mon exemple était une approbation séquentielle de plusieurs niveaux, où chaque étape (représenté par un État) pourrait avoir différents successeurs possibles. Cela signifie que chaque utilisateur avait (potentiellement) différentes options disponibles dans un menu de choix. Mon deuxième "étape" a été aussi un "IF-THEN-ELSE" structure qui a examiné l'ensemble des réponses possibles (de toutes les étapes), et puis a décidé sur ce que devrait être le prochain état. "Étape 3" puis définir cet État, et le flux de travail terminé.
    Cette méthode a le (évident) avantage de qui se passe au sein d'un même (secondaire) flux de travail. Cependant, la portée de ce qui pourrait être accompli dans ce flux de travail est plus limitée qu'on aurait avec les workflows pour chaque État. Je me demandais, Cependant, Quel genre de performance hit a lieu si tous les workflows d'État individuels commencent vers le haut (Bien que se terminant immédiatement après).
    Aussi, J'utilise une liste secondaire (avec ses propres flux de travail) pour représenter la transition entre États en tant que ce processus pourrait être qu'une partie d'un plus grand flux de travail. Lorsque le flux de travail principal démarre le processus de machine d'État, Il se met en état d'attente, et le produit lorsque le "bouclage" a termintaed. J'envisageais aussi la possibilité que mon flux de travail principal pouvez bien modifier les données dans l'élément de la liste originale, et je voulais éviter d'avoir inutiles "tirs" du workflow d'ordinateur d'État.
    Réponse

Laissez une réponse à Paul Galvin Annuler la réponse

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *