Konfiguracja z poziomu Low-code
Definicja konfiguracji dostępna jest w module Aplikacja Eximee Designer.
Przechodząc do okna danej aplikacji w lewym panelu dostępna jest zakładka Konfiguracja, a w prawym okno Edytora konfiguracji:

Format konfiguracji
Konfiguracje definiowane są w formacie: klucz = wartość
Ustalenie środowiska
Dodatkowo istnieje możliwość określenia środowiska, dla którego będzie dostępny dany settings, za pomocą dodania do klucza suffixu |${klucz_środowiska} np.
application.login|prod=wartoscKlucza
Taki settings będzie domyślnie dostępny tylko dla środowiska oznaczonego jako "prod".
Środowisko możemy określić za pomocą ENV'a - CONFIG_SERVER_ENVIRONMENT_NAME w aplikacji serwera konfiguracji.
W przypadku braku klucza suffixu z aktualnym środowiskiem, brane są wartości bez określonego suffixa.
Komentarze
W oknie edycji konfiguracji jest możliwość dodawania komentarzy w zawartości konfiguracji. Komentarze powinny zaczynać się od nowej linii, a treść komentarza powinna być poprzedzona symbolem kratki (#).
Definicja ról uprawniających do edycji w Eximee Dashboard
Należy pamiętać, że poza określeniem ról w Eximee Designer uprawniających do edycji konkretnej konfiguracji w Eximee Dashoard, użytkownik Eximee Dashboard musi mieć przypisaną rolę posiadającą uprawnienie feature_config_edit, która daje dostęp do zakładki "Konfiguracja aplikacji".
Wraz z konfiguracją w Eximee Designer można zdefiniować role, które umożliwią edycję konfiguracji runtime w Eximee Dashboard. W przypadku braku zdefiniowanych ról w konfiguracji aplikacji Eximee Designer, edycja konfiguracji aplikacji z poziomu Eximee Dashboard nie będzie dostępna dla żadnego użytkownika.
Definicje ról można określić w polu "Role uprawniające do edycji w Eximee Dashboard" nad edytorem konfiguracji w Eximee Designer.
Jeśli aplikacja serwera konfiguracji ma zdefiniowany parametr AUTH_ROLE_STRIP_PREFIX to należy podany prefix ról pominąć na elementach listy. Czyli jeśli AUTH_ROLE_STRIP_PREFIX = "PDC000000001-" a rola nazywa się "PDC000000001-config-editor-role", to na liście w Eximee Designer należy wskazać "config-editor-role".
Modyfikacja konfiguracji w Eximee Dashboard: Modyfikacja (runtime) konfiguracji biznesowych

Przykład konfiguracji
CONFIG_SERVER_ENVIRONMENT_NAME = dev
Treść konfiguracji:
#url links to test environment
test.url|dev=urlDev
test.url=urlDefault
test.password=passwordBasic
test.password|prod=passwordProd
test.password|dev=passwordDev
test.login|prod=loginProd
test.login=loginDefault
test.enabled=trueConfig server dla takich ustawień zwróci 4 konfiguracje (bez suffixu):
test.url=urlDev
test.password=passwordDev
test.login=loginDefault
test.enabled=trueEdycja konfiguracji
Edycja konfiguracji blokuje artefakt aplikacji, z tego też powodu nie można do niej dodać nowych artefaktów, np.: procesu, formularza. Jednak próba dodania takiego artefaktu utworzy go w repozytorium, ale nie zostanie on podpięty pod artefakt aplikacji.
W przypadku błędów składniowych konfiguracji (np.: dla konfiguracji o typie PROPERTIES podano niepoprawny unicode) wystąpi błąd przy zapisie konfiguracji, który będzie miał ogólną postać błędów, występujących przy zapisie artefaktu:

Użytkownik pozostanie w trybie edycji i będzie mógł poprawić ewentualne błędy składniowe i ponownie spróbować zapisać konfigurację.
Użycie wartości z konfiguracji w ScriptCode
W ScriptCode możemy pobrać wartość z konfiguracji korzystając z api do pobierania konfiguracji: Api:
interface Api {
config: {
v1: {
get(klucz: string): string;
getOrDefault(klucz: string, defaultValue: string): string;
}
}
}
przykładowy skrypt korzystający z Api:
function callService(context) {
let value1
try {
value1 = api.config.v1.get("dummy.url2");
} catch(e) {
value1 = "default"
}
var value2 = api.config.v1.get("dummy.url");
var value3 = api.config.v1.getOrDefault("not_existing_key", "defaultValue")
return [{'value1': value1, 'value2': value2, 'value3': value3}];
}
Edytor oferuje również podpowiedzi:

Użycie wartości z konfiguracji w zadaniu skryptowym
Przykładowe zadanie skryptowe:
function handle(task, context) {
// Pobranie zmiennych z konfiguracji
const skipTask = api.config.v1.get("script.task.skip.task")
const titleName = api.config.v1.getOrDefault("script.task.title.name", "Domyślny tytuł")
// Zakończenie zadania i przekazanie zmiennych (skipTask, titleName) do procesu
context.complete({'skipTask': skipTask, 'titleName': titleName});
}użycie w procesie:

W rezultacie do procesu zostaną przekazane wartości z konfiguracji i zapisane pod kluczami: skipTask i titleName.
Last updated
Was this helpful?
