Dotyczy wersji 2020.1.x; autor: Michał Kastelik
Wprowadzenie
Platforma WEBCON BPS zapewnia rozbudowaną integrację z usługą Microsoft SharePoint Online. W artykule opisano w jaki sposób uruchomić obieg za pomocą standardowej listy SharePoint z wykorzystaniem zaawansowanego formatowania kolumny.
W przedstawionym scenariuszu lista SharePoint będzie służyła do uruchamiania obiegu zapraszania osób na konferencję – po wpisaniu imienia oraz nazwiska będzie uruchamiany obieg marketingowy. Aktualny status zgłoszenia będzie można obserwować na kolumnie w liście SharePoint.
Konfiguracja listy SharePoint
Lista składa się z następujących pól:
- pole Title – zawiera imię i nazwisko zapraszanej osoby
- pole Status – zawiera aktualny status zgłoszenia
- pole BPS URL – kolumna zawierająca link do uruchomionego elementu WEBCON BPS
- Start – kolumna umożliwiająca wystartowanie obiegu workflow
Aby uruchomić obieg WEBCON BPS z tej kolumny należy przejść do ustawień zaawansowanego formatowania kolumny.
Po kliknięciu na kolumnę należy wybrać opcję „Column settings” a następnie „Format this column” i „Advanced mode”. W konfiguracji wybierz pole, do którego ma być zastosowane formatowanie (w naszym przypadku jest to pole „Start”).
W kolejnym kroku należy wstawić kod JSON rozwiązania – kod ten dodaje obiekt po prawej stronie wartości kolumny zawierający ikonę oraz napis będący jednocześnie linkiem. W przypadku ikony wybrano jedną z dostępnych w zbiorze Microsoft Fluent UI o nazwie „Flow”
Pełna lista dostępnych ikon jest dostępna pod tym adresem: https://developer.microsoft.com/en-us/fluentui#/styles/web/icons.
Adres odnośnika który został wykorzystany w tym rozwiązaniu odnosi się do adresu startowego obiegu zdefiniowanego w środowisku WEBCON BPS.
W linku przekazujemy do obiegu także dodatkowe parametry takie jak:
- [$Title] – do pola AttText1 w naszym formularzu przekazujemy wartość pola Title
- [$ID] – do pola AttText4 formularza przekazujemy wartość ID wiersza listy
- https://webconbps.sharepoint.com/Lists/Start%20BPS%20list/DispForm.aspx?ID='+[$ID] – do pola AttText3 przekazujemy całego linka do elementu listy
Cały kod rozwiązania w naszym scenariuszu wygląda następująco:
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json",
"elmType": "button",
"attributes": {
"class": "ms-fontColor-themePrimary ms-fontColor-themeDarker–hover"
},
"style": {
"border": "none",
"background-color": "transparent",
"cursor": "pointer"
},
"children": [
{
"elmType": "span",
"attributes": {
"iconName": "Flow"
},
"style": {
"padding-right": "9px"
}
},
{
"elmType": "a",
"txtContent": "=if([$Status]==",'Start WEBCON BPS!', if([$Status]=='In progress', ","))",
"attributes": {
"target": "_blank",
"href": "='https://presentation.webconbps.com/BPSPortal/db/1/app/71/start/wf/145/dt/148/form?com_id=2&returnurl=%2Fdb%2F1%2Fapp%2F71&AttText1=' + [$Title] + '&AttText4=' + [$ID] + '&AttText3=https://webconbps.sharepoint.com/Lists/Start%20BPS%20list/DispForm.aspx?ID='+[$ID]"
}
}
]
}
Po kliknięciu na link z listy Sharepoint uruchomi się przypisana aplikacja WEBCON BPS wraz z przekazanymi w adresie parametrami.
Po przejściu kroku, na liście zostaje zaktualizowana wartość pola Status na aktualny krok w obiegu, dodatkowo w kolumnie BPS URL zostaje zapisany link do zapisanego elementu WEBCON BPS.
Aby zmodyfikować te wartości użyto akcji „Edit a list element” z zakładki SharePoint content. W konfiguracji po wybraniu połączenia oraz listy należy określić pole w jakim jest przechowywany ID elementu(w naszym przypadku jest to atrybut ID). Poniżej należy określić jakie pole będzie zmienione oraz na wartość.
Efekt finalny na liście SharePoint wygląda następująco:
W przedstawionym rozwiązaniu link do startowania elementu znajdujący się kolumnie „Start” pojawia się tylko wtedy, kiedy kolumna Status jest pusta, w innych przypadkach link jest ukryty. Została tam użyta metoda =If
"=if([$Status]==",'Start WEBCON BPS!', if([$Status]=='In progress', ","))",