Jeg har nylig lært at det er mulig og selv ganske enkelt å opprette en tilstand maskinen arbeidsflyt ved hjelp av SharePoint Designer. Nødvendighet er mor til oppfinnelsen og alt som bra og jeg hadde behov denne uken som så for en oppfinnelse. Tilfeldigvis, Jeg kom over Dette MSDN foruminnlegg også. Min personlige erfaring denne uken og at "uavhengig bekreftelse" gir styrke til min overbevisning. Jeg planlegger å skrive om dette på større lengde med en fullverdig eksempel, men her er hovedpunkt av det.:
- Tilnærmingen utnytter det faktum at en arbeidsflyt kan endre et listeelement, og dermed utløser en ny arbeidsflyt. Jeg har normalt anses dette å være en plage og selv blogged om bruker semaforer å håndtere det..
- SharePoint gjør flere uavhengige arbeidsflyter å være aktiv mot et bestemt listeelement.
Konfigurere den:
- Design din tilstandsmaskin (dvs., USA og hvordan USA overgang fra den ene til neste).
- Implementere hver stat som egen arbeidsflyt.
- Konfigurer alle disse state arbeidsflytene kjøres som svar på endringer i listeelementet.
Hver stat arbeidsflyt følger dette grov mønster:
- Ved initialisering, finne ut om det virkelig skal kjøres ved å undersøke informasjon i "varen". Avbryte hvis ikke.
- Gjøre arbeidet.
- Oppdatere varen"" med ny informasjon. Dette utløser en oppdatering til gjeldende element og fyrer av alle stat-arbeidsflyter.
Bortsett fra den åpenbare fordelen kan at man opprette en deklarativ tilstand maskinen arbeidsflyt, alt som statusinformasjonen er veldig bra for å bygge KPIer og interessant visninger.
Den har en ganske betydelig ulempe — standard arbeidsflythistorikk-sporing er enda mer ubrukelig enn normalt 🙂 Det er lett å rette opp, men. Lagre alle dine type overvåkingsinformasjon i en egendefinert liste. Det er sannsynligvis en god idé selv for vanilje sekvensiell arbeidsflyt, men det er for et annet blogginnlegg 🙂
Jeg kaller dette en "mea culpa" fordi jeg har, Dessverre, sa flere ganger på forum og andre steder at man må bruke visual studio til å opprette en tilstand maskinen arbeidsflyt. Som rett og slett ikke sant.
</slutten>