Mea Culpa — SharePoint Designer * kan * State Machine werkstromen maken

Ik heb onlangs geleerd dat het mogelijk en zelfs vrij gemakkelijk een staat machine werkstroom met behulp van SharePoint Designer te maken. Noodzaak is de moeder van de uitvinding en al dat goede materiaal en ik had een behoefte deze week die keek voor een uitvinding. Toevallig, Ik kwam dit MSDN forumpost ook. Mijn persoonlijke ervaring deze week en dat "onafhankelijke bevestiging" leent kracht om mijn overtuiging. Ik ben van plan om te schrijven over dit uitvoeriger met een volledige geblazen voorbeeld, maar hier is de kern van het:

  • De aanpak maakt gebruik van het feit dat een werkstroom een item in de lijst kunt wijzigen, daardoor triggering een nieuwe workflow. Ik heb dit een overlast en zelfs normaal overwogen geblogd over het gebruik van semaforen om het te behandelen.
  • SharePoint laat toe meerdere onafhankelijke werkstromen te zijn actief tegen een specifieke lijst-item.

Te configureren:

  • Ontwerp uw statusmachine (dat wil zeggen, de Staten en hoe Staten de overgang van de ene naar de volgende).
  • Uitvoering van elke staat als aparte werkstroom.
  • Elk van deze werkstromen staat uit te voeren in reactie op wijzigingen in het lijstitem configureren.

Elke staat-workflow volgt dit ruwe patroon:

  • Bij initialisatie, bepalen of het moet echt worden uitgevoerd door inspectie van statusgegevens in het "huidige item". Afbreken als niet.
  • Het werk doen.
  • De "huidige-item bijwerken" met nieuwe statusgegevens. Dit start een update naar het huidige item en branden uit alle staat workflows.

Afgezien van de hand liggende voordeel kunt dat men een declaratieve staat machine workflow maken, dat alles staat informatie is geweldig voor het bouwen van KPI's en interessante views.

Het heeft een vrij grote nadeel — het standaard bijhouden van de workflowgeschiedenis is zelfs nog nuttelozer dan normaal 🙂 Dat is eenvoudig te verhelpen, echter. Al uw audit typegegevens in een aangepaste lijst opslaan. Dat is waarschijnlijk een goed idee zelfs voor vanille sequentiële workflow, maar dat is voor een andere blogpost 🙂

Ik noem dit een "mea culpa" want ik heb, Helaas, meer dan eens gezegd op forums en elders moet dat een gebruikt u visual studio een staat machine werkstroom te maken. Dat is gewoon niet waar.

</einde>

Abonneren op mijn blog.

Technorati Tags:

4 gedachten over "Mea Culpa — SharePoint Designer * kan * State Machine werkstromen maken

  1. Jaustral wrote:
    Hallo Paul,
    hoeveel staten behandelen u? Ik krijg alleen dat twee verschillende actieve workflows wanneer ik ga naar de pagina werkstroom instellingen?
    Beste,
    Juan.
    Antwoord
  2. Sanjeev Rajputs
    Ik zou echt willen lezen de volledige voorbeelden. Hopelijk kan een van jullie helpen verduidelijken sommige nachtmerries die ik heb met mijn soortgelijk procédé. Ik ben op het punt waar ik ben klaar om te beginnen vanaf verse.
    Antwoord
  3. Paul Galvin
    Dat is een echt interessante benadering zet een uitroepteken wijst op de grotere punt dat EPD staat machine werkstromen kunt maken.
    Ik weet niet of er zijn aanzienlijke verschillen performance-wise tussen wat u een overzicht en wat ik schetsen. In mijn geval deze week, prestaties is een probleem omdat deze bepaalde workflow een langdurige affaire is (16 of meer weken van start tot finish) en er zijn nooit meer dan een paar dozijn actief op elk gewenst moment. Als er waren een paar dozijn opstarten en uitvoeren van elk uur … dat zou een ander verhaal. Ik denk dat de prestaties en workflow is in het algemeen een zeer vaag onderwerp.
    Ik weet niet als u uw eigen blog of niet uitvoeren. Als je dat doet, u zou moeten overwegen schrijven over uw aanpak in meer detail. Zoniet, Ik zou meer dan blij om u te bellen een gast blogger"" en het uploaden van uw post op mijn blog.
    Bedankt voor de reactie. Het is een van de beste die ik ben geweest kundig voor wekken op mijn blog!
    –Paul G
    Antwoord
  4. Mike Atkins
    Ik heb de machine van de staat een aparte lijst gebruiken om te houden van de staat tijdens de overgangen staat geïmplementeerd. De belangrijkste werkstroom hier een item is gemaakt en de beginstatus. Ik gebruikte een honkslag, afzonderlijke, werkstroom om alle statussen, met behulp van een "als-dan-ELSEIF" structuur (in "Stap 1") op de mogelijke toestanden.
    Voor elke staat, alles wat ik moest doen was een antwoord krijgen van een gebruiker.
    Mijn voorbeeld was een sequentiële goedkeuring van meerdere niveaus, waar elke stap (vertegenwoordigd door een staat) hadden verschillende mogelijke opvolgers. Dit betekende dat elke gebruiker had (potentieel) verschillende opties ter beschikking gesteld in een keuze menu. Mijn "stap twee" was ook een "IF-THEN-ELSE" structuur die beschouwd als alle van de mogelijke reacties (van alle stadia), en dan bepaald wat de volgende staat moet. "Stap 3" Stel dat staat, en de werkstroom eindigde.
    Deze methode heeft de (voor de hand liggende) voordeel van gebeurt binnen een honkslag (secundaire) werkstroom. Echter, de reikwijdte van wat kan worden bereikt in deze werkstroom is beperkter dat men met werkstromen voor elke staat hebben zou. Ik vroeg me af, echter, Wat voor soort prestaties hit plaatsvindt als alle van de individuele staat werkstromen starten (zij eindigt onmiddellijk daarna).
    Ook, Ik gebruik een lijst met secundaire (met zijn eigen workflow) de overgang tussen staten vertegenwoordigen, als dit proces wellicht slechts een deel van een grotere workflow. Wanneer het proces van de machine staat in de belangrijkste werkstroom wordt gestart, het gaat in een status wait, en de opbrengst als de "in een lus" heeft termintaed. Ik overwoog ook de mogelijkheid dat mijn belangrijkste workflow kan ook gegevens wilt wijzigen in de oorspronkelijke lijst-Item, en ik wilde om te voorkomen dat onnodige "firings" van de workflow van de machine staat.
    Antwoord

Verlaat een antwoord te Paul Galvin annuleer antwoord

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *