Top

Praca z Nintex dla Office 365 REST API używając Azure Functions

Będąc wciąż pod dużym wrażeniem możliwości, jakie dają Azure Functions, postanowiłem zbudować w końcu rozwiązanie dla Nintex Workflow w Office 365, które pozwoli mi publikować zapisane wcześniej przepływy pracy w różnych listach w danej witrynie. Dotąd, by osiągnąć ten cel, używałem PowerShell lub aplikacji takich jak Postman czy Fiddler. Jednak zależało mi na tym, by mieć jeden przepływ pracy, który całą tę magię wykona za mnie.

SharePoint Designer Splash Screen

How To: Prosty newsletter z użyciem SharePoint Designer 2013

Dłuższy czas temu zostałem poproszony o przemyślenie możliwości zbudowania mechanizmu do notyfikowania pracowników aplikacji zbudowanej na SharePoint 2013 o zmianach w niej wprowadzanych. Jednak, nie chodziło o używanie alertów, czy też tworzenie dedykowanego rozwiązania. Klientowi chodziło o coś w rodzaju newslettera, którym mógłby wysyłać wiadomości w formacie HTML do wybranych użytkowników lub grup użytkowników swojej aplikacji i ogólnie mających dostęp i konta w SharePoint (ale również i z poza organizacji).

Nintex Workflow Cloud Xtensions

Xtensions – Nintex Workflow Cloud staje się rozszerzalny

Nintex zapowiedział tę innowację kilka miesięcy temu podczas koferencji InspireX w Nowym Orelanie (luty tego roku). Podczas swojej prezentacji „Extensibility on the Nintex Workflow Platform” Vadim TabakamBrad Orluk, a potem na Blogu Nintex zostały pokazane i opisane pierwsze wrażenia z nowej funkcji.

Aktualnie funkcja dostępna jest wyłącznie w tzw. „Beta preview”. Czym jest? Nintex nazywa to „extensibility framework”. Jest to narzędzie, które pozwala klientom na dodawanie do Nintex Workflow Cloud własnych RESTowych endpointów, które następnie są „zamykane” w gotowe do użycia akcje. Jak to działa?

Jak zaimportować dane z pliku XLSX do SharePoint przy pomocy Nintex i Microsoft Flow

W Nintex dla on-premisowych wersji SharePoint począwszy od 2010 (nawet w edycjach Standard) możliwe było używanie akcji, które pozwalały na wołanie Excel Services dostępnych na platformie SharePoint i w ten sposób na pracę z danymi, z plików xls i xlsx. Jednak w SharePoint Online ta usługa nie jest dostępna (ok, można z niej korzystać poprzez REST API, jednak nie w takim zakresie, jak można w on-premise), nie istnieje też możliwość skorzystania z niej poprzez dostępne akcje w Nintex for Office 365 czy Nintex Workflow Cloud. Zatem nie istnieje prosty sposób, by zrealizować taki scenariusz. Nasunęło mi się pytanie (zainspirowane licznymi z kolei pytaniami stawianymi na forum Community Nintex), w jaki sposób można to zrobić?

Najczęściej mawianym obejściem było zapisanie pliku xlsx do formatu csv, a następnie odczytanie jego zawartości i przetwarzanie jej poprzez użycie kolekcji (planuję napisać o tym oddzielny post).

Jednak ostatnio zauważyłem, że Microsoft Flow posiada już dostępne akcje, które właśnie używają Excel Services dostępnych w SharePoint Online. Co więcej, każdy ma dostęp do bezpłatnej wersji Microsoft Flowi tych akcji również. Teraz nie pozostało mi nic, tylko spróbować.

Praca z obiekatmi autoryzacyjnymi w Nintex dla Office 365 (RequestDigest, FedAuth, rtFa)

Ostatnio rozpocząłem testowanie dostępnego w Nintex dla O365 RESTful API (http://help.nintex.com/en-us/sdks/sdko365/) z poziomu samych przepływów pracy (nie np. PowerShell, czy C#). Pomimo tego, że nie wszystkie metody działają poprawnie (np. zapisywanie wskazywanego przepływu jako nowy), z uwagi na fakt, iż akcja „Web Request” nie wspiera jeszcze przekazywania danych w postaci stringów binarnych i zwyczajnie wycina puste bajty (0x00), co w efekcie powoduje, że przekazywany do API plik jest niepoprawny, jednak u samych podstaw tych eksperymentów natrafiłem na inne wyzwanie. Mianowicie, w jaki sposób, z poziomu przepływu pracy tworzonego w Nintex, dostać się do wartości ciastek FedAuth i rtFa?

Czytałem artykuły, przeglądałem Stackoverflow w poszukiwaniu podobnych tematów, starając się znaleźć odpowiedź na pytanie, w jaki sposób można pobrać ciastka przy pomocy JavaScript. Traciłem już nadzieję i wówczas na trafiłem na ten cenny artykuł: Remote authentication in SharePoint Online | … And All That JS i nagle wszystko stało się jasne 🙂

Niniejszy post prezentuje sposób na uzyskanie wartości trzech obiektów, których SharePoint używa w celu uwierzytelnienia sesji:

  1. fedAuth cookie
  2. rtFa cookie
  3. RequestDigest token