User Defined Actions to zestaw akcji (paczka), realizująca określone kroki w procesach Nintex Workflow. Gdybyśmy chcieli znaleźć odniesienie np. w kontekście notacji BPMN, możemy
powiedzieć, że zestaw [UDA] jest podprocesem zwiniętym (Collapsed Sub-Process). Należy traktować [UDA] jako podproces w procesie głównym. W zależności od scenariusza, możemy wykorzystać pojedynczą paczkę [UDA] w wielu procesach – pozwala to zoptymalizować ich strukturę poprzez wyniesienie złożonej logiki poza procesy główne.
Aby optymalnie wykorzystać funkcjonalność paczki [UDA], należy przejrzeć zaimplementowane procesy i wybrać te części procesów, które mogą zostać zastąpione zestawem [UDA].
UDAs provide the ability to string together a predefined set of multiple workflow actions for workflow designers to use when creating a workflow…
Demo
Poniżej znajduje się przykład budowy i wykorzystania paczki UDA.
Cel: Udzielenie uprawnień użytkownikowi poprzez dodanie go do określonej grupy uprawnień poprzez wykorzystanie funkcjonalności zestawu User Defined Actions
- Przechodzimy do głównej witryny kolekcji witryn (site collection root). Klikamy w prawym górnym rogu strony w ikonę [Settings]
- Wybieramy z menu opcję [Nintex Workflow]
- Na stronie ustawień Nintex Workflow klikamy w odnośnik [User Defined Actions (UDAs)
- Zostajemy przeniesieni do strony konfiguracji paczek [UDA].
W górnej sekcji strony dostępne są przyciski pozwalające na pracę z paczkami [UDA]. W centralnej sekcji strony znajduje się lista paczek.
- Klikamy w przycisk [Create]
- Zostajemy przekierowani do Nintex Workflow Designer-a.
Designer pozwala na wygodną pracę podczas konfiguracji procesu. Należy co pewien czas zapisywać efekty swojej pracy.
- Rozwijamy opcję [UDA Settings]
Do czego służą poszczególne opcje?
Funkcja | Przycisk | Opis |
---|---|---|
UDA Settings | Po kliknięciu uruchomi się okno z opcją zdefiniowania nazwy, paczki oraz grupy w której zostanie opublikowana paczka [UDA] | |
Variables | Po kliknięciu uruchomi się okno z opcją tworzenia, edytowania i usuwania zmiennych paczki [UDA] | |
Parameters | Po kliknięciu uruchomi się okno z opcją tworzenia edycji, usuwania parametrów wejściowych i wyjściowych |
Czym są [Parameters] ?
Parameters to zmienne do których przekazywane są dane wejściowe z procesu Nintex Workflow i dane wyjściowe po przetworzeniu przez zestaw [UDA].
input parameter = krzysztof kowalski ->|UDA| -> output parameters = Krzysztof Kowalski
- Aby paczka, nad którą pracujemy, działała poprawnie musimy stworzyć następujące zmienne i parametry:
Przykładowe dane | Rodzaj parametru (Direction) lub zmienna (Variable) | Typ (Type) | Wymagalność (Required) | Nazwa parametru (Name) lub zmiennej (Variable) | Przeznaczenie |
---|---|---|---|---|---|
i:0#.w|domena\user | -> Input | Text | Required | User | Login użytkownika, któremu mają zostać nadane uprawnienia |
7 | -> Input | Text | Required | Security group ID | Identyfikator grupy uprawnień. Identyfikator można pobrać po przejściu do grupy uprawnień. Znajduje się on w adresie URL np. (https://intranet.com/sites/demo/_layouts/15/people.aspx?Membership=7) |
OK | Output -> | Text | Outcome | Wynik operacji dodawania użytkownika do grupy | |
0x4193DA81F195B9BB8093E2B13A47 312C17911F41E1F921 1661E9E97188CC3689E A28B4E745A81BBB32E4B225 8907BD2049D81A6F89 BB26C65CFD80FE47F0495D,11 Aug 2017 12:07:50 -0000 | Variable | Multiple lines of text | varMstrXRequestDigest | Zmienna, do której zostanie zapisany token do bezpiecznego wywołania usług typu POST w ramach sesji. Token ważny jest przez 30 minut. | |
i:0#.w|domena\\user | Variable | Text | varStrUserLoginName | Zmienna, do której zostanie zapisana wartość po przetworzeniu przez akcję Regular Expression | |
For more information, please read this article: … | Output -> | Text | Errors | Służy do zapisu ewentualnych błędów występujących podczas przetwarzania |
- Przy użyciu przybornika znajdującego się z lewej strony, dodajemy akcję do zestawu [UDA].
Poniżej znajdują się akcje, które należy dodać do paczki [UDA].
Konfiguracja | Screen |
---|---|
1. Dodajemy akcję typu [Web Request] i przechodzimy do jej konfiguracji 2. W adresie URL wpisujemy: {Common:WebUrl}/_api/contextinfo 3. Wybieramy bądź wpisujemy nazwę użytkownika i hasło: a. Username: domena\user b. Password: xxxxxxxxxx *Możemy zdefiniować konto przy użyciu którego zostanie wykonana akcja za pomocą stałych przepływu pracy – w tym celu należy przejść do pod adres [_layouts/15/NintexWorkflow/ManageCredentials.aspx?Scope=Web] i dodać stałą typu Credential 4. Wybieramy metodę: POST 5. W polu Store result in ustawiamy zmienną: varMstrXRequestDigest 6. W sekcji Error handling: a. Capture errors ustawiamy na: Yes b. Store error text in ustawiamy parametr wychodzący: Errors 7. Zapisujemy akcję klikając Save. | |
1. Dodajemy akcję typu[Query XML] i przechodzimy do jej konfiguracji 2. W XML Source wybieramy: XML 3. W polu XML wpisujemy: {WorkflowVariable:varMstrXRequestDigest} 4. W proces using wybieramy: XPath 5. W polu Query wpisujemy: //*[local-name()=’FormDigestValue’] 6. W polu Store results in wybieramy zmienną: varMstrXRequestDigest 7. W sekcji Error handling: a. Capture errors ustawiamy na: Yes b. Store error text in ustawiamy parametr wychodzący: Errors 8. Zapisujemy akcję klikając Save. | |
1. Dodajemy akcję typu [Regular expression] i przechodzimy do jej konfiguracji 2. W pattern wpisujemy: \\ 3. W Operation wybieramy: a. Ignore case b. Replace text 4. W Replacement text wpisujemy: \ 5. W Input text wpisujemy: {WorkflowVariable:User} 6. W store result in wybieramy zmienną: varStrUserLoginName 7. Zapisujemy akcję klikając Save. | |
1. Dodajemy akcję typu [Web Request] i przechodzimy do jej konfiguracji 2. W adresie URL wpisujemy: {Common:WebUrl}/_api/web/sitegroups({WorkflowVariable:Security group ID})/users 3. Wybieramy bądź wpisujemy nazwę użytkownika i hasło: a. Username: domena\user b. Password: xxxxxxxxxx 4. Wybieramy metodę: POST 5. W polu Content type wpisujemy: application/json;odata=verbose 6. Klikamy w Add headers i dodajemy następujące nagłówki przy użyciu przycisku Add header: a. Accept – w polu Name wpisujemy: Accept, w polu Value wpisujemy: application/json;odata=verbose b. X-RequestDigest – w polu Name wpisujemy: X-RequestDigest, w polu Value wpisujemy: {WorkflowVariable:varMstrXRequestDigest} 7. W polu Content wpisujemy: { '__metadata’: { 'type’: 'SP.User’ }, 'LoginName’:'{WorkflowVariable:varStrUserLoginName}’ } 8. W polu Store result in ustawiamy parametr: Outcome 9. W sekcji Error handling: a. Capture errors ustawiamy na: Yes b. Store error text in ustawiamy parametr wychodzący: Errors 10. Zapisujemy akcję, klikając Save. |
- Po zakończeniu konfiguracji klikamy w przycisk Publish.
- Uzupełnimy informację o paczce i klikamy Submit.
Paczka zostaje opublikowana i jest dostępna do użycia w ramach procesów Nintex Workflow.
- Przechodzimy do procesu Nintex Worfklow, dodajemy dostępną opublikowaną paczkę [UDA].
- Przechodzimy do konfiguracji i ustawiamy parametry wejściowe i wyjściowe.
Po zakończeniu konfiguracji publikujemy proces Nintex Workflow i sprawdzamy czy zestaw [UDA] działa poprawnie.
Podsumowanie
Funkcjonalność User Defined Actions zwiększa elastyczności w procesach Nintex Workflow i znacząco zmniejsza ich złożoność. Wykorzystanie zestawów [UDA] w procesach może przynieść bardzo wymierne korzyści w postaci zmniejszenia nakładu potrzebnego na wdrażania i zarządzania procesami Nintex Workflow.
W kolejnym artykule poruszymy tematykę zarządzanie zestawami User Defined Actions.
Zostaw komentarz