Mea Culpa — Dissenyador de SharePoint * pot * crear fluxos de treball de màquina d'Estats

Recentment he après que és possible i fins i tot bastant fàcil crear un estat màquina de flux de treball mitjançant el SharePoint Designer. Necessitat és la mare de la invenció i totes aquestes coses bones, i tenia una necessitat aquesta setmana que buscava una invenció. Casualment, Em vaig trobar amb aquest lloc de fòrum MSDN Així. La meva experiència personal aquesta setmana i que "confirmació de independent" dóna força per la meva convicció. M'he proposat escriure sobre això més a fons amb un exemple complet bufat, però aquí és l'essència de la mateixa:

  • L'enfocament aprofita el fet que un flux de treball pot canviar un element de llista, provocant així un flux de treball nou. Normalment he considerat això ser una nosa i fins i tot blogged sobre l'ús de semàfors per gestionar-lo.
  • SharePoint permet múltiples fluxos de treball independents per ser actiu contra un element de llista específica.

Configurar-lo:

  • Disseny de la màquina d'Estats (és a dir, els Estats i com Estats de transició d'una a la següent).
  • Implementar cada estat com un flux de treball independent.
  • Configurar cada un d'aquests fluxos de treball estatal per executar en resposta als canvis en l'element de llista.

Cada flux de treball estatal segueix aquest patró aspre:

  • Sobre la inicialització, determinar si realment ha dirigit per inspeccionar la informació d'estat en l'element"actual". Avortar si no.
  • Fer el treball.
  • Actualització de el "element actual" amb nova informació d'estat. Això provoca una actualització a l'element actual i els incendis fora tots els fluxos de treball estatal.

A més el benefici evident que un pot crear un flux de treball automàtic estatal declarativa, tot el que informació d'estat és fantàstic per construir KPIs i interessants punts de vista.

Té un inconvenient bastant substancial — standard workflow history tracking is even more useless than normal 🙂 That’s easily remedied, No obstant això. Emmagatzemar tota la informació de tipus d'auditoria en una llista personalitzada. Això és probablement una bona idea fins i tot per vainilla seqüencial de flux de treball, but that’s for another blog post 🙂

Vaig trucar a això un "mea culpa" perquè tinc, per desgràcia, més que una vegada va dir en fòrums i en altres llocs que un ha d'utilitzar visual studio per crear un flux de treball de màquina d'estat. Que simplement no és cert.

</final>

Subscriure's al meu blog.

Etiquetas de Technorati:

4 comentaris a "Mea Culpa — Dissenyador de SharePoint * pot * crear fluxos de treball de màquina d'Estats

  1. Jaustral va escriure:
    Hola Pau,
    com molts Estats ¿està tractant amb? Només tinc de tenir dos fluxos diferents de treball actiu quan me ' n a la pàgina Configuració del flux de treball?
    Millor,
    Juan.
    Resposta
  2. Sanjeev Rajput
    Realment m'agradaria llegir els exemples de plens. Esperem que un de vosaltres pot ajudar a aclarir alguns malsons que he tingut amb el meu procés similar. Estic en el punt on estic preparat per començar de nou.
    Resposta
  3. Paul Galvin
    Que és una posa realment interessant enfocament una exclamació punt en el punt més gran que la SPD pot crear fluxos de treball de màquina estatal.
    No sé si hi ha diferències substancials performance-wise entre què dibuixar i què vaig esbossar. En el meu cas aquesta setmana, rendiment no és un problema perquè aquest flux de treball particular és un assumpte de llarga durada (16 o més setmanes de principi a fi) i mai hi ha més que uns quants dotzena actiu en qualsevol moment. Si hi havia uns quants dotzena posada en marxa i funcionament totes les hores … Això seria una història diferent. Crec que rendiment i flux de treball en general és un tema molt esfumades.
    No sé si executeu el seu propi blog o no. Si ho fas, vostè hauria de considerar l'escriptura sobre el seu enfocament amb més detall. Si no, Seria més que feliç per trucar un blogger de clients"" i carregar el teu post al meu blog.
    Gràcies pel comentari. És un dels millors que he estat capaç de provocar en el meu blog!
    –Paul G
    Resposta
  4. Mike Atkins
    He implementat la màquina estatal mitjançant una llista separada per mantenir l'estat durant les transicions d'estat. El flux de treball principal creat un element aquí i definir l'estat inicial. Utilitzava un sol, separada, flux de treball per gestionar tots els Estats, utilitzant un "si-llavors-ELSEIF" estructura (en "Pas 1") sobre els Estats possibles.
    Per a cada estat, tot el que necessitava fer va obtenir una resposta d'un usuari.
    Meu exemple era una aprovació seqüencial de nivell múltiple, on a cada pas (representat per un estat) podria tenir diverses seus possibles successors. Això significava que tenia cada usuari (potencialment) diferents opcions disponibles en un menú d'elecció. El meu "pas dos" també va ser un "IF-THEN-ELSE" estructura que considerar totes les possibles respostes (de totes les etapes), i llavors va decidir en quina ha de ser el següent estat. "Pas 3" llavors posi que l'estat, i va acabar el flux de treball.
    Aquest mètode té la (evident) aprofitar succeint dins d'un sol (secundària) flux de treball. No obstant això, l'àmbit de què es podia aconseguir a aquest flux de treball és més limitada que caldria amb fluxos de treball per a cada estat. M'estava preguntant, No obstant això, Quin tipus de rendiment colpejar té lloc si tots els fluxos de treball individual estat posada en marxa (encara que acabant immediatament després).
    També, Puc utilitzar una llista secundària (amb un flux de treball) per representar la transició entre Estats com aquest procés podria ser només una part d'un flux de treball més gran. Quan el flux de treball principal s'inicia el procés de màquina d'estat, això entra en un estat d'espera, i procedeix quan la "un bucle" ha termintaed. Jo també contemplava la possibilitat que el meu flux de treball principal bé pot voler canviar les dades de l'element de llista original, i volia evitar tenir innecessaris "fornades" del flux màquina estatal.
    Resposta

Deixi una contestació

no es publicarà la seva adreça de correu electrònic. Els camps necessaris estan marcats *