Jeg har for nylig lært, at det er muligt og endda ret nemt at oprette en stat maskine arbejdsgang ved hjælp af SharePoint Designer. Nødvendighed er mor til opfindelsen og alt det gode ting og jeg havde et behov i denne uge, som søgte en opfindelse. Tilfældigvis, Jeg kom på tværs af denne MSDN forumindlæg samt. Min personlige erfaring i denne uge og at "uafhængig bekræftelse" giver styrke til min overbevisning. Jeg planlægger at skrive om dette på større længde med en fuld blæst eksempel, men her er essensen af det:
- Metoden udnytter, at en arbejdsproces kan ændre et listeelement, derved udløser en ny arbejdsproces. Jeg har normalt betragtes dette at være en plage og endda blogges om brug af semaforer til at håndtere det..
- SharePoint giver mulighed for flere uafhængige arbejdsprocesser til at være aktiv mod et bestemt listeelement.
Du konfigurerer det:
- Design din tilstandsmaskine (dvs., staterne og hvordan stater overgang fra den ene til næste).
- Gennemføre hver stat som separat arbejdsproces.
- Konfigurere hver af disse statslige arbejdsprocesser udføres som svar på enhver ændring i listeelementet.
Hver tilstandsarbejdsproces følger denne groft mønster:
- Efter initialisering, bestemme om det skal virkelig køres af inspicerende stat oplysninger i de "nuværende punkt". Afbryde hvis ikke.
- Gøre arbejdet.
- Opdatere den aktuelle vare"" med nye tilstandsoplysninger. Dette udløser en opdatering af den aktuelle vare og fyrer alle statslige arbejdsprocesser.
Bortset fra den indlysende fordel kan at man oprette en deklarativ tilstandsarbejdsproces maskine, alt, hvad tilstandsoplysninger er fantastisk til at opbygge KPI'er og interessant visninger.
Det har en temmelig betydelig ulempe — standard workflow history tracking is even more useless than normal 🙂 That’s easily remedied, dog. Gemme alle dine revision typeoplysninger i en brugerdefineret liste. Det er nok en god ide selv for vanille sekventiel arbejdsproces, but that’s for another blog post 🙂
Jeg kalder dette en "mea culpa" fordi jeg har, Desværre, sagt mere end én gang på fora og andre steder, at man skal bruge visual studio til at oprette en maskine tilstandsarbejdsproces. Der er simpelthen ikke sandt.
</slutningen>