For the complete documentation index, see llms.txt. This page is also available as Markdown.

Parkowanie i odparkowanie wnioskow

Wprowadzenie

Parkowanie wniosku polega na zapisaniu jego aktualnego stanu (wszystkich wypełnionych pól wniosku) z wyłączeniem dodanych załączników, w celu późniejszego powrotu do tego stanu podczas odparkowania wniosku.

Ustawienia

W tej sekcji możemy skonfigurować możliwość zapisu tymczasowego przez użytkownika.

Ilustracja 1. Zapis tymczasowy w zakładce Właściwości w Eximee Designer
Ilustracja 2. Włączenie opcji parkowania wniosku

Dla tak skonfigurowanego, a następnie opublikowanego szablonu, podczas wypełniania bazującego na nim wniosku na ekranie pojawia sekcja odpowiedzialna za parkowanie z przyciskiem.

Odtwarzanie wartości (biała/czarna lista pól)

W sekcji Odtwarzanie wartości możemy określić:

  • które pola nie powinny zostać odparkowane przy odparkowywaniu wniosku przy użyciu Blacklist,

  • które pola powinny zostać odparkowane przy odparkowywaniu wniosku przy użyciu Whitelist (pusta lista oznacza, że nic nie zostanie odparkowane).

Nie można jednocześnie używać białej listy jak i czarnej. W celu wybrania jednej listy (Whitelist lub Blacklist) używamy listy znajdującej się w zakładce Właściwości w sekcji Zapis tymczasowy i podsekcji Odtwarzanie wartości:

Ilustracja 3. Przykład wybrania czarnej listy przy odparkowaniu

W celu zdefiniowania pól należy je dodać do listy.

Przykłady zastosowania

Przykład 1 - promocja, która powinna wygasnąć po odparkowaniu:

  • mamy promocję "xmas",

  • dla wniosków uruchomionych z parametrem promotion=xmas mamy lepsze warunki,

  • promocja kończy się w piątek,

  • w piątek publikujemy szablon wniosku, który już nie obsługuje promocji "xmas",

  • w szablonie wpisujemy "promotion" (i wszystkie zmienne do których przepisywana jest wartość zmiennej promotion np. poprzez Parametry wejściowe komponentów złożonych) na czarną listę,

  • wniosek zaparkowany w czwartek i odparkowany w sobotę nie będzie zawierał pola promotion=xmas (chyba, że została ona ponownie przekazana jako parametr wejścia na wniosek).

Przykład 2 - promocja, którą chcemy odparkowywać, ale z możliwością nadpisania odpowiednim parametrem:

  • dla promocji "xmas" z powyższego przykładu chcemy zmienić typ promocji na promotion=xxx,

  • w przypadku braku podania parametru chcemy użyć promocji z jaką klient wszedł na wniosek za pierwszym razem,

  • w szablonie wpisujemy wszystkie zmienne do których przepisywana jest wartość zmiennej promotion np. poprzez Parametry wejściowe komponentów złożonych na czarną listę, jednak zmiennej promotion nie dodajemy do czarnej listy,

  • klient po odparkowaniu z parametrem promotion=xxx będzie miał aktywną promocję xxx,

  • klient po odparkowaniu bez parametru promotion, będzie miał aktywną tę samą promocję z jaką wniosek został zaparkowany.

Parkowanie wniosku

Parkowanie wniosku polega na zapisaniu jego aktualnego stanu (wszystkich wypełnionych pól wniosku) z wyłączeniem dodanych załączników, w celu późniejszego powrotu do tego stanu.

Klient niezalogowany

Proces parkowania rozpoczynamy przez naciśnięcie przycisku "Zapisz", w wyniku którego pojawia się okno dialogowe. W oknie tym System prosi nas o wprowadzenie danych autentykacyjnych, na podstawie których dokonana zostanie identyfikacja użytkownika w procesie odparkowywania danego wniosku.

Ilustracja 4. Okno wprowadzania danych autentykacyjnych

Po zatwierdzeniu danych przyciskiem "Zapisz" wniosek zostanie zapisany wraz z wprowadzonymi danymi identyfikacyjnymi oraz unikalnym, nadanym mu numerem, w repozytorium. Potwierdza to wyświetlając następujące okno dialogowe:

Ilustracja 5. Okno potwierdzenia zaparkowania wniosku

W ten sposób zaparkowany wniosek jest gotowy do odparkowania.

Uwaga! Wpisywane hasła są sprawdzane pod kątem bezpieczeństwa według zaleceń agencji National Institute of Standards and Technology. Konfiguracja domyślna będzie zawierała taką politykę, aby hasło składało się z:

  • jednej dużej litery,

  • jednej małej,

  • cyfry oraz znaku specjalnego,

  • musi mieć co najmniej 8 znaków.

Konfiguracja jest niezależna dla każdego klienta i można ją zmienić w webforms.xml pod kluczem: <passwordPolicy> (jest to regex). Dodatkowo będzie możliwa modyfikacja komunikatu zwracanego w przypadku wpisania hasła niespełniającego wymogów bezpieczeństwa - tym razem w navigation.localization dla każdego klienta. Klucz iew.form.password.policyInfo odpowiada komunikatowi, jakie wymogi powinno spełniać hasło, a iew.form.password.policyViolation to klucz od komunikatu wyświetlanego w przypadku próby wpisania hasła niespełniającego wymogów bezpieczeństwa.

Klient zalogowany

W przypadku klienta zalogowanego po naciśnięciu przycisku "Zapisz" wniosek zostanie zapisany w systemie bez konieczności podawania danych uwierzytelniających. Mechanizm wykorzystuje identyfikator klienta pobrany z sesji. Po pomyślnym zaparkowaniu zostanie wyświetlony komunikat potwierdzający zakończenie operacji.

Należy pamiętać, że użytkownik może mieć zaparkowaną tylko jedną instancję wniosku danego typu.

Odparkowanie wniosku

Odparkowywanie wniosku to funkcjonalność umożliwiająca odczytanie wcześniej zaparkowanego wniosku (wraz ze wszystkimi polami wypełnionymi w momencie parkowania, ale z wyłączeniem załączników dodanych do parkowanego wniosku).

Klient niezalogowany

Aby rozpocząć proces odparkowywania, należy przejść do strony, do której link otrzymujemy w oknie dialogowym potwierdzającym pomyślne zaparkowanie wniosku (Ilustracja 5) lub w mailu otrzymanym po zaparkowaniu (na adres wskazany podczas parkowania).

Po wyświetleniu w przeglądarce strony znajdującej się pod wskazanym linkiem, pokaże się okno dialogowe, w którym System zażąda potwierdzenia danych identyfikujących osobę, która dokonała parkowania wniosku:

Ilustracja 6. Okno odparkowania wniosku

Odparkowanie wniosku jest możliwe tylko po prawidłowym wprowadzeniu danych identyfikacyjnych (email oraz hasło) zapisanych w procesie parkowania. Po naciśnięciu przycisku "OK" zostaniemy przekierowani do strony wniosku ze stanem pól z momentu jego zaparkowania.

Klient zalogowany

Odparkowywanie wcześniej zapisanego wniosku w przypadku klienta zalogowanego może się odbyć na dwa sposoby:

Sposób pierwszy

Wywołanie akcji load.html - żądanie POST na adres https://eximee-dmz:8080/webforms/wnioski/NAZWA_WNIOSKU/load.html

gdzie: NAZWA_WNIOSKU - nazwa wniosku do odparkowania

Po wywołaniu akcji zostaniemy przekierowani do strony wniosku ze stanem pól z momentu jego zaparkowania.

Sposób drugi

Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Wywołanie akcji getFormTemplate - żądanie POST na adres https://eximee-dmz:8080/webforms/api/formService/getFormTemplate

Jeśli wniosek został wcześniej zaparkowany, akcja zwróci wniosek ze stanem pól z momentu jego zaparkowania.

Serwisy uruchamiane przy odparkowaniu

Dla wniosku można zdefiniować serwisy, które zostaną wywołane w momencie odparkowania wniosku. Sposób ich dodawania opisany został w Serwisy przy wznowieniu.

Serwisy wywoływane są przed entry service i mogą nadpisywać wartości znajdujące się na wniosku.

