Mea Culpa — SharePoint Designer * può * creare flussi di lavoro di stato macchina

Recentemente ho imparato che è possibile e anche abbastanza facile da creare un flusso di lavoro macchina tramite SharePoint Designer. La necessità è la madre di invenzione e tutta quella roba buona e avevo bisogno di questa settimana che ha cercato un'invenzione. Per coincidenza, Sono imbattuto in Questo post nel forum MSDN pure. La mia esperienza personale questa settimana e che "la conferma indipendente" conferisce forza alla mia convinzione. Ho intenzione di scrivere su questo con un esempio completo di lunghezza maggiore, ma ecco il nocciolo di esso:

  • L'approccio sfrutta il fatto che un flusso di lavoro può modificare una voce di elenco, innescando un nuovo flusso di lavoro. Normalmente ho considerato questo per essere un fastidio e anche blogged circa usando i semafori per gestire la cosa.
  • SharePoint consente di flussi di lavoro indipendenti multipli di essere attivo contro una determinata voce dell'elenco.

Per configurarlo:

  • Progettare la vostra macchina dello stato (vale a dire, gli Stati e come stati di transizione da uno alla successiva).
  • Implementare ogni stato come flusso di lavoro separato.
  • Configurare ognuno di questi flussi di lavoro dello stato di esecuzione in risposta a qualsiasi cambiamento nella voce di elenco.

Ogni flusso di lavoro stato segue questo modello approssimativo:

  • Dopo l'inizializzazione, determinare se davvero deve essere eseguita controllando le informazioni sullo stato in "elemento corrente". Interrompere se non.
  • Fare il lavoro.
  • Aggiornare l'elemento corrente"" con nuove informazioni sullo stato. Ciò innesca un aggiornamento all'elemento corrente e spara a tutti i flussi di lavoro di stato.

A parte l'ovvio vantaggio che si può creare un flusso di lavoro macchina dichiarativa dello stato, tutto quello che le informazioni sullo stato sono formidabile per la costruzione di indicatori KPI e interessanti visualizzazioni.

Hanno un inconveniente abbastanza sostanzioso — il monitoraggio della cronologia del flusso di lavoro standard è ancora più inutile del normale 🙂 È facile rimediare, Tuttavia. Memorizzare tutte le tue informazioni di tipo di controllo in un elenco personalizzato. Che è probabilmente una buona idea anche per flusso di lavoro sequenza alla vaniglia, ma questo è per un altro post sul blog 🙂

Io chiamo questo un "mea culpa" perché ho, Purtroppo, ha detto più di una volta sul forum e altrove che si deve utilizzare visual studio per creare un flusso di lavoro macchina. Che semplicemente non è vero.

</fine>

Iscriviti al mio blog.

Technorati Tags:

4 pensieri su "Mea Culpa — SharePoint Designer * può * creare flussi di lavoro di stato macchina

  1. Jaustral ha scritto:
    Ciao Paolo,
    come molti Stati stanno affrontando? Solo arrivare ad avere due diversi flussi di lavoro attivi quando vado alla pagina Impostazioni flusso di lavoro?
    Meglio,
    Juan.
    Risposta
  2. Sanjeev Rajput
    Mi piacerebbe davvero leggere gli esempi completo. Speriamo che uno di voi può contribuire a chiarire alcuni incubi che sto avendo con il mio processo simile. Io sono al punto dove sono pronto ad iniziare dal fresco.
    Risposta
  3. Paul Galvin
    Che è una davvero interessante mette approccio un punto esclamativo sul punto più ampio che SPD possono creare flussi di lavoro macchina.
    Non so se ci sono differenze notevoli prestazioni-saggio tra ciò che si muta, e che cosa ho delineare. Nel mio caso questa settimana, prestazioni non sono un problema perché questo particolare flusso di lavoro è un affare di lunga durata (16 o più settimane dall'inizio alla fine) e non ci sono mai più di qualche dozzina attivi in qualsiasi momento. Se ci fosse qualche decina di avvio e in esecuzione ogni ora … che sarebbe una storia diversa. Penso che le prestazioni e flusso di lavoro in generale è un soggetto molto vago.
    Non so se si esegue il tuo blog, o non. Se lo fai, si dovrebbe considerare la scrittura sul tuo approccio più dettagliatamente. Se non, Sarei più che felice di chiamarvi un "guest blogger" e caricare il tuo post sul mio blog.
    Grazie per il commento. È uno dei migliori che sono in grado di suscitare il mio blog!
    –Paul G
    Risposta
  4. Mike Atkins
    Ho implementato la macchina di stato usando una lista separata per contenere lo stato durante le transizioni di stato. Il flusso di lavoro principale ha creato un elemento qui e impostata lo stato iniziale. Ho usato un singolo, separata, flusso di lavoro per gestire tutti gli Stati, utilizzando un "se-allora-ELSEIF" struttura (in "Step 1") gli stati possibili.
    Per ogni stato, tutto quello che dovevo fare era di ottenere una risposta da un utente.
    Mio esempio era un approvazione sequenziale di più livelli, dove ogni passo (rappresentata da uno stato) potrebbe avere varie possibili successori. Ciò significava che ogni utente (potenzialmente) diverse opzioni rese disponibili in un menu di scelta. Il mio "passo due" è stato anche un "IF-THEN-ELSE" struttura che considerate tutte le possibili risposte (da tutte le fasi), e poi avete deciso su quale dovrebbe essere lo stato successivo. "Passo 3" quindi impostare tale stato, e finito il flusso di lavoro.
    Questo metodo ha il (ovvio) vantaggio dell'accadere all'interno di un singolo (secondaria) flusso di lavoro. Tuttavia, l'ambito di ciò che potrebbe essere realizzato in questo flusso di lavoro è più limitato che uno avrebbe con i flussi di lavoro per ciascuno stato. Mi chiedevo, Tuttavia, che tipo di prestazioni ha colpito avviene se tutti i flussi di lavoro del singolo stato avviare (seppur termina immediatamente dopo).
    Anche, Io uso un elenco secondario (con il proprio flusso di lavoro) per rappresentare la transizione tra Stati come questo processo potrebbe essere solo una parte di un flusso di lavoro più grande. Quando il flusso di lavoro principale avvia il processo di macchina di stato, va in stato di attesa, e procede quando il "loop" ha termintaed. Inoltre stavo contemplando la possibilità che il mio flusso di lavoro principale ben potrebbe essere necessario modificare i dati nell'elemento dell'elenco originale, e volevo evitare inutili "cotture" del flusso di lavoro stato macchina.
    Risposta

Lasciare una risposta a Paul Galvin cancella risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *