PDF

Grupy interesariuszy

Przeczytasz w 16 min.

Spis treści

  1. Streszczenie
  2. Koncepcja
  3. Przypadek biznesowy
  4. Budowa rozwiązania
    1. Definiowanie grupy interesariuszy
    2. Użycie kontrolki interesariuszy
    3. Użycie akcji interesariuszy
    4. Działanie rozwiązania
  5. Do zapamiętania
  6. Informacje powiązane

Streszczenie

Grupy interesariuszy są instrumentem przypisywania uprawnień ACL do indywidualnych dokumentów. Grupy te definiuje się na poziomie definicji dokumentu i tam tworzy się dla nich szablony uprawnień ACL. Dodanie użytkownika do grupy oznacza nadanie mu uprawnień tej grupy, a usunięcie powoduje odebranie uprawnień.

Zaletą tej funkcjonalności jest możliwość indywidualnego określania członków grup interesariuszy dla indywidualnych dokumentów. Dzięki temu np. dwie faktury mogą mieć różne osoby uprawnione do ich akceptacji. Dodatkowo uprawnionych można zmieniać w dowolnym momencie. Takich możliwości nie dają szablony dla ról biznesowych.

Do grup interesariuszy można dodawać indywidualnych użytkowników oraz role i role w jednostkach organizacyjnych. Do zarządzania grupami interesariuszami służy kontrolka listy wyboru interesariuszy oraz akcje interesariuszy.

Zmiana uprawnień wynikająca z dodania/usunięcia użytkownika w grupie interesariuszy wymaga ponownego przeliczenia uprawnień. Operacja ta odbywa się automatycznie w momencie wykonywania przejścia (zmiany statusu) dla instancji dokumentu. Można ją także wymusić akcją odświeżania uprawnień, co pozwala na dynamiczne zmienianie uprawnień do indywidualnych dokumentów w zależności od potrzeb biznesowych.

Koncepcja

Interesariusze to użytkownicy będący „stroną” dla dokumentu biznesowego. Na przykład dla wniosków urlopowych można zdefiniować grupę interesariuszy wnioskodawcy, dla umów — autorzy opinii prawnej, dla faktur — akceptanci itd. Z faktu istnienia relacji użytkownik-dokument mogą wynikać określone uprawnienia, które można przyznać przez zdefiniowanie szablonu uprawnień. Grupy interesariuszy definiuje się podczas projektowania aplikacji, natomiast dodawanie indywidualnych użytkowników do grupy interesariuszy, a także ról i/lub ról w jednostkach, odbywa się dynamicznie w procesie biznesowym. Użytkownik dodany do grupy interesariuszy nabywa uprawnienia zdefiniowane w szablonie uprawnień dla tej grupy, użytkownik usunięty z grupy interesariuszy traci te uprawnienia. Wymaga to jednak ponownego przeliczenia uprawnień dla wszystkich członków danej grupy, co odbywa się podczas zmiany statusu lub na skutek wykonania akcji odświeżenia uprawnień.

Przypadek biznesowy

Rozważmy proces biznesowy, w którym zamawiający składają zamówienia w systemie dostawcy. Proces obejmuje następujące kroki:

  • utworzenie zamówienia (rola: Zamawiający, status: Utworzone)
  • przyjęcie do realizacji (rola: Kierownik, status: W toku)
  • zakończenie realizacji (interesariusz: Realizator, status: Zrealizowane)

Po utworzeniu zamówienia przez użytkownika z rolą Zamawiający trafia ono do użytkownika z rolą Kierownik, który kieruje je do realizacji, przypisując konkretnego użytkownika do kategorii interesariuszy Realizator. System powinien umożliwiać kontrolę dostępu do zamówień w taki sposób, że każdy zamawiający ma dostęp wyłącznie do „swoich” zamówień, kierownik do wszystkich utworzonych zamówień, a użytkownik z rolą Magazynier tylko do tych, dla których został wskazany jako Realizator. Aby zrealizować te postulaty, należy zdefiniować szablony uprawnień ACL zgodnie z poniższą tabelą.

  Utworzone W toku Zrealizowane
Twórca dokumentu RUD* R R
Kierownik RU R R
Realizator (interesariusz) - RU R

* R - odczyt, U - aktualizacja, D - usuwanie

Budowa rozwiązania

W tej części opisano tylko konfigurowanie funkcjonalności interesariuszy. Włączanie obsługi uprawnień oraz definiowanie szablonów uprawnień opisano w Leksykonie nAxiom oraz w artykule Szablony uprawnień ACL.

Definiowanie grupy interesariuszy

Grupy interesariuszy można zdefiniować na karcie Interesariusze w oknie Edycja definicji dokumentu (Procesy biznesowe > Definicje dokumentów > Edytuj) lub podczas definiowania szablonów uprawnień. W tym drugim przypadku, w oknie definicji szablonu zaznacz opcję Interesariusz i kliknij przycisk Lista interesariuszy. W wyświetlonym oknie dialogowym kliknij przycisk Nowy interesariusz i w kolejnym oknie wpisz kod i nazwę grupy interesariuszy. Kliknij przycisk Zapisz, a następnie Zamknij. Z listy rozwijanej wybierz zdefiniowaną grupę interesariuszy. Następnie zaznacz pola wyboru dla odpowiednich uprawnień. Gotowy szablon odpowiadający omawianemu przykładowi może wyglądać jak na ilustracji poniżej.

Definicja szablonu uprawnień dla interesariusza
Definicja szablonu uprawnień dla interesariusza

Użycie kontrolki interesariuszy

Kolejnym krokiem jest umożliwienie użytkownikom aplikacji dodawania osób do kategorii interesariuszy dla dokumentu (a także usuwania użytkowników z tej kategorii). W tym celu przejdź do projektu formularza zamówienia i dodaj na nim kontrolkę Interesariusz z panelu Toolbox z lewej strony. Dla tej kontrolki istotne jest określenie kilku właściwości:

  • Interesariusz: nazwa kategorii interesariuszy, których wybór ma umożliwiać kontrolka.
  • Minimalna/Maksymalna ilość: określ minimalną i maksymalną liczbę interesariuszy, których można wybrać w tej kategorii.
  • Wymagane role: wybierz konkretną rolę lub kombinację ról, aby zawęzić listę użytkowników, których będzie można wybierać jako interesariuszy.

    W przypadku wybrania kilku ról, z listy interesariuszy można będzie wybrać tylko użytkowników, którzy mają przypisane wszystkie te role.

  • Ustawienia: kliknięcie przycisku Konfiguracja listy wyboru otwiera okno dialogowe, w którym należy wpisać zapytanie SQL zwracające wartości listy; to zapytanie musi zwracać identyfikator użytkownika jako kolumnę [key] oraz wartość wyświetlaną, np. imię i nazwisko, jako kolumnę [value]; zapytanie może zwracać też inne kolumny, które będą także wyświetlane na liście.

    Zapytanie musi odwoływać się do tabeli [core].[UserProfiles], w przeciwnym razie wystąpi błąd.

Konfiguracja właściwości kontrolki interesariuszy może wyglądać jak na poniższej ilustracji.

Właściwości kontrolki interesariuszy
Właściwości kontrolki interesariuszy

Pozostaje jeszcze kwestia skonfigurowania widoczności tej kontrolki zgodnie z założeniami, o czym wspomniano wcześniej. W ustawieniach dostępności kontrolki można między innymi uzależnić widoczność kontrolki od statusu dokumentu i roli użytkownika. Aby kontrolka interesariuszy była widoczna tylko dla użytkownika z rolą Kierownik i tylko w statusie Utworzone, należy skonfigurować ustawienia dostępności tej kontrolki zgodnie z ilustracją poniżej.

Ustawienia dostępności kontrolki interesariuszy
Ustawienia dostępności kontrolki interesariuszy

Zmiana uprawnień użytkownika w związku z przypisaniem go do grupy interesariuszy lub usunięciem z tej grupy zaczyna obowiązywać dopiero po zmianie statusu dokumentu, niezależnie od statusu szablonu uprawnień, albo po wykonaniu akcji odświeżania uprawnień.

Użycie akcji interesariuszy

Zmiany składu grup interesariuszy można zautomatyzować przy użyciu akcji z kategorii Przypisz do interesariusza, która zawiera trzy rodzaje akcji:

  • Globalne role: zarządza przynależnością ról biznesowych do wybranej grupy interesariuszy; uprawnienia danej grupy przechodzą na wszystkich użytkowników, którzy mają przypisaną daną rolę.
  • Role w jednostkach: zarządza przynależnością ról biznesowych w jednostkach organizacyjnych do wybranej grupy interesariuszy; uprawnienia danej grupy przechodzą na wszystkich użytkowników, którzy mają przypisaną daną parę rola-jednostka.
  • Użytkownicy: zarządza przynależnością indywidualnych użytkowników do wybranej grupy interesariuszy.

We wszystkich akcjach można podać identyfikator definicji dokumentu i instancji dokumentu, podanie dla tych parametrów wartości NULL spowoduje, że zmiana składu grupy interesariuszy dotyczyć będzie bieżącego dokumentu (z aktywnego kontekstu formularza). Dodatkowo w każdej akcji należy określić parametr Operation (w akcji przypisywania użytkownika IsRemoval), który decyduje o tym, jaka operacja zostanie wykonana przez akcję. Dostępne wartości tego parametru to:

  • 0: dodanie roli, roli w jednostce lub użytkownika do grupy,
  • 1: usunięcie roli, roli w jednostce lub użytkownika z grupy; jeśli dodatkowo identyfikator roli/jednostki/użytkownika będzie miał wartość NULL, akcja usunie wszystkie role/role w jednostkach/użytkowników z danej grupy interesariuszy.

W zapytaniu definiowanym w akcji można używać operatora UNION.

Działanie rozwiązania

Do przetestowania rozwiązania, oprócz elementów opisanych wcześniej, potrzebni są również użytkownicy z przypisanymi rolami oraz zamówienia utworzone już po zdefiniowaniu szablonów uprawnień. Jeśli te warunki są spełnione, użytkownik z rolą Kierownik po wejściu w edycję utworzonego zamówienia będzie mógł wybrać osobę, która ma to zamówienie zrealizować. Na liście interesariuszy wyświetlane są nazwy logowania użytkowników.

Po wyborze interesariuszy konieczne jest zapisanie dokumentu; w przeciwnym razie po zmianie statusu dokument nie będzie miał przypisanego interesariusza.

Wybór interesariusza <code>Realizator</code>
Wybór interesariusza Realizator

Osoba wybrana jako realizator będzie mieć uprawnienia do dokumentu zgodnie z szablonem dla interesariusza.

Do zapamiętania

  • Grupę interesariuszy definiuje się w oknie definicji dokumentu na karcie Interesariusze.
  • Kontrolka interesariuszy to lista wielowyboru, którą należy umieścić na formularzu, aby umożliwić dodawanie i usuwanie użytkowników jako interesariuszy dla danego dokumentu.
  • Po zmianach na liście interesariuszy konieczne jest zapisanie dokumentu — może się to odbywać automatycznie, jeśli do przejścia na diagramie procesów zostanie dodana akcja Zapisz rekord jako Akcja uruchamiana przed.
  • Uprawnienia dla nowych członków grupy interesariuszy wymagają wykonania operacji odświeżenia (przeliczenia). Jest ona wykonywana w trakcie zmiany statusu (wybierz interesariusza, zapisz dokument i kliknij przycisk przejścia statusu, aby uprawnienia zaczęły obowiązywać), ale można ją wymusić za pomoca akcji odświeżania uprawnień.
  • Akcje interesariuszy pozwalają automatyzować zarządzanie członkostwem w grupach interesariuszy: dodawać do grup interesariuszy użytkowników, role i role w jednostkach, usuwać te obiekty z grup interesariuszy oraz usuwać wszystkie obiekty danej kategorii z grup interesariuszy.
  • Szablony uprawnień dla interesariuszy można również definiować na poziomie formularza, określając w nich widoczność i możliwość edycji wartości w poszczególnych sekcjach i polach formularza; patrz artykuł Uprawnienia formularzy.

Informacje powiązane


Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.