This document lists all available options, that can be used to configure the Mesh Acta-Nova Plugin.
Configuration Options
You can configure the following properties either via environment variables or via the configuration file config.yml.
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
actaNovaProxyHandler |
|
false |
boolean |
When true, activates the /actanovaproxy/* endpoint that proxies requests to ActaNova. Successful responses (2xx) are relayed to the client; ActaNova errors return a generic 502 (details hidden); connection errors return 400. |
cleanUpTasksRoot |
|
/acta_nova_plugin/cleanupTasks |
String |
Gentics Mesh folder path used to track cleanup task execution state. |
disableFormPublishing |
|
false |
boolean |
When true, all form-publish requests are forbidden. Form staging remains available. |
andpJwtUserIdField |
|
preferred_username |
String |
Name of the JWT token claim used as the userId in ActaNova requests. |
meshProject |
|
andp |
String |
Name of the Gentics Mesh project the plugin is assigned to. |
privateKeyPath |
|
/uploads/andp/privatekey.key |
String |
File system path for the RSA private key used to sign/verify forms. Auto-generated if missing. Must point to a shared directory in clustered deployments. |
publicKeyPath |
|
/uploads/andp/publickey.key |
String |
File system path for the RSA public key used to sign/verify forms. Auto-generated if missing. Must point to a shared directory in clustered deployments. |
userContextFieldsFromUserToken |
|
firstName,lastName,email,mobile |
List |
List of User Attributes (Keycloak Token) extracted and forwarded to ActaNova in the X-User-Context header (e.g. firstName,lastName). |
userContextFieldsWhitelist |
|
culture,formID |
List |
List of Attributes in X-User-Context which are whitelisted and forwarded to ActaNova directly. |
userRefRoot |
|
/acta_nova_plugin/userRef |
String |
Gentics Mesh folder path under which user reference (userref) data is stored. |
actaNovaBaseUrl |
|
- |
String |
Required. Base URL of the ActaNova REST API. |
httpTimeout |
|
70 |
int |
Connection and request timeout in seconds for all HTTP calls to ActaNova. |
cleanUpSecret |
|
- |
String |
Secret token required to authorize calls to the cleanup-task endpoints. Leave empty to disable the cleanup endpoints. |
formsRoot |
|
/acta_nova_plugin/forms |
String |
Gentics Mesh folder path under which published ActaNova forms are stored. |
notificationsRoot |
|
/acta_nova_plugin/notifications |
String |
Gentics Mesh folder path under which user notifications from ActaNova are stored. |
publishedContentRoot |
|
/acta_nova_plugin/publishedContent |
String |
Gentics Mesh folder path under which content published by ActaNova is stored. |
reportsRoot |
|
/acta_nova_plugin/requestedReports |
String |
Gentics Mesh folder path under which requested report documents are stored. |
requiredPeerName |
|
- |
String |
Required SSL client certificate common name (CN) for form-publish and notification endpoints. Leave empty to disable the check (not recommended for production). |
tasksRoot |
|
/acta_nova_plugin/tasks |
String |
Gentics Mesh folder path under which ActaNova tasks are stored. |
transactionsRoot |
|
/acta_nova_plugin/transactions |
String |
Gentics Mesh folder path under which payment transactions are stored. |
useFormGridWithoutComparingVersion |
|
false |
boolean |
When true, existing form grid schemas will always be used, regardless if they were published after new form versions where published |
clientAuthentication
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
clientAuthentication.disableVerifyHostname |
`` |
false |
boolean |
|
clientAuthentication.caCert |
|
- |
String |
The path to the CA certificate used to sign the client certificate (can be in storage or absolute) |
clientAuthentication.enabled |
|
false |
boolean |
Enable sending of client certificates |
clientAuthentication.clientCert |
|
- |
String |
Path to the client certificate in PKCS #12 format to use (can be in storage or absolute) |
clientAuthentication.clientCertPass |
|
- |
String |
The pass phrase for the configured client certificate |
backOfficeAuthentication
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
backOfficeAuthentication.backOfficePublicKeyPath |
|
- |
String |
Path to BackOffice Public Key to validate incoming requests provided in PEM Format |
backOfficeAuthentication.enabled |
|
false |
boolean |
Enable Front-Office ââ BackOffice Authentication |
backOfficeAuthentication.headerName |
|
X-Authorization |
String |
Header-Name used for transmitting Authorization Info |
backOfficeAuthentication.audience |
|
Back-Office |
String |
JWT Audience |
backOfficeAuthentication.clockSkew |
|
10 |
int |
JWT Validation ClockSkew in seconds |
backOfficeAuthentication.issuer |
|
Front-Office |
String |
JWT Issuer |
backOfficeAuthentication.subject |
|
Front-Office |
String |
JWT Subject |
backOfficeAuthentication.validity |
|
300 |
int |
JWT Validity in seconds |
backOfficeAuthentication.keystorePass |
|
- |
String |
The pass phrase for the configured keystore |
backOfficeAuthentication.keystorePath |
|
- |
String |
Path to the keystore in PKCS #12 format to use (can be in storage or absolute) |
backOfficeAuthentication.keystorePrivateKeyPass |
|
- |
String |
The pass phrase for the configured private Key |
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
mail.mailProjectMapping |
`` |
{default={portalBaseUrl=${ANDP_MAIL_PORTALURL_DEFAULT}, templatePath=/templates/notificationCreated_andp_%s.hbs}} |
Map |
Mapping for mail Project specific settings |
mail.sender |
|
String |
E-mail address used as sender for notification e-mails |
|
mail.sendMails |
|
false |
Boolean |
Do send mails on notification creation - default: false |
mail.hostname |
|
- |
String |
The mail server hostname |
mail.password |
|
- |
String |
The mail server password |
mail.port |
|
- |
int |
The mail server port |
mail.ssl |
|
- |
boolean |
Whether to connect to the mail server via SSL |
mail.trustAll |
|
- |
boolean |
Whether to trust all SSL for the connection to the mail server |
mail.username |
|
- |
String |
The mail server username |
Feature Configuration
You can configure the following properties either via environment variables or via the configuration file features.yml.
If you configure in the features.yml, please note that the following configs must be wrapped under features:
feature_prefill
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_prefill.enabled |
|
false |
boolean |
When true, the pre-fill feature is enabled, allowing form fields to be pre-populated from user data. |
feature_languages
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_languages.enabled |
|
true |
boolean |
When true, multi-language support is enabled for the portal. |
feature_languages.languages |
|
de-AT,en-AT |
List |
List of supported language codes (e.g. de-AT,en-AT). |
feature_wizard
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_wizard.enabled |
|
false |
boolean |
When true, the multi-step wizard navigation feature is enabled for forms. |
feature_tos
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_tos.enabled |
|
false |
boolean |
When true, users must accept the Terms of Service before submitting forms. |
feature_onboarding
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_onboarding.enabled |
|
false |
boolean |
When true, the onboarding flow feature is enabled for new users. |
feature_servicecatalog
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_servicecatalog.enabled |
|
true |
boolean |
When true, the service catalog feature is enabled, listing available forms by category. |
feature_servicecatalog.detailPage |
|
true |
boolean |
When true, individual detail pages are enabled for service catalog entries. |
feature_servicecatalog.elementsTemplateName |
|
form-detail |
String |
Name of the Handlebars (hbs) template used to render service catalog elements. |
feature_compress
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_compress.enabled |
|
false |
boolean |
When true, HTTP response compression is enabled for the plugin API. |
feature_compress.compressThresholdKBytes |
|
1000 |
int |
Threshold of data size in KB - above this size compression will be active |
feature_upload_constraints
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_upload_constraints.fileExtensionsAllowed |
|
docx,xlsx,pptx,pdf,jpg,jpeg,png,mpeg,mp3,wav,x-wav,mp4,x-matroska |
List |
Allowed file extensions (comma separated e.g. 'docx,xlsx') - only used for client side validation |
feature_upload_constraints.fileMimeTypesAllowed |
|
application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/pdf,image/jpeg,image/png,audio/mpeg,audio/mp3,audio/wav,audio/x-wav,audio/mp4,audio/x-matroska,video/mp4,video/quicktime,video/mpeg,video/x-msvideo,video/x-matroska |
List |
Allowed file MIME-types (comma separated e.g. 'image/jpeg,image/png') - has precedence over fileMimeTypesNotAllowed |
feature_upload_constraints.maxSizeOverall |
|
20971520 |
int |
Max allowed file size for all files in a form |
feature_upload_constraints.maxSizePerFile |
|
5242880 |
int |
Max allowed file size per uploaded file |
feature_form_elements_with_editing_overlay
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_form_elements_with_editing_overlay.enabled |
|
false |
boolean |
Allow configuring form elements with an editing overlay in Formgrid |
feature_load_user_roles_from_acta_nova
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_load_user_roles_from_acta_nova.enabled |
|
false |
boolean |
When true, the userâs roles are loaded from ActaNova on each request instead of relying solely on the Keycloak token. |
feature_debug
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_debug.enabled |
|
false |
boolean |
When true, additional debug information (request body, user context, ActaNova errors) is included in API responses. |
feature_formgrid
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_formgrid.enabled |
|
true |
boolean |
When true, the form grid editor feature is enabled, allowing forms to be visually arranged in a grid layout. |
feature_formgrid.formgridTypes |
|
String |
formgrid types |
feature_formgrid_options
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_formgrid_options.enabled |
|
true |
boolean |
When true, per-element configuration options are shown in the form grid editor. |
feature_formgrid_options.formgridOptions |
|
[{"name":"boolean","options":[{"key":"radio","name":"Variante Radio-Buttons","type":"boolean"},{"key":"button","name":"Variante Button","type":"boolean"},{"key":"buttonIsPrimary","name":"Button in PrimĂ€rfarben anzeigen?","type":"boolean","constraint":"element.formGridOptions.button === true"},{"key":"dropdown","name":"Variante Dropdown","type":"boolean"}]},{"name":"catalog","options":[{"key":"radio","name":"Variante Checkbox","type":"boolean","constraint":"this.schema.isList"},{"key":"radio","name":"Variante Radio-Buttons","type":"boolean","constraint":"!this.schema.isList"},{"key":"radioColumns","name":"Anzahl Spalten mit Checkboxen/Radio-Buttons: ","type":"dropdown","constraint":"element.formGridOptions.radio","selectOptions":[{"key":"1","value":"1"},{"key":"2","value":"2"},{"key":"3","value":"3"},{"key":"4","value":"4"}]}]},{"name":"number","options":[{"key":"numberPlaceholder","text":"<b>Formatierung Nummer</b>","name":"Platzhalter fĂŒr Nummereingabefelder","type":"string","constraint":"this.schema && this.schema.type == 'number' && this.schema.isRaw"},{"key":"numberStep","name":"ZĂ€hlschritte (Ganzzahl)","type":"string","constraint":"this.schema && this.schema.type == 'number' && this.schema.isRaw && this.schema?.precision === 0"},{"key":"numberStep","name":"ZĂ€hlschritte (Festkomma/Fliesskomma)","type":"string","constraint":"this.schema && this.schema.type == 'number' && this.schema.isRaw && this.schema?.precision !== 0"},{"key":"alignment","name":"Ausrichtung Wert: ","type":"dropdown","constraint":"this.schema && this.schema.type == 'number' && this.schema.isRaw","selectOptions":[{"key":"Links","value":"left"},{"key":"Zentriert","value":"center"},{"key":"Rechts","value":"right"}]},{"key":"alignmentUnit","name":"Ausrichtung Einheit: ","type":"dropdown","constraint":"this.schema && this.schema.type == 'number' && this.schema.isRaw","selectOptions":[{"key":"Links","value":"left"},{"key":"Zentriert","value":"center"},{"key":"Rechts","value":"right"}]}]},{"name":"aggregate","options":[{"key":"tableColumnWidthOptimized","text":"<p>Dieses Element ist eine Aggregatsliste mit Dialogformularen. Die EintrĂ€ge werden als Tabelle angezeigt.</p>","name":"Spaltenbreite auf Inhalt optimiert","type":"boolean","constraint":"isAggregateListDialogFormTable"},{"key":"tableRowMaxLineHeight","name":"Maximale Zeilenanzahl","type":"string","constraint":"isAggregateListDialogFormTable && !element.formGridOptions.tableColumnWidthOptimized"},{"key":"buttonDisplayStyle","text":"Darstellung der Funktionen: ","name":"Darstellung der Funktionen: ","type":"dropdown","constraint":"this.schema && this.schema.type == 'number' && this.schema.isRaw und this.hasUnits","selectOptions":[{"key":"Icon","value":"icon"},{"key":"Text","value":"text"},{"key":"Icon + Text","value":"icontext"}]}]}] |
String |
Formgrid types: JSON array defining per-element-type configuration options available in the form grid editor. |
feature_multi_tenancy
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_multi_tenancy.enabled |
|
false |
boolean |
When true, multi-tenancy routing is enabled. |
feature_form_flow
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_form_flow.enabled |
`` |
true |
boolean |
|
feature_form_flow.additionalFlows |
|
[] |
String |
Additional form flow templates to be merged with the default form flows defined in FEATURE_FORMFLOW_CONFIG. |
feature_form_flow.formFlows |
|
[ { "key": "default", "name": "Standard", "formFlowSteps": [ { "buttonText": "form_flow_btn_form", "reactClass": "FormScreen", "name": "form_flow_name_form", "description": "form_flow_desc_form", "buttonDefinition": [ { "btnComponent": "DetailInfoButton", "translateKey": "form_detailinfo", "mobileDisabled": true }, { "btnComponent": "CancelButton", "translateKey": "form_cancel" }, { "btnComponent": "PreviousPageButton", "translateKey": "form_previousPage" }, { "btnComponent": "NextPageButton", "translateKey": "form_nextPage" } ], "variables": [] }, { "buttonText": "form_flow_btn_summary", "reactClass": "SummaryScreen", "name": "form_flow_name_summary", "description": "form_flow_desc_summary", "buttonDefinition": [ { "btnComponent": "CancelButton", "translateKey": "form_cancel" }, { "btnComponent": "PrintPdfButton", "translateKey": "form_print", "mobileDisabled": true }, { "btnComponent": "PreviousPageButton", "translateKey": "form_previousPage" }, { "btnComponent": "SubmitButton", "translateKey": "form_submit" } ], "variables": [ { "name": "showDetails", "value": true } ] }, { "buttonText": "form_flow_btn_success", "reactClass": "SuccessScreen", "name": "form_flow_name_success", "description": "form_flow_desc_success", "buttonDefinition": [], "variables": [] } ] }, { "key": "no_summary", "name": "Ohne Zusammenfassung", "formFlowSteps": [ { "buttonText": "form_flow_btn_form", "reactClass": "FormScreen", "name": "form_flow_name_form", "description": "form_flow_desc_form", "buttonDefinition": [ { "btnComponent": "DetailInfoButton", "translateKey": "form_detailinfo", "mobileDisabled": true }, { "btnComponent": "CancelButton", "translateKey": "form_cancel" }, { "btnComponent": "PreviousPageButton", "translateKey": "form_previousPage" }, { "btnComponent": "NextPageButton", "translateKey": "form_nextPage" }, { "btnComponent": "SubmitButton", "translateKey": "form_submit" } ], "variables": [] }, { "buttonText": "form_flow_btn_success", "reactClass": "SuccessScreen", "name": "form_flow_name_success", "description": "form_flow_desc_success", "buttonDefinition": [], "variables": [] } ] } ] |
String |
defining the available form flow templates (sequences of steps such as Form â Summary â Success). |
feature_app_fcm
| Variable Name | Environment Variable | Default Value | Type | Description |
|---|---|---|---|---|
feature_app_fcm.enabled |
|
false |
boolean |
|
feature_app_fcm.notificationTranslations |
|
{de-AT=Neue Nachricht von, en-AT=New message from} |
Map |
