I’ve recently learned that it’s possible and even fairly easy to create a state machine workflow using SharePoint Designer. Necessity is the mother of invention and all that good stuff and I had a need this week that looked for an invention. Coincidentally, Ako ay dumating sa kabuuan ang post na ito MSDN forum as well. My personal experience this week and that "independent confirmation" lends strength to my conviction. I plan to write about this at greater length with a full blown example, ngunit narito ang diwa ng ito:
- Ang diskarte Pinakikinabangan ang katunayan na ang isang daloy ng trabaho ay maaaring baguhin ang isang item sa listahan, thereby triggering a new workflow. I’ve normally considered this to be a nuisance and even blog tungkol sa paggamit ng semaphores upang mahawakan ito.
- SharePoint nagbibigay-daan sa maramihang mga independiyenteng mga daloy ng trabaho upang maging aktibo laban sa isang partikular na item listahan.
Upang i-configure ito:
- Idisenyo ang iyong estado machine (ibig sabihin, ang estado at kung paano estado ng paglipat mula sa isa sa susunod).
- Ipatupad ang bawat estado bilang hiwalay na mga daloy ng trabaho.
- I-configure ang bawat isa sa mga daloy ng trabaho ng estado upang isakatuparan bilang tugon sa anumang mga pagbabago sa mga item sa listahan.
Ang bawat estado workflow sumusunod ito magaspang pattern:
- Sa Pinasimulan, determine whether it should really run by inspecting state information in the "current item". Abort if not.
- Ang trabaho.
- Update the "current item" with new state information. This triggers an update to the current item and fires off all the state workflows.
Bukod sa halata na benepisyo na maaari isa lumikha ng isang paturol estado machine workflow, lahat na impormasyon sa estado ay kakila-kilabot para sa KPI gusali at mga kagiliw-giliw na tanawin.
Ginagawa magkaroon ng isang medyo makabuluhang sagabal — standard workflow history tracking is even more useless than normal 🙂 That’s easily remedied, gayunman. Store all of your audit type information in a custom list. That’s probably a good idea even for vanilla sequential workflow, but that’s for another blog post 🙂
I call this a "mea culpa" dahil mayroon akong, sa kasamaang-palad, said more than once on forums and elsewhere that one must use visual studio to create a state machine workflow. That simply isn’t true.
</dulo>