Dotyczy wersji 2020.1.3.x autor: Paweł Fijał
Wprowadzenie
Tworząc proces obiegu dokumentów w WEBCON BPS możemy napotkać sytuację, gdzie chcielibyśmy, aby załącznik dodany na formularzu mógł być przetrzymywany w chmurze tak, aby otrzymały do niego dostęp określone osoby, inne niż te biorące udział w samym procesie. Zależy nam bowiem, aby osoba taka miała dostęp do załącznika, ale nie miała możliwości podglądu informacji na formularzu. Poniżej opisano przykład prostego formularza pracownika, dla którego chcemy umieścić załącznik z odcinkiem wypłaty w OneDrive dla konta tego użytkownika.
Na potrzeby artykułu utworzony został prosty obieg według poniższego schematu.
Rys. 1. Schemat obiegu
Etapy konfiguracji:
1.Konfiguracja pomocniczych reguł biznesowych
W celu konfiguracji akcji wysyłki załącznika zostały utworzone pomocnicze reguły biznesowe, które zwrócą typ, nazwę oraz zawartość załącznika.
Korzystając z wbudowanej w WEBCON BPS funkcji „CONTENT TYPE” w zapytaniu SQL zostaną zwrócone ID załącznika dodanego do kategorii „Share” na formularzu.
Rys. 2. Reguła biznesowa zwracająca content załącznika przy pomocy funkcji „Content Type”
Druga reguła biznesowa zwróci nazwę, pod jaką będzie umieszczony nasz załącznik na OneDrive. Nazwę pliku można ustawić dowolną zgodnie z zasadami tworzenia nazw plików, ale dla opisanego przykładu nazwa pozostanie jak w oryginalnym załączniku.
Rys. 3. Reguła biznesowa zwracająca nazwę załącznika
2. Ścieżka z akcjami
Na kroku „Active” została dodana dedykowana ścieżka „Send the attachment via OneDrive”, na której dodano akcję wywołania serwisu REST i pobrania ID dysku pracownika, wysyłki załącznika do OneDrive oraz usunięcia załącznika z formularza.
Rys. 4. Widok akcji wykonywanych na ścieżce „Send the attachment via OneDrive”
3. Konfiguracja akcji.
a) Konfiguracja akcji pobrania ID dysku pracownika wykorzystujące metodę GET oraz wcześniej zdefiniowane połączenie do Graph, które zostało opisane m.in. w artykule https://kb.webcon.pl/integracja-z-aad-przy-pomocy-akcji-wywolania-rest-oraz-microsoft-graph/.
- Ustawienie połączenia do aplikacji utworzonej w Graph.
Rys. 5. W zakładce z autentykacji zostało wybrane skonfigurowane wcześnie połączenie do Graph
- URL do zasobu w OneDrive pracownika wybranego na formularzu, gdzie login powinien być jako UPN użytkownika.
Rys. 6. Zakładka „Request data” i URL do zasobu w OneDrive wybranego pracownika
- W zakładce „Response” ustawiono zwracanie ID zasobu (drive) do pola technicznego „_OneDriveID”.
Rys. 7. Ustawienie w konfiguracji odpowiedzi z serwisu ID zasobu do pola technicznego "_OneDriveID"
b) W kolejnej akcji przekazywany jest załącznik przy pomocy metody PUT:
- Konfiguracja połączenia taka sama jak dla akcji pobrania ID dysku pracownika.
- W zakładce „Request Data” zdefiniowano ścieżkę wywołania serwisu, gdzie w URL wykorzystujemy wartość z pola technicznego, do którego zostało zwrócone ID dysku pracownika oraz reguła biznesowa zwracająca nazwę pliku. W tym przypadku załącznik przesyłany jest do katalogu głównego zasobu pracownika co zdefiniowano na „sztywno” poprzez wpisanie /root: w ścieżce wywołania.
Rys. 8. Wybrana metoda PUT oraz zdefiniowany URL serwisu
- W polu „Body type” została wybrana wartość „Binary”. W części nagłówkowej komunikatu wykorzystano wcześniej utworzoną regułę biznesową „Content-Type_Share”, a w polu „Binary part value” zwracamy ID naszego załącznika z tabeli załączników za pomocą zapytania SQL.
Rys. 9. Konfiguracja zakładki „Request body" akcji przesłania załącznika
c) Ze względu na przechowywanie załączników na dysku OneDrive nie ma powodów na przechowywanie ich dodatkowo w bazie. Dodanie akcji usuwania wszystkich załączników z kategorii „Share” z wybraną opcją pozostawienia historii załącznika pozwoli na zaoszczędzenie miejsca w bazie przy jednoczesnym pozostawieniu śladu w historii dokumentu.
Rys. 10. Konfiguracja akcji usunięcia załącznika z kategorii „Share"
4. Działanie akcji w praktyce
Przykład wybieranym na formularzu pracownikiem w polu „Employee” i dodanym odcinkiem z wypłaty w postaci pliku .jpg w kategorii „Share”.
Rys. 11. Dodanie załącznika do kategorii „Share"
Po przejściu ścieżką „Send the attachment via OneDrive” załącznik został wysłany do zasobu pracownika w usłudze OneDrive i usunięty z formularza.
Rys. 12. Widok załączników w katalogu głównym OneDrive wybranego użytkownika
Rys. 13. Załącznik został usunięty, co widoczne jest na formularzu
Podsumowanie
Dzięki akcji wywołania serwisu REST w WEBCON BPS można przesyłać załączniki do usługi OneDrive do wybranego zasobu. Zasoby te można definiować dynamicznie dzięki czemu możemy załącznik przesłać w dedykowane miejsce lub statycznie, gdzie do wybranego zasobu uprawnienia ma wybrana grupa osób.