W poprzednim wpisie o SharePoint Designer Workflow pokazałem Wam podstawowe opcje związane z projektowaniem przepływów w SharePoint designer. Dziś pora na projektowanie samych workflow.

Generalnie idea tworzenia workflow polega na dodawaniu kroków (stage), które będą wykonywane po wykryciu przez SharePoint zdarzenia, które go uruchamia. Mamy trzy możliwe zdarzenia:

  • manually started (uruchamiany ręcznie )
  • when an item is created (gdy jest tworzony nowy element)
  • when an item is changed (gdy element jest zmieniony)

Każdy stage po zakończeniu może przejść do następnego w sekwencji, może cofnąć się/ przeskoczyć do innego, poza sekwencją albo zakończyć przepływ. Decydujemy o tym w polu „transition to the stage”. Na zdjęciu poniżej możecie zobaczyć właśnie te opcje.

transition to stage

Najważniejsze elementy workflow

Jak widzicie na górnym przykładzie możemy dodawać również warunki, które będą decydowały do którego kroku nasz proces przejdzie. Kolejnym elementem, który składa się na budowanie workflow to są core actions. To właśnie akcje decydują o tym co nasz proces będzie robił. Tak na prawdę, nazwy akcji są samo opisujące się.

Worfklow actions

Kolejnym elementem, który jest bardzo istotnym w tej układance to akcje warunkowe. Dzięki nim mamy możliwość sprawdzanie różnych warunków lub też weryfikowania informacji, które są wprowadzane przez naszych użytkowników. Takim przykładem może być, sprawdzenie czy ktoś jest użytkownikiem SharePointa. Na przykład gdy mamy pole tekstowe, a my nie mamy pewności że dane które tam będą to poprawny użytkownik, powinniśmy to sprawdzić. Może się zdarzyć, że proces nie będzie w stanie tego zrobić i jeżeli użyjemy danych z takiego pola workflow zgłosi błąd i zostanie przerwany.

workflow condition

Ostatnim elementem, o którym chcę powiedzieć to pętle. Dzięki nim mamy możliwość sprawdzania czy określone zdarzenie miało miejsce lub też mamy możliwość uruchomienia jej określoną ilość razy.

workflow loop

Tu jedna bardzo ważna informacja, dotycząca SharePoint online. Jeżeli stworzycie proces, który będzie posiadał dużo pętli „Loop with Condition” to może się zdarzyć, że wasz proces będzie zawieszany (suspended) przez silnik SharePointa. W logach będzie informacja, że zostały przekroczone zasoby, które zostały przyznane Wam w site collection. Generalnie jest to związane z tym, żeby nie zabić serwera. Jedyną opcją jest takie przebudowanie procesu by zmniejszyć ilość uruchamianych pętli. Można na przykład skorzystać z zatrzymywania procesu na określony czas, a następnie sprawdzanie warunku.

I tak na prawdę to wszystko. W kolejnej części zbudujemy proces, który będzie wykorzystywał zaprezentowany tu elementy.