Źródło danych „użytkownicy domeny”

Facebooktwitterpinterestlinkedinmail

 

dotyczy wersji 2016.1.x; autor: Damian Matuła

W niemalże każdym procesie biznesowym występują tzw. „aktorzy” :  Twórcy dokumentu(np. pracownik rejestrujący delegację), akceptanci(przełożony w urlopach, Księgowy w dokumencie kosztowym)  i wszystkie inne osoby ,które biorą udział ,lub których dotyczy proces(np. osoby współtworzące procedury obowiązujące w firmie).

W WEBCON BPS istnieje kilka sposobów  tworzenia pól przechowujących informację  o osobie :

  • Pole wyboru, którego źródłem jest cachowana z Active Directory(AD) tabela lub zewnętrzne źródło.
  • Pole osoby
  • Pole wyboru, którego źródłem są użytkownicy domenowi ( bezpośrednio z AD).

ad_p1

W artykule „podstawy cache-ad” opisany został proces mapowania atrybutów z usługi  Active Directory do tabeli CacheOrganizationStructure wykorzystywanej przez WEBCON BPS.

W tym artykule przybliżę inny sposób na pobieranie danych z AD. Metoda ta będzie łatwa nawet dla osób, które nie posługują się językiem SQL.

Podstawowe różnice między źródłem opartym na tabeli CacheOrganizationStructure, a źródłem z zasobów AD.

CacheOrganizationStructure AD
Sposób pobierania danych Cyklicznie o określonych godzinach serwis programu WEBCON BPS synchronizuje dane z AD zapisując je(aktualizując) w tabeli CacheOrganizationStructure w bazie danych. Dynamicznie wywoływana jest funkcja zwracająca dane zgodnie określonymi parametrami.
Wydajność Duża, ogranicza się do odczytu z tabeli SQL. Mniejsza, każde użycie źródła wymaga wywołania funkcji pobierającej dane. Wolniejsze.
Ilość danych Ilość kolumn jest niewielka w stosunku do ilości  atrybutów w AD. Zawiera najczęściej wykorzystywane dane, aby zsynchronizować dane z atrybutu, który nie ma domyślnej kolumny, należy zmapować go do jednej z  30 dodatkowych kolumn COS_ExtensionAttribute [1-30] Dane pobierane dynamicznie, nie ma potrzeby przechowywania danych w bazie.

 

1 .Tworzenie źródła danych z AD

 

Aby utworzyć źródło danych osoby z usługi Active Directory, w WEBCON BPS Designer Studio przechodzimy do zakładki „źródła danych”. Spośród dostępnych szukamy „Użytkownicy domeny”,  a następnie tworzymy nowe klikając ikonę  „Nowy”. Nasze źródło nazwiemy „Pracownicy

ad_p2

Rysunek 1 Widok na konfigurację źródła danych „Użytkownicy domenowi”

 

2.Konfiguracja.

 

User story.

Chcę zbudować proces dla osób zarządzających projektami, ale w taki sposób aby każdy z nich mógł wybierać tylko spośród własnych podwładnych oraz siebie. Zmniejszy to liczbę wyników oraz ograniczy omyłkowy wybór osób. 

Aby osiągnąć wyżej opisany cel, możemy użyć jednego z istniejących zapytań lub też utworzyć własne(Rys.2). Budowanie zapytań do źródła AD (LDAP) opisane zostało w dodatku niżej.

ad_p3

Rysunek 2 Sekcja ustawienia pozwala na filtrowanie zwracanych wierszy.

W naszym przypadku wybieramy „Bezpośredni podwładni zalogowanego użytkownika(dołącz użytkownika)”

Sekcja kolumn

Aby wybrać kolumnę, która ma zostać zwrócona, zaznaczamy widoczny obok niej checkbox.

Istnieje możliwość dodania kolumny z wartością z atrybutu z AD. W tym celu klikamy w ikonkę ’+’

ad_p4

Następnie uzupełniamy nazwę atrybutu z Active Directory, który chcemy zmapować oraz opcjonalnie go opisujemy (Rys.3).

ad_p5

W konfiguracji na załączonym zrzucie ekranowym dodane zostały atrybuty title( stanowisko/typ pracy) oraz employeeid(w którym klient przechowuje ID z zewnętrznego systemu ERP)

Dodatkowe kolumny ułatwią wyszukiwanie pracowników, którym będziemy przydzielać zadanie.

W konfiguracji wybrano również kolumny które nie są używane w przykładowym obiegu( departament, description…) mogą jednak być przydatne w innych procesach.

Szczegółowa dokumentacja konfiguracji tego typu źródła danych znajduje się w pomocy programu WEBCON BPS Designer Studio.

W dodatku 2 opisana została część atrybutów z AD, które mogą zostać użyte przy tworzeniu tego rodzaju źródeł .

 

3.Wykorzystanie

Źródło takie możemy wykorzystać do zasilenia :

  • pola z wyszukiwaniem SharePoint Picker
  • listy z autouzupełnianiem

Ze względu na wydajność, nie zalecamy używania źródła jako słownik dla listy rozwijanej.

ad_p6

Rysunek 4 Typu pola wyboru