Ilustracja 7. Przepływ danych

W tym przypadku TextField1 jest zasilany za pomocą UnparkEntryService. Wpływa on na wartość pola TextField2 (poprzez PageService, np. EchoService). Ponieważ usługi UnparkEntryService wykonywane są przed usługami EntryService oraz na pole TextField2 wpływa pole zasilane przez UnparkEntryService to ostatecznie wartości pola TextField2 będzie odpowiadała wartości zmiennej sesyjnej SessionVariable zasilonej za pomocą EntryService.

Powiadomienia

Powiadomienia wysyłane po zaparkowaniu wniosku realizowane są za pomocą mechanizmu notyfikacji opisanego tutaj: Autozapis i Pola kontaktowe.

Do powiadomień może być dołączany link do odparkowania wniosku.

Wejście na link wysłany w powiadomieniu pozwala na odparkowanie wniosków zaparkowanych przez użytkownika zalogowanego oraz wniosków zaparkowanych przez użytkownika niezalogowanego.

Jeżeli wniosek był zaparkowany przez użytkownika zalogowanego, po wejściu na link zawarty w powiadomieniu następuje przekierowanie na stronę logowania. Jeżeli klient się uwierzytelni, zostanie dalej przekierowany na przygotowany do dalszej edycji, ostatni zaparkowany przez niego wniosek danego typu.

Jeżeli wniosek był zaparkowany przez użytkownika niezalogowanego, po wejściu na link zawarty w powiadomieniu następuje przekierowanie na stronę weryfikacji hasła jednorazowego dostępu. Podczas wejścia na tę stronę, na numer telefonu zapisany we wniosku zostaje wysłany SMSem jednorazowy kod dostępu do wniosku. Aby uruchomić zaparkowany wniosek, użytkownik musi potwierdzić swoją tożsamość przez wpisanie otrzymanego hasła. Treść wiadomości SMS z jednorazowym kodem dostępu pochodzi z szablonu wiadomości email, podanego w konfiguracji aplikacji webforms, w pliku /etc/eximee/webforms.xml na serwerze dmz. Poniżej przykład konfiguracji (należy podać nazwę i wersję szablonu wiadomości email z repozytorium):

Warunkowe odparkowanie wniosku

Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Dla wniosku można zdefiniować warunek, który zostanie sprawdzony w momencie odparkowania wniosku. Gdy warunek zostanie spełniony, wniosek zostanie odparkowany i pokazany użytkownikowi. W przeciwnym wypadku tworzony jest nowy formularz.

Ilustracja 8. Sekcja Odparkowanie wniosku z warunkiem do spełnienia

Informacje o tym jak definiować warunki znajdują się na stronie: Język wyrażeń definiowania warunków (warunki z getValue).

Funkcjonalność warunkowego odparkowania wniosku rozszerza metodę _getValue('componentId')_ języka wyrażeń o dwie nowe funkcjonalności:

  • możliwość uzyskania dostępu do wartości komponentu po jego MID,

  • możliwość przyjęcia argumentu z prefixem parked. Prefix ten umożliwia uzyskanie dostępu do zaparkowanych wartości wniosku.

Przykładowy warunek odparkowania na podstawie MID

Przykładowy warunek odparkowania na podstawie ID

Przykładowy warunek odparkowania z wykorzystaniem injectableFields

Uwaga! Może wystąpić sytuacja, że kiedy odparkowujemy wniosek mogą pojawić się inne strony, które wcześniej nie były widoczne.

Powinniśmy wtedy wejść na pierwszą stronę, która wcześniej nie została odwiedzona.

Uwaga! Podczas odparkowania uaktywnia się mechanizm blokowania statusu wniosku. Oznacza on tyle, że dopóki wniosek jest odparkowany, nie może on zmienić swojego statusu (np. na wniosek porzucony). Wnioski takie są odblokowywane przy parkowaniu (również automatycznym parkowaniu), zapisywaniu lub po 1 dniu od ostatniej modyfikacji (ochrona przed zawieszaniem się wniosków przez system).

Więcej na temat tego mechanizmu znajdziesz tutaj: Mechanizm blokowania statusów

Ostatnia aktualizacja

Czy to było pomocne?