# Eximee Forms

**Eximee Forms** to moduł odpowiedzialny za obsługę interfejsu użytkownika w aplikacjach Eximee.\
Umożliwia projektowanie, uruchamianie i przetwarzanie formularzy low-code w różnych kontekstach biznesowych i technologicznych – od portali publicznych po systemy wewnętrzne banku.\
Moduł ten stanowi wspólną warstwę prezentacyjną platformy i zapewnia spójne środowisko interakcji użytkownika z procesami Eximee.

## Architektura modułu

`Eximee Forms` jest wspólną implementacją komponentu formularzy, współdzieloną przez wszystkie konteksty wykorzystania.\
Dostarcza zunifikowany mechanizm renderowania, walidacji, obsługi zdarzeń i komunikacji z procesami EximeeBPMS oraz z Eximee Data Model Runtime.

### **Konteksty wykorzystania (instancje modułu)**

Każdy **kontekst wykorzystania Eximee Forms** – rozumiany jako **kanał technologiczny**, sposób **osadzenia w odpowiedniej aplikacji** (np. portal, bankowość elektroniczna, aplikacja mobilna) lub **udostępnienie danej grupie użytkowników** (klienci, pracownicy, partnerzy) – może stanowić **niezależną instancję wdrożeniową** modułu.

W zależności od architektury i wymagań klienta, instancje te mogą być:

* **rozdzielone** – dla celów separacji środowisk, integracji, bezpieczeństwa lub skalowalności,
* **wspólne** – gdy jeden moduł Eximee Forms obsługuje wiele kontekstów użytkowych w ramach jednej aplikacji lub infrastruktury.

Do typowych kontekstów wykorzystania należą:

* **Eximee Forms for Portals**
* **Eximee Forms for Electronic Banking**
* **Eximee Forms for Mobile Banking**
* **Eximee Forms for FrontOffice**
* **Eximee Forms for BackOffice**
* **Eximee Forms for Partners**

Każdy z tych kontekstów opiera się na wspólnym jądrze (Eximee Forms), korzystając z tych samych bibliotek komponentów i mechanizmów logiki formularzy.

## Opis ogólny

`Eximee Forms` to silnik renderowania i logiki formularzy Eximee.\
Umożliwia bezkodowe uruchamianie dynamicznych formularzy zaprojektowanych w **Form Designerze**, komunikujących się z procesami Eximee BPMS oraz z Eximee Data Model Runtime.

## **Funkcjonalność**

* Renderowanie formularzy na podstawie metadanych aplikacji low-code.
* Obsługa komponentów interaktywnych (biblioteka komponentów prostych i złożonych).
* Walidacja pól, reguły widoczności, zależności dynamiczne.
* Zbieranie danych i przekazywanie ich do procesów Eximee BPMS.
* Obsługa akcji systemowych: zapis, wysyłka, podpis, generowanie podsumowań.
* Obsługa trybów:
  * tworzenie nowej sprawy (formularz startowy),
  * realizacja zadania użytkownika (formularz w toku procesu),
  * przegląd danych (tryb readonly).

## **Cechy techniczne**

* Oparty na architekturze Web Components.
* Integracja z BPMS poprzez zdarzenia i parametry komponentu.
* Dwukierunkowa komunikacja z aplikacją nadrzędną (postMessage, API JS).
* Zgodność z WCAG 2.1.
* Obsługa wielu języków i trybów RWD.
* Możliwość rozszerzenia o komponenty niestandardowe.

## **Bezpieczeństwo**

* Maskowanie danych wrażliwych.
* Walidacja danych po stronie klienta i serwera.
* Skanowanie antywirusowe załączników.
* Izolacja kontekstów sesyjnych i autoryzacyjnych.

## Funkcjonalności wspólne

| Obszar                     | Opis                                                                             |
| -------------------------- | -------------------------------------------------------------------------------- |
| **Formularze low-code**    | Uruchamianie formularzy zaprojektowanych w Eximee Form Designer.                 |
| **Integracja z procesami** | Formularze są interfejsem użytkownika dla procesów BPMN (user task, start form). |
| **RWD i UX/UI**            | Formularze w pełni responsywne, zgodne z Design Style Guide klienta.             |
| **WCAG**                   | Pełna zgodność z WCAG 2.1.                                                       |
| **Monitoring biznesowy**   | Zbieranie danych o wykorzystaniu formularzy, metrykach konwersji i porzuceniach. |
| **Kopie robocze**          | Mechanizm zapisu lokalnego lub zdalnego częściowo wypełnionych formularzy.       |
| **Design Style Guide**     | Obsługa wielu szat graficznych i stylów UI w zależności od wdrożenia.            |
|                            |                                                                                  |

## Cechy wspólne i parametry wdrożeniowe

* **Elastyczność wdrożeniowa:** każdy kontekst może być osobną instancją lub współdzielić środowisko z innymi.
* **Skalowalność:** architektura mikrousługowa, z możliwością niezależnego skalowania instancji.
* **Reużywalność:** wspólne biblioteki komponentów i logiki formularzy.
* **Bezpieczeństwo:** zgodność z wymogami KNF i WCAG, kontrola dostępu i audyt zdarzeń.
* **Personalizacja:** możliwość dostosowania stylu i zachowania do konkretnego wdrożenia klienta.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eximee.com/wprowadzenie/architektura-platformy/moduly-wykonawcze/eximee-forms.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
