Comportamentul personalizat în Vision App Maker se adaugă prin configurare: reguli de business, plugin-uri și scripturi în view-uri. Regulile conțin logica, iar plugin-urile o conectează la fișiere, servicii și alte sisteme. Logica configurată se publică în componentele front-end fără recompilarea platformei.

Reguli de business

Regula de business este locul în care se scrie logica unei aplicații, cu un set de operatori predefiniți. Editorul de reguli din App Factory Studio ajută la această muncă:

  • Parse verifică sintaxa regulii;
  • Dependencies arată toate elementele care folosesc regula;
  • Operators listează operatorii disponibili, cu căutare;
  • parametrilor li se pot atribui valori de test pentru evaluarea rezultatului.

Utilitarul Module tester simulează funcționarea unei configurații.

Unde rulează logica personalizată

LocCe se poate atașa
Evenimente de viewEvenimente de sistem (View entered, View leaved, View resumed) și evenimente custom, fiecare cu condiție de disponibilitate, binding și opțiunea de a rula după validare
Validări de viewReguli care rulează la inițializarea modulului (before) sau după un eveniment (after), cu un mesaj afișat când validarea nu trece
Controale de formularListe de valori dintr-un plugin, o regulă sau o listă; caracterul obligatoriu decis printr-o regulă
Tranziții din fluxuriEvenimente cu țintă o regulă, un parametru sau un conector; condiții de disponibilitate; mesaje; reguli de decizie care aleg starea următoare
ActivitățiActivități automate, rulate de un serviciu fără utilizator; job-uri programate care automatizează activități configurate
API-uriApeluri care pornesc o activitate sau un modul, rulează regulile acestuia și returnează rezultatul ca JSON; endpoint-uri proprii care rulează un modul și o regulă

Apelarea plugin-urilor din reguli

O regulă apelează o instanță de plugin în unul din două moduri.

  • CallPlugin(id) cere ca toate intrările să fie completate în configurația plugin-ului. Exemplu: CallPlugin(1).
  • CallPluginWithParams(id, intrări, suprascriere) transmite intrările la apel. Cu true înlocuiește toate intrările configurate; cu false completează doar intrările goale. Exemplu: CallPluginWithParams(1, Array("nume"), true).

Ambii operatori acceptă indecși de ieșire, pentru a alege ce ieșiri se returnează. RefreshPlugin reîmprospătează ieșirea unui plugin, iar operatorul Cache păstrează o valoare la nivel de modul, sesiune sau cerere.

Plugin-uri System pentru logică personalizată

Biblioteca System include plugin-uri de uz general care extind ce poate face o regulă.

PluginIntrareRezultat
ExecuteJSCod JavaScript, ca textCodul este executat
ExecuteRuleTextul unei reguli de businessRegula este executată
MakeHttpCallURL, metoda HTTP, corp JSON, lista de headereRăspunsul HTTP
GetDictionaryFromJsonText JSONUn dicționar
GenerateBasicAuthTokenNume de utilizator și parolăUn token de autentificare

Aceste plugin-uri se pot combina într-o singură regulă. De exemplu, o regulă poate genera un token și îl poate trimite în headerele unui apel HTTP. Apoi poate citi răspunsul JSON ca dicționar. Pentru lucru HTTP mai complex, plugin-ul RestClient și operatorii JSON returnează coduri de status și valori tipizate.

Alte plugin-uri System lucrează cu instanțe de proces, parametri, e-mail, șabloane, fișiere și Excel. Lista completă se află în catalogul de plugin-uri.

Scripturi și stiluri în view-uri

View-urile pot fi de tip Custom sau HTML. Un view își poate defini propriile stiluri CSS și scripturi JavaScript și acceptă clase Bootstrap 4. Fiecare element poate avea, de asemenea, clase și stil proprii.

Conectori noi

Stratul de integrare este modular. Pe lângă plugin-urile existente, Vision poate dezvolta conectori noi pentru sisteme specifice. După instalare, conectorul apare în lista Plugin definitions și se configurează din interfața vizuală ca orice alt plugin.