{"id":3050,"date":"2016-07-18T10:54:00","date_gmt":"2016-07-18T08:54:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=3050"},"modified":"2023-10-31T14:18:02","modified_gmt":"2023-10-31T13:18:02","slug":"nintex-workflow-tworzymy-nowy-proces","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/nintex-workflow-tworzymy-nowy-proces\/","title":{"rendered":"Nintex Workflow \u2013 tworzymy nowy proces"},"content":{"rendered":"\n<p>Zgodnie z zapowiedzi\u0105, w dzisiejszym artykule zaprezentowane zostanie tworzenie nowego procesu. Za przyk\u0142ad pos\u0142u\u017cy nam mocno uproszczony obieg wniosku urlopowego.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Rodzaje akceptacji<\/strong><\/h2>\n\n\n\n<p>SharePoint w po\u0142\u0105czeniu z <a href=\"http:\/\/sii.pl\/landing-page-offer\/przeplyw-prac\/\">Nintex Workflow<\/a> oferuje kilka mo\u017cliwych podej\u015b\u0107 do kwestii przep\u0142yw\u00f3w akceptacyjnych. Pierwszym z nich jest u\u017cycie normalnego dokumentu lub zbioru dokument\u00f3w oraz manipulacja uprawnieniami i metadanymi takimi jak status. W przypadku u\u017cycia innego produktu Nintex \u2013 Nintex Forms, istnieje mo\u017cliwo\u015b\u0107 dodania dodatkowych przycisk\u00f3w akcji (np. Zaakceptuj) na formularzu edycji pisma. Alternatywnie mo\u017cna po prostu ustawia\u0107 tak\u0105 warto\u015b\u0107 w trakcie edycji.<\/p>\n\n\n\n<p>Drugim (preferowanym) podej\u015bciem do przep\u0142yw\u00f3w akceptacji jest u\u017cycie mechanizmu zada\u0144. SharePoint oferuje mo\u017cliwo\u015b\u0107 personalnego przydzielania czynno\u015bci do wykonania w formie bytu nazywanego zadaniami. W trakcie budowania obiegu mo\u017cemy przyk\u0142adowo doda\u0107 krok tworz\u0105cy zadanie oraz zdefiniowa\u0107 jego tre\u015b\u0107 i adresata\/adresat\u00f3w. Zadania w kontek\u015bcie obieg\u00f3w w SharePoint s\u0105 zasadniczo pro\u015bb\u0105 o weryfikacj\u0119 i akceptacj\u0119 lub odrzucenie danego dokumentu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Planowanie przep\u0142ywu<\/strong><\/h2>\n\n\n\n<p>Rozpoczynaj\u0105c prac\u0119 nad automatyzacj\u0105 procesu, powinni\u015bmy ju\u017c na pocz\u0105tku okre\u015bli\u0107, jakie dane b\u0119d\u0105 przetwarzane, jacy aktorzy (uczestnicy procesu) b\u0119d\u0105 w nim wyst\u0119powa\u0107 oraz scenariusz biznesowy w formie schematu lub opisu przep\u0142ywu. Na potrzeby dzisiejszego wpisu przyjmiemy wersj\u0119 bardzo podstawow\u0105:<\/p>\n\n\n\n<p><strong>Dane<\/strong>: Uzasadnienie, Termin urlopu, Status wniosku<\/p>\n\n\n\n<p><strong>Aktorzy<\/strong>: Wnioskodawca, Prze\u0142o\u017cony<\/p>\n\n\n\n<p><strong>Scenariusz przep\u0142ywu:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>U\u017cytkownik sk\u0142ada wniosek urlopowy do akceptacji Prze\u0142o\u017conego.<\/li>\n<\/ol>\n\n\n\n<p>2a. Prze\u0142o\u017cony akceptuje wniosek.<\/p>\n\n\n\n<p>3a. Informacja o akceptacji zostaje przekazana Wnioskodawcy \u2013 zostaje wys\u0142ane powiadomienie email.<\/p>\n\n\n\n<p>2b. Prze\u0142o\u017cony odrzuca wniosek.<\/p>\n\n\n\n<p>3b. Informacja o odrzuceniu zostaje przekazana Wnioskodawcy \u2013 zostaje wys\u0142ane powiadomienie email.<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Zako\u0144czenie procesu.<\/li>\n<\/ol>\n\n\n\n<p>Posiadaj\u0105c wst\u0119pne za\u0142o\u017cenia, mo\u017cemy utworzy\u0107 &nbsp;list\u0119 lub bibliotek\u0119 dokument\u00f3w(w zale\u017cno\u015bci od potrzeb) oraz wyposa\u017cy\u0107 j\u0105 w niezb\u0119dne kolumny. Maj\u0105c przygotowany kontener oraz plan, mo\u017cemy zabra\u0107 si\u0119 za tworzenie pierwszej wersji naszego procesu w <a href=\"http:\/\/sii.pl\/offer-page\/sharepoint\/#uslugi\">Nintex Workflow<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Akcje jako kroki procesu<\/strong><\/h2>\n\n\n\n<p>G\u0142\u00f3wnym, a w\u0142a\u015bciwie jedynym <a href=\"https:\/\/sii.pl\/blog\/nintex-workflow-przyjazna-alternatywa-dla-ootb-sharepoint-workflows-cz-1\/?category=development-na-twardo&amp;tag=automation,automatyzacja,microsoft-sharepoint,nintex,sharepoint,workflow,workflows\" target=\"_blank\" rel=\"noopener\">elementem budowlanym procesu w Nintex Workflow s\u0105 przedstawione w poprzednim artykule akcje<\/a>. Stanowi\u0105 one \u201eszablon\u201d zaprogramowanych dzia\u0142a\u0144, kt\u00f3re w trakcie przebiegu procesu b\u0119d\u0105 wykonywane zgodnie ze zdefiniowan\u0105 kolejno\u015bci\u0105. Warto zaznaczy\u0107, \u017ce owy \u201eszablon\u201d jest w bardzo du\u017cej mierze parametryzowalny, a co za tym idzie, mo\u017ce spe\u0142ni\u0107 znacznie wi\u0119cej funkcji, b\u0105d\u017a by\u0107 wykorzystany inaczej ni\u017c sugerowa\u0142by to jego opis. Wszystko zale\u017cy od inwencji osoby tworz\u0105cej proces.<\/p>\n\n\n\n<p>Aby zrealizowa\u0107 opisany we wcze\u015bniejszej sekcji scenariusz, b\u0119dziemy potrzebowali co najmniej akcji wymienionych tabeli poni\u017cej.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Nazwa<\/strong><\/td><td><strong>Opis<\/strong><\/td><td><strong>Ikona<\/strong><\/td><\/tr><tr><td>Request approval<\/td><td>Akcja odpowiedzialna za delegowanie zada\u0144 na u\u017cytkownik\u00f3w systemu. Opr\u00f3cz samej konfiguracji sposobu i odbiorcy zadania, daje ona r\u00f3wnie\u017c zdefiniowania tre\u015bci oraz u\u017cytkownik\u00f3w, kt\u00f3rzy otrzymaj\u0105 zwi\u0105zane z ni\u0105 powiadomienia.<\/td><td>&nbsp;<img decoding=\"async\" class=\"size-full wp-image-3052 aligncenter\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/request-approval.png\" alt=\"request approval\" width=\"81\" height=\"96\"><\/td><\/tr><tr><td>Update list item<\/td><td>Akcja umo\u017cliwia aktualizacj\u0119 metadanych na procesowanym elemencie.<\/td><td>&nbsp;<img decoding=\"async\" class=\"size-full wp-image-3054 aligncenter\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/update-item1.png\" alt=\"update item\" width=\"99\" height=\"86\"><\/td><\/tr><tr><td>Send notification<\/td><td>Akcja s\u0142u\u017cy do wysy\u0142ania powiadomie\u0144 mailowych.<\/td><td>&nbsp;<a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/notification.png\"><img decoding=\"async\" class=\"size-full wp-image-3055 aligncenter\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/notification.png\" alt=\"notification\" width=\"84\" height=\"81\"><\/a><\/td><\/tr><tr><td>Log in history list<\/td><td>Akcja pozwala na utworzenie spersonalizowanego zapisu w historii przep\u0142ywu procesowanego elementu.<\/td><td>&nbsp;<a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/log.png\"><img decoding=\"async\" class=\"size-full wp-image-3056 aligncenter\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/log.png\" alt=\"log\" width=\"109\" height=\"97\"><\/a><\/td><\/tr><tr><td>End workflow<\/td><td>Akcja finalizuje przep\u0142yw.<\/td><td><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/end-workflow.png\"><img decoding=\"async\" class=\"size-full wp-image-3057 aligncenter\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/end-workflow.png\" alt=\"end workflow\" width=\"101\" height=\"82\"><\/a><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/end-workflow.png\"><br><\/a><\/td><\/tr><tr><td>Action set<\/td><td>Kontener s\u0142u\u017c\u0105cy do grupowania innych akcji. Zgrupowanie akcje mo\u017cna p\u00f3\u017aniej zapisa\u0107 jako \u201eSnippet\u201d, mo\u017cliwy do u\u017cycia w innym przep\u0142ywie. Action set umo\u017cliwia r\u00f3wnie\u017c wymuszenie realizacji zawartych w nim akcji jako tw\u00f3rca przep\u0142ywu (wy\u017csze uprawnienia).<\/td><td>&nbsp;<img decoding=\"async\" class=\"size-full wp-image-3058 aligncenter\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/action-set.png\" alt=\"action set\" width=\"101\" height=\"79\"><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Zestawy akcji<\/strong><\/h2>\n\n\n\n<p>Na pocz\u0105tku warto zacz\u0105\u0107 tworzenie przep\u0142ywu od dodania elementu Action set.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/001_action-set1.png\"><img decoding=\"async\" width=\"643\" height=\"221\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/001_action-set1.png\" alt=\"001_action set\" class=\"wp-image-3061\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/001_action-set1.png 643w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/001_action-set1-300x103.png 300w\" sizes=\"(max-width: 643px) 100vw, 643px\" \/><\/a><\/figure>\n\n\n\n<p>W g\u0142\u00f3wnym oknie konfiguracji mamy mo\u017cliwo\u015b\u0107 jedynie wyboru nazwy, kt\u00f3ra przy przep\u0142ywach bardziej z\u0142o\u017conych pomo\u017ce nam zlokalizowa\u0107 odpowiedni kawa\u0142ek przep\u0142ywu, kt\u00f3ry wymaga dodatkowych poprawek lub korekt. Dodatkowo, istnieje mo\u017cliwo\u015b\u0107 w\u0142\u0105czenia\/wy\u0142\u0105czenia wy\u015bwietlania jego zawarto\u015bci zwi\u0119kszaj\u0105c czytelno\u015b\u0107 ca\u0142ego schematu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/002_action-set-workflow-owner.png\"><img decoding=\"async\" width=\"635\" height=\"581\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/002_action-set-workflow-owner.png\" alt=\"002_action set workflow owner\" class=\"wp-image-3062\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/002_action-set-workflow-owner.png 635w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/002_action-set-workflow-owner-300x274.png 300w\" sizes=\"(max-width: 635px) 100vw, 635px\" \/><\/a><\/figure>\n\n\n\n<p>Naci\u015bni\u0119cie przycisku <strong>Common <\/strong>przenosi nas do okna \u201ekonfiguracji zaawansowanej\u201d, umo\u017cliwiaj\u0105cej m.in. zdefiniowanie komunikatu logowanego po zako\u0144czeniu wykonywania Action setu, czy te\u017c wspomniane wcze\u015bniej ustawienie wykonania Action setu z u\u017cyciem uwierzytelnie\u0144 u\u017cytkownika tworz\u0105cego przep\u0142yw.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Statusowanie<\/strong><\/h2>\n\n\n\n<p>Realizowany scenariusz zak\u0142ada 3 mo\u017cliwe do uzyskania stany procesu oraz stan pocz\u0105tkowy \u201eUtworzony\u201d, kt\u00f3ry jest ustawiany domy\u015blnie przy tworzeniu elementu na li\u015bcie. Stany (statusy) ustawiane b\u0119d\u0105 za pomoc\u0105 akcji Update list item, kt\u00f3rej konfiguracja przedstawiona jest na poni\u017cszym zrzucie ekranu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/06_update_itemAction.png\"><img decoding=\"async\" width=\"777\" height=\"332\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/06_update_itemAction.png\" alt=\"06_update_itemAction\" class=\"wp-image-3063\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/06_update_itemAction.png 777w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/06_update_itemAction-300x128.png 300w\" sizes=\"(max-width: 777px) 100vw, 777px\" \/><\/a><\/figure>\n\n\n\n<p>Akcja posiada bardzo prost\u0105 konfiguracj\u0119. Jedynymi warto\u015bciami, kt\u00f3re musimy ustawi\u0107 s\u0105:<\/p>\n\n\n\n<p>&#8211; element kt\u00f3ry b\u0119dzie podlega\u0142 modyfikacji (list item, document, itp.),<\/p>\n\n\n\n<p>&#8211; modyfikowana kolumna (mo\u017ce zosta\u0107 wskazana wi\u0119cej ni\u017c jedna).<\/p>\n\n\n\n<p>Nasze akcje zmiany statusu umieszczone zostan\u0105:<\/p>\n\n\n\n<p>&#8211; Przekazany do akceptacji \u2013&nbsp; od razu przed akcj\u0105 Akceptacji prze\u0142o\u017conego,<\/p>\n\n\n\n<p>&#8211; Odrzucony \u2013 od razu po akcji Akceptacji prze\u0142o\u017conego (w razie negatywnego rozpatrzenia),<\/p>\n\n\n\n<p>&#8211; Zaakceptowany \u2013 od razu po akcji Akceptacji prze\u0142o\u017conego (w razie pozytywnego rozpatrzenia).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Logowanie<\/strong><\/h2>\n\n\n\n<p>Akcja Log in history list pozwala na tworzenie wpis\u00f3w w historii danego przep\u0142ywu, powi\u0105zanej z procesowanym elementem. Jest to g\u0142\u00f3wny mechanizm, kt\u00f3re przy odpowiednim u\u017cyciu pozwoli u\u017cytkownikowi zachowa\u0107 pe\u0142n\u0105 \u015bwiadomo\u015b\u0107, na jakim etapie jest aktualnie proces.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/LogInHistoryList-e1468421770257.png\"><img decoding=\"async\" width=\"840\" height=\"350\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/LogInHistoryList-e1468421770257.png\" alt=\"LogInHistoryList\" class=\"wp-image-3064\"\/><\/a><\/figure>\n\n\n\n<p>Konfiguruj\u0105c akcj\u0119 mamy mo\u017cliwo\u015b\u0107 wpisania w\u0142asnego tekstu, jak r\u00f3wnie\u017c dodania referencji do metadanych, skonfigurowanych referencji lub utworzonych w trakcie przep\u0142ywu zmiennych tymczasowych.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/InsertReference.png\"><img decoding=\"async\" width=\"717\" height=\"738\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/InsertReference.png\" alt=\"InsertReference\" class=\"wp-image-3065\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/InsertReference.png 717w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/InsertReference-291x300.png 291w\" sizes=\"(max-width: 717px) 100vw, 717px\" \/><\/a><\/figure>\n\n\n\n<p>Dobr\u0105 praktyk\u0105 jest logowanie ka\u017cdego istotnego dla procesu kroku, a w fazie developmentu \u2013 &nbsp;dos\u0142ownie ka\u017cdego miejsca, kt\u00f3rego nie jeste\u015bmy pewni na 100%. Mo\u017ce to p\u00f3\u017aniej oszcz\u0119dzi\u0107 nam wielu zb\u0119dnych poszukiwa\u0144 \u201ena o\u015blep\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Akceptacja<\/strong><\/h2>\n\n\n\n<p>Kolejnym krokiem, kt\u00f3ry bezwarunkowo musi pojawi\u0107 si\u0119 w naszym procesie, jest wys\u0142anie pro\u015bby o akceptacj\u0119 osoby decyzyjnej. Po przeci\u0105gni\u0119ciu akcji na diagram, pierwszym, co rzuca si\u0119 w oczy jest fakt, \u017ce diagram zosta\u0142 rozdzielony na dwie cz\u0119\u015bci \u2013 Approved i Rejected. W zale\u017cno\u015bci od wyniku akcji proces b\u0119dzie pod\u0105\u017ca\u0142 dalej tylko jedn\u0105 \u015bcie\u017ck\u0105. Poni\u017cszy zrzut przedstawia okno konfiguracji akcji Request approval.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/07_AssignTaskAction.png\"><img decoding=\"async\" width=\"708\" height=\"771\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/07_AssignTaskAction.png\" alt=\"07_AssignTaskAction\" class=\"wp-image-3066\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/07_AssignTaskAction.png 708w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/07_AssignTaskAction-275x300.png 275w\" sizes=\"(max-width: 708px) 100vw, 708px\" \/><\/a><\/figure>\n\n\n\n<p>Akceptacja w Nintex Workflow posiada szerokie mo\u017cliwo\u015bci konfiguracyjne. Mo\u017cemy ustawi\u0107 tylko jednego\/wielu odbiorc\u00f3w, grup\u0119 AD lub SP, tryb \u201eg\u0142osowania\u201d, itp. Zar\u00f3wno pole dotycz\u0105ce opisu zadania, jak te\u017c lista decydent\u00f3w zawiera mo\u017cliwo\u015b\u0107 odwo\u0142ania si\u0119 do referencji, takiej jak Manager ustawiony w Active Directory czy Autor wniosku (zrzut ekranu). Dodatkowo okre\u015blamy nazw\u0119 zadania, kt\u00f3re pojawi si\u0119 na li\u015bcie zada\u0144 osoby akceptuj\u0105cej oraz termin, do kt\u00f3rego powinna zosta\u0107 podj\u0119ta decyzja.<\/p>\n\n\n\n<p>Opr\u00f3cz konfiguracji podstawowej, u\u017cytkownik tworz\u0105cy przep\u0142yw mo\u017ce r\u00f3wnie\u017c sformu\u0142owa\u0107 w\u0142asne notyfikacj\u0119 w dw\u00f3ch kategoriach na:<\/p>\n\n\n\n<p>&#8211; Task Notification &#8211; dotycz\u0105ce przydzielonego zadania,<\/p>\n\n\n\n<p>&#8211; Not Required Notification &#8211; informuj\u0105ce o tym, \u017ce akceptacja nie jest ju\u017c konieczna (np. w przypadku, gdy zaakceptowa\u0107 wniosek musi tylko jedna osoba).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/RequestApprovalAction.png\"><img decoding=\"async\" width=\"744\" height=\"804\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/RequestApprovalAction.png\" alt=\"RequestApprovalAction\" class=\"wp-image-3067\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/RequestApprovalAction.png 744w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/RequestApprovalAction-278x300.png 278w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/a><\/figure>\n\n\n\n<p>U\u017cytkownik mo\u017ce w tym miejscu okre\u015bli\u0107 nadawc\u0119, zdefiniowa\u0107 ewentualne kopie wiadomo\u015bci, utworzy\u0107 dynamicznie generowany temat wiadomo\u015bci (r\u00f3wnie\u017c przy u\u017cyciu relacji) oraz jej tre\u015b\u0107.<\/p>\n\n\n\n<p>Odpowiednio skonfigurowany Nintex pozwala r\u00f3wnie\u017c na akceptacj\u0119 wniosku poprzez tzw. LazyApproval, czyli akceptacj\u0119 poprzez naci\u015bni\u0119cie przycisku zamieszczonego w mailu, lecz nie jest to ju\u017c temat na dzisiejszy artyku\u0142.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Powiadomienia mailowe<\/strong><\/h2>\n\n\n\n<p>Akcja Send notification, w przeciwie\u0144stwie do notyfikacji wysy\u0142anych w akcji Request approval, mo\u017ce by\u0107 bezwarunkowo dodana w ka\u017cdym miejscu procesu. Mo\u017cemy w niej skonfigurowa\u0107 w wi\u0119kszo\u015bci takie same parametry jak przy pro\u015bbie o akceptacj\u0119, czyli Adresata, Adresata kopii, Nadawc\u0119, Tre\u015b\u0107 wraz z referencjami do zmiennych.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/MailNofificationAction.png\"><img decoding=\"async\" width=\"978\" height=\"785\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/MailNofificationAction.png\" alt=\"MailNofificationAction\" class=\"wp-image-3068\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/MailNofificationAction.png 978w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/MailNofificationAction-300x241.png 300w\" sizes=\"(max-width: 978px) 100vw, 978px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sk\u0142adamy i publikujemy<\/strong><\/h3>\n\n\n\n<p>Grupuj\u0105c i ustawiaj\u0105c opisane powy\u017cej akcje w odpowiedniej kolejno\u015bci, otrzymamy schemat procesu podobny do zamieszczonego na zrzucie ekranu obok.<\/p>\n\n\n\n<p>Rzu\u0107my okiem, w jaki spos\u00f3b przek\u0142ada nam si\u0119 to na zak\u0142adany proces:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>L.p<\/strong><\/td><td><strong>Krok<\/strong><\/td><td><strong>Akcje realizuj\u0105ce krok<\/strong><\/td><\/tr><tr><td>1<\/td><td>Przekazanie do akceptacji<\/td><td>Ustawienie statusu \u201ePrzekazany do akceptacji\u201d, Log, Akceptacja prze\u0142o\u017conego<\/td><\/tr><tr><td>2a<\/td><td>Akceptacja wniosku<\/td><td>Akceptacja prze\u0142o\u017conego,<br>Ustawienie statusu \u201eZaakceptowany\u201d<\/td><\/tr><tr><td>3a<\/td><td>Przekazanie informacji Wnioskodawcy<\/td><td>Powiadomienie email, log<\/td><\/tr><tr><td>2b<\/td><td>Odrzucenie wniosku<\/td><td>Akceptacja prze\u0142o\u017conego,<br>Ustawienie statusu \u201eZaakceptowany\u201d<\/td><\/tr><tr><td>3b<\/td><td>Przekazanie informacji Wnioskodawcy<\/td><td>Powiadomienie email, log<\/td><\/tr><tr><td>4<\/td><td>Zako\u0144czenie procesu<\/td><td>End workflow<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Posiadaj\u0105c potencjalnie gotowy proces, ostatnim krokiem dziel\u0105cym u\u017cytkownik\u00f3w SharePoint ze skorzystania z naszego dzie\u0142a jest jego zapis i publikacja. W Nintex Workflows funkcjonuj\u0105 wersje minor (0.1, 0.2, etc.) oraz major (1.0, 2.0). Po standardowym zapisie tworzona jest wersja minor, natomiast przy publikacji \u2013 major.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/cz1.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" width=\"74\" height=\"300\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/cz1-74x300.png\" alt=\"cz1\" class=\"wp-image-3069\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/cz1-74x300.png 74w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/cz1-252x1024.png 252w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/cz1.png 307w\" sizes=\"(max-width: 74px) 100vw, 74px\" \/><\/a><\/figure>\n\n\n\n<p>Aby opublikowa\u0107 przep\u0142yw, nale\u017cy nacisn\u0105\u0107 przycisk Publish <img decoding=\"async\" width=\"54\" height=\"74\" class=\"alignnone size-full wp-image-3071\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/publish-button.png\" alt=\"publish button\">oraz uzupe\u0142ni\u0107 wy\u015bwietlony formularz zapisu zawieraj\u0105cy pola przeznaczone na Tytu\u0142, Opis procesu oraz opis zmian wprowadzonych w wersji. Warty zaznaczenia jest fakt, \u017ce dzi\u0119ki wersjonowaniu mo\u017cemy nie tylko cofn\u0105\u0107 si\u0119 do dowolnej kopii archiwalnej, ale r\u00f3wnie\u017c doko\u0144czy\u0107 aktywne przep\u0142ywy nawet wtedy, gdy nowy zosta\u0142 ju\u017c opublikowany i jest w u\u017cyciu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/10\/publish-300x244-1.png\"><img decoding=\"async\" width=\"300\" height=\"244\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/10\/publish-300x244-1.png\" alt=\"\" class=\"wp-image-25364\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jazda pr\u00f3bna<\/strong><\/h2>\n\n\n\n<p>Po opublikowaniu, przep\u0142yw dost\u0119pny b\u0119dzie do u\u017cytku uprawnionych u\u017cytkownik\u00f3w. W zale\u017cno\u015bci od ustawie\u0144 mog\u0105 to by\u0107 u\u017cytkownicy z pe\u0142n\u0105 kontrol\u0105 na li\u015bcie lub z uprawnieniami Contribute. Temat uprawnie\u0144 zostanie dok\u0142adniej poruszony w jednej z kolejnych cz\u0119\u015bci \u2013 na razie przejd\u017amy jednak do wypr\u00f3bowania przep\u0142ywu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/utworzony.png\"><img decoding=\"async\" width=\"795\" height=\"92\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/utworzony.png\" alt=\"StatusUtworzony\" class=\"wp-image-3073\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/utworzony.png 795w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/utworzony-300x35.png 300w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/a><\/figure>\n\n\n\n<p>Nasz proces rozpoczynany jest utworzeniem wniosku. Jak wida\u0107 na zrzucie za\u0142\u0105czonym powy\u017cej, pismo przyjmuje zaraz po utworzeniu status \u201eUtworzony\u201d \u2013 wynika to z konfiguracji listy. Aby uruchomi\u0107 opublikowany wcze\u015bniej przep\u0142yw, mo\u017cemy \u2013 o ile zosta\u0142o to skonfigurowane wcze\u015bniej \u2013 u\u017cy\u0107 przycisku w menu kontekstowym elementu lub pos\u0142u\u017cy\u0107 si\u0119 akcjami z ribbona. Jako \u017ce menu kontekstowego w tym przypadku nie konfigurowali\u015bmy, zaznaczamy interesuj\u0105cy nas wniosek, przechodzimy do zak\u0142adki Items oraz naciskamy przycisk Workflows.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/workflowsButton.png\"><img decoding=\"async\" width=\"61\" height=\"65\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/workflowsButton.png\" alt=\"workflowsButton\" class=\"wp-image-3074\"\/><\/a><\/figure>\n\n\n\n<p>Naci\u015bni\u0119cie przycisku powoduje wy\u015bwietlenie strony zawieraj\u0105cej list\u0119 przep\u0142yw\u00f3w workflow mo\u017cliwych do uruchomienia na elemencie oraz histori\u0119 tych uruchamianych wcze\u015bniej.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/Itemworkflows.png\"><img decoding=\"async\" width=\"1186\" height=\"525\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/Itemworkflows.png\" alt=\"Itemworkflows\" class=\"wp-image-3075\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/Itemworkflows.png 1186w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/Itemworkflows-300x133.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/Itemworkflows-1024x453.png 1024w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/a><\/figure>\n\n\n\n<p>Aby uruchomi\u0107 przep\u0142yw, nale\u017cy nacisn\u0105\u0107 jego nazw\u0119 oraz potwierdzi\u0107, naciskaj\u0105c przycisk Start.<\/p>\n\n\n\n<p>Pierwsze efekty przep\u0142ywu mo\u017cemy zaobserwowa\u0107 od razu na li\u015bcie.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/status2.png\"><img decoding=\"async\" width=\"879\" height=\"68\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/status2.png\" alt=\"StatusPrzekazany\" class=\"wp-image-3076\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/status2.png 879w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/status2-300x23.png 300w\" sizes=\"(max-width: 879px) 100vw, 879px\" \/><\/a><\/figure>\n\n\n\n<p>Zgodnie ze zdefiniowanym przez nas procesem, wniosek zostaje przekazany do akceptacji oraz uzyskuje status \u201ePrzekazany do akceptacji\u201d, natomiast do u\u017cytkownika akceptuj\u0105cego zostaje wys\u0142ana wiadomo\u015b\u0107 z pro\u015bb\u0105 o akceptacj\u0119, kt\u00f3rej tre\u015b\u0107 zaprezentowana jest na poni\u017cszym zrzucie ekranu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/kowalskiMail-e1468424274889.png\"><img decoding=\"async\" width=\"840\" height=\"123\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/kowalskiMail-e1468424274889.png\" alt=\"MailManagerMessage\" class=\"wp-image-3079\"\/><\/a><\/figure>\n\n\n\n<p>Ustawione w tre\u015bci akcji referencje zostaj\u0105 uzupe\u0142nione warto\u015bciami skonfigurowanymi w systemie.<\/p>\n\n\n\n<p>Po naci\u015bni\u0119ciu linka u\u017cytkownik zostaje przeniesiony na stron\u0119 akceptacji wniosku.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/akceptacjaFormatka.png\"><img decoding=\"async\" width=\"1210\" height=\"707\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/akceptacjaFormatka.png\" alt=\"ApprovalForm\" class=\"wp-image-3077\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/akceptacjaFormatka.png 1210w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/akceptacjaFormatka-300x175.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/akceptacjaFormatka-1024x598.png 1024w\" sizes=\"(max-width: 1210px) 100vw, 1210px\" \/><\/a><\/figure>\n\n\n\n<p>U\u017cytkownik akceptuj\u0105cy mo\u017ce w tym miejscu zapozna\u0107 si\u0119 z informacjami na temat wniosku, odczyta\u0107 za\u0142\u0105cznik (o ile takowy istnieje), oddelegowa\u0107 zadanie na innego u\u017cytkownika decyzyjnego oraz uzupe\u0142ni\u0107 komentarz i zaakceptowa\u0107\/odrzuci\u0107 wniosek. Przyjmijmy, \u017ce u\u017cytkownik akceptuje wniosek (wybiera Approved i naciska przycisk OK).<\/p>\n\n\n\n<p>Rezultat tej czynno\u015bci jest niezw\u0142ocznie przekazywany do wiadomo\u015bci wnioskodawcy za pomoc\u0105 zdefiniowanej wcze\u015bniej wiadomo\u015bci email, czyli w tym przypadku:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/mailAccepted-e1468424387634.png\"><img decoding=\"async\" width=\"840\" height=\"160\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/mailAccepted-e1468424387634.png\" alt=\"ApprovedMailmessage\" class=\"wp-image-3081\"\/><\/a><\/figure>\n\n\n\n<p>Efekt dzia\u0142ania manifestuje si\u0119 r\u00f3wnie\u017c na li\u015bcie wniosk\u00f3w urlopowych, gdzie mo\u017cemy zaobserwowa\u0107 zmian\u0119 statusu wniosku na \u201eZaakceptowany\u201d. Proces jest zako\u0144czony.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/zaakceptowanyStatus.png\"><img decoding=\"async\" width=\"823\" height=\"82\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/zaakceptowanyStatus.png\" alt=\"zaakceptowanyStatus\" class=\"wp-image-3082\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/zaakceptowanyStatus.png 823w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/07\/zaakceptowanyStatus-300x30.png 300w\" sizes=\"(max-width: 823px) 100vw, 823px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Przedstawiony proces jest bardzo uproszczony i mo\u017cna go udoskonali\u0107 o wiele mechanizm\u00f3w, takich jak przes\u0142anie do ponownej akceptacji, maszyna stan\u00f3w, kt\u00f3ra by\u0142aby bardziej podatna na rozw\u00f3j przep\u0142ywu czy chocia\u017cby konfiguracja odpalania workflow z menu kontekstowego \u2013 mo\u017cliwo\u015bci jest mn\u00f3stwo.<\/p>\n\n\n\n<p>Tworzenie w\u0142asnych przep\u0142yw\u00f3w przy u\u017cyciu Nintex Workflows nie jest a\u017c tak skomplikowane, jak mog\u0142oby si\u0119 to wydawa\u0107. Oczywi\u015bcie, stan po\u017c\u0105dany rzadko kiedy udaje si\u0119 uzyska\u0107 przy pierwszej publikacji przep\u0142ywu i konieczne jest prze\u015bledzenie, co i gdzie mog\u0142o si\u0119 nie uda\u0107, czyli co nale\u017cy zmieni\u0107. W du\u017cej ilo\u015bci przypadk\u00f3w sprawnie rozlokowane tre\u015bciwych log\u00f3w jest w stanie bardzo pom\u00f3c w analizie problem\u00f3w z przep\u0142ywami. Je\u017celi jednak i to zawiedzie \u2013 polecam Sii \ud83d\ude09<\/p>\n\n\n\n<p>Na nast\u0119pn\u0105 cz\u0119\u015b\u0107 planowany jest temat log\u00f3w, uprawnie\u0144 i kwestii konfiguracyjnych przep\u0142ywu.<\/p>\n\n\n\n<p>Do nast\u0119pnego!<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;3050&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;1&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( vote: 1)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Nintex Workflow \u2013 tworzymy nowy proces&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( vote: 1)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Zgodnie z zapowiedzi\u0105, w dzisiejszym artykule zaprezentowane zostanie tworzenie nowego procesu. Za przyk\u0142ad pos\u0142u\u017cy nam mocno uproszczony obieg wniosku urlopowego. &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/nintex-workflow-tworzymy-nowy-proces\/\">Continued<\/a><\/p>\n","protected":false},"author":102,"featured_media":2741,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":6,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[56,351,149,346],"class_list":["post-3050","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-sharepoint","tag-nintex","tag-obieg-dokumentow","tag-workflow"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/05\/nintex.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/3050"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/102"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=3050"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/3050\/revisions"}],"predecessor-version":[{"id":25366,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/3050\/revisions\/25366"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/2741"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=3050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=3050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=3050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}