Na potrzeby procesu dodajemy pola tekstowe (Rys. 5,6)  :

  • Mail ( z adresem mailowym )
  • ERP ID ( Numer pracownika z systemu ERP)
  • Stanowisko (Tytuł bądź stanowisko pracy)

Oraz pole „Pracownik” typu SharePointPicker zasilone utworzonym przez nas źródłem danych „Pracownicy”(Rys. 7)

ad_p7

Rysunek 5 Tworzenie pola tekstowego

ad_p8

Rysunek 6 Utworzone pola tekstowe

ad_p9

Rysunek 7 Utworzenie pola wyboru

W konfiguracji( przycisk „Konfiguracja zaawansowana”)  ostatniego konieczne jest zdefiniowanie kolumny z unikalnym identyfikatorem osoby , oraz nazwy jaka będzie wyświetlana na formularzu.

Jako identyfikator osoby, możemy użyć loginu domenowego lub też numeru ERP ( np. w sytuacji gdy proces będzie integrował się z zewnętrznymi systemami , w których identyfikowany jest tylko przez wspomniany wyżej numer – sytuacja występująca często w np. procesach urlopowych ) .

 

ad_p10

Rysunek 8 Konfiguracja pola „Pracownik”. Według widocznych ustawień pola „mail”, „ERP ID” oraz „Stanowisko” zostaną automatycznie wypełnione danymi z AD na podstawie wybranego użytkownika.

Ponadto wybieramy  interesujące nas kolumny, jeśli wartości powinny zostać przekazane do innych pól(Rys.8,9,10 )  uzupełniamy kolumnę „pole docelowe” (wartości zostaną automatycznie uzupełnione na formularzu) oraz zaznaczamy odpowiednie checkboxy dotyczące widoczności kolumny w oknie wyszukiwania oraz tego czy system ma szukać dopasowania na jej podstawie.

ad_p11

Rysunek 9 Okienko wyszukiwania SharePoint Picker, pole „Pracownik”.

 

ad_p12

Rysunek 10 . Po wybraniu pracownika, pola na formularzu zostają automatycznie uzupełnione

 

  1. Dodatek 1. Filtrowanie przez zapytania LDAP*

Jeśli potrzebujemy zawęzić zwracane dane możemy użyć filtrowania.

Jako rodzaj zapytania należy  wybrać „niestandardowe”.

 

Sposób  budowania zapytań :

(Atrybut_AD parametr argument)

 

Proste zapytanie ‘=’

(Argument=wartość)

Np. (title=Manager)

 

Alternatywa ‘|’

(|(Argument1=wartość1) (Argument2=wartość2))

Np. (|(title=Manager)(Division=Management))

Koniunkcja ‘&’
(&(Argument1=wartość1) (Argument2=wartość2))

Np. (&(title=Manager)(Division=Management))

 

Negacja ‘!’

(!Argument=wartość)

Np. (!title=Manager)

 

Wartość dowolna  ‘*’

(!Argument=*)  zwróci wszystkie niepuste

(!Argument=ab*) zwróci wszystkie zaczynające od ‘ab’

Np.   (&(l=*sk)(streetaddress=*)) zwróci zasoby z miast kończących się na ‘sk’  z uzupełnionym adresem.

 

Większy/mniejszy ‘<’ ,’>’,’>=’,’<=’

(Argument>n)

Np. (logoncount>50)  zwróci konta osób, które logowały się więcej niż 50 razy.

 

5.Dodatek 2. Opis części atrybutów z AD

 

Poniżej znajdują się przykłady atrybutów z Active Directory.

Część z nich jest nieobligatoryjna, istnieje więc prawdopodobieństwo, że atrybut jest nieuzupełniony.

Nazwa atrybutu w AD Opis
Displayname Nazwa wyświetlana
Sn Nazwisko
Name Nazwa w postaci ‘Imię nazwisko’
Givenname Imię
Company Organizacja/Firma
Countrycode Kod kraju
Title Stanowisko
Department Dział
Info Informacja o koncie AD
Homedirectory Folder domowy użytkownika
Lastlogon Data ostatniego logowania
Lastlogontimestamp Ostatnia aktywność
Logoncount Liczba logowań
Whenchanged Ostatnia modyfikacja
Whencreated Kiedy utworzono
Comment Komentarz
Login login w formacie DOMENA\login
Description Opis konta z AD
samaccounttype* Typ konta
Mail E-mail
Mobile Telefon komórkowy
Homephone Telefon
Pager Pager
physicalDeliveryOfficeName Adres biura
Postalcode Kod pocztowy
Localeid Kod regionu, np. kraju, miasta itd.
St Jednostka administracyjna(stan/województwo…)
Streetaddress Ulica nr
Postofficebox Skrzynka pocztowa
telephonenumber Telefon
Wwwhomepage Strona WWW
Employeetype Typ wykonywanej pracy
employeeID ID pracownika
l Lokalizacja(np. miasto)

*COS_AD_samaccounttype – pole przydatne do odfiltrowania kont użytkowników od innych zasobów.

Aby zapytanie zwróciło wyłącznie rekordy z kontami użytkowników należy dołączyć

(Samaccounttype=805306368)