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, I erdhi nëpër ky post forum MSDN po ashtu. 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, por këtu është esencë e ajo:
- Qasja thekson faktin se një workflow mund të ndryshojë një zëri të listës, thereby triggering a new workflow. I’ve normally considered this to be a nuisance and even blogged në lidhje me përdorimin semaforët për të trajtuar atë.
- SharePoint lejon menu të shumta të pavarur që të jetë aktiv kundër një artikull listë të veçantë.
Për të konfiguroni atë:
- Projektimin e makinës tuaj shtetëror (dmth, shtetet dhe si shtetet në tranzicion nga një të ardhshëm).
- Zbaton çdo shtet si workflow veçantë.
- Konfiguro secili prej këtyre workflows shtetit për të ekzekutuar në përgjigje të ndonjë ndryshim në list item.
Çdo shtet workflow ndjek këtë model të përafërt:
- Pas inicializimit, determine whether it should really run by inspecting state information in the "current item". Abort if not.
- Të bëjë punën.
- Update the "current item" with new state information. This triggers an update to the current item and fires off all the state workflows.
Përveç nga përfitim të dukshëm që mund të krijojë një deklarativ makinë workflow shtetëror, të gjitha informatat që shteti është i frikshëm për IKP të ndërtimit dhe pamje interesante.
Ajo ka një pengesë mjaft të konsiderueshme — standard workflow history tracking is even more useless than normal 🙂 That’s easily remedied, megjithatë. 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" sepse unë kam, për fat të keq, 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.
</fund>