Anwendungseinstellungen


Die Datei application.properties enthält einige anwendungsspezifische Einstellungen, etwa welche Links auf der Startseite angezeigt werden oder wie mit fehlgeschlagenen Anmeldeversuchen umgegangen wird. Die Datei ist im config-Verzeichnis auf dem Master-Server zu finden. Der genau Ablageort der Propterties-Dateien ist unter System > Serverinformationen > Systempfade > Verzeichnis für Konfigurationsdateien aufgeführt.

Oberfläche

Einstellungen, um die Oberfläche anzupassen.

 Eigenschaft  Standardwert  Beschreibung
login.show.link.registertrueOb auf der Startseite der Link zum Anlegen eines neuen Kontos angezeigt wird.
login.show.link.passwordtrueOb auf der Startseite der Link für vergessene Passwörter angezeigt wird.
login.show.link.helptrueOb auf der Startseite der Link auf diese Hilfe angezeigt wird.
login.show.link.faqtrueOb auf der Startseite der Link auf die Frage- und Antwortseite von Xima® Formcycle angezeigt wird.
login.show.link.privacytrueOb auf der Startseite der Link auf die Datenschutzhinweise angezeigt wird.
login.show.link.imprinttrueOb auf der Startseite der Link auf das Impressum angezeigt wird.
login.show.link.termstrueOb auf der Startseite der Link auf die allgemeinen Geschäftsbedingungen angezeigt wird.
login.show.link.licensetrueOb auf der Startseite der Link auf die Lizenzbedingungen angezeigt wird.
login.show.footertrueOb auf der Startseite die Fußzeile mit den Links auf die Datenschutzhinweise, das Impressum usw. angezeigt wird.
defaults.show.logotrueOb auf der Startseite das Logo der Anwendung angezeigt wird.
defaults.show.versiontrueOb auf der Startseite die Version von Xima® Formcycle angezeigt wird.

Webadressen (URLs)

 Eigenschaft  Standardwert  Beschreibung
defaults.url.help.designerhttps://help.formcycle.eu/xwiki/bin/view/Main/DesignerLink auf die Hilfe des Xima® Formcycle-Designers, angezeigt im Xima® Formcycle-Designer.
defaults.url.videohttp://www.formcycle.de/videos/Link auf die Hilfevideos zur Xima® Formcycle.
defaults.url.helphttps://help.formcycle.eu/xwiki/bin/view/Main/Link auf die Hilfeseiten zu Xima® Formcycle.
defaults.url.qahttps://faq.formcycle.eu/Link auf die Frage- und Antwortseite zu Xima® Formcycle.
defaults.url.registerhttps://form.cloud/Link zum Erstellen eines neuen Kontos.
defaults.url.privacyhttps://form.cloud/datenschutz.htmlLink auf die Datenschutzhinweise.
defaults.url.imprinthttps://www.xima.de/impressum/Link auf das Impressum.
defaults.url.termshttps://form.cloud/agb.htmlLink auf die allgemeinen Geschäftsbedingungen.
defaults.url.licensehttps://www.formcycle.de/lizenzbedingungenLink auf die Lizenzbedingungen.
defaults.url.formcyclehttps://www.formcycle.deLink auf Xima® Formcycle
defaults.url.formcloudhttps://www.form.cloudLink auf die Xima® FORM.CLOUD.
defaults.url.loopback.baseAlternative Loopback-URL für server-interne Aufrufe wie print.

Standardsprache

Diese Einstellungen können für die Standardsprache der Anwendung genutzt werden. Die Anwendung ist internationalisierbar.

 Eigenschaft  Standardwert  Beschreibung
defaults.systemeinstellung.language-Sprachcode für die Standardsprache der Anwendung. ISO-639 alpha-2 oder alpha-3.
defaults.systemeinstellung.county-Regionscode für die Standardsprache der Anwendung. ISO 3166 alpha-2 Ländercode or UN M.49 numeric-3 Regionscode.
defaults.systemeinstellung.variant-Sprachvariation für die Standardsprache der Anwendung.

Login

Um etwa Passwortrateangriffe zu vermeiden, kann eingestellt werden, wie oft ein Benutzer versuchen darf, sich anzumelden. Schlägt die Anmeldung für einen bestimmten Nutzernamen zu oft fehl, so wird der Nutzer für eine bestimmte Zeit gesperrt und kann sich erst danach wieder anmelden.

Standardmäßig muss ein Nutzer nach 5 fehlgeschlagenen Anmeldeversuchen 15 Minuten warten.

NameStandarwertBeschreibung
login.duplicated.message.suppressfalseOb eine Nachricht angezeigt werden soll, wenn ein Nutzer beim Login bereits in einer anderen Session angemeldet ist.
login.fails.lock.timeout900 (=15 Minuten)Gibt die Zeitspanne in Sekunden an, die der Nutzer nach zu vielen fehlgeschlagenen Anmeldeversuchen warten muss, bis er sich wieder anmelden kann. Ist der Wert kleiner als 60, wird der Wert auf 60 gesetzt.
login.fails.lock.count5Gibt die Anzahl der fehlgeschlagenen Versuche an, bis der Nutzer für eine bestimmte Zeit gesperrt wird. Ein Wert kleiner gleich Null deaktiviert die Loginbegrenzung.
login.fails.lock.onfullcachetrueGibt an, ob bei vollem Login-Cache das System gesperrt werden soll. Mögliche Werte sind true oderfalse.
login.fails.cache.heap.count10000Gibt die Anzahl der Loginversuche an, die im Speicher gehalten werden. Ist der Wert kleiner gleich Null, wird der Standardwert genommen
login.fails.lock.maxentries11000Gibt die maximale Anzahl der im Cache gehaltenen Loginversuche an. Ist der Cache voll, werden keine weiteren Logins mehr zugelassen. ist der Wert kleiner 0, gibt es keine Begrenzung.
login.fails.cache.disk.size102400Gibt die Anzahl der Loginversuche an, die im Dateisystem persistiert werden. Ein Wert von 0 deaktiviert diese Begrenzung, sodass der Cache nicht logisch, sondern höchstens physisch bei Ausschöpfung des Festplattenspeichern voll werden kann. Ein Wert kleiner Null deaktiviert die Persistierung, sodass nur der Speicher verwendet wird.
last.login.savefalseGibt an, ob das Datum der letzten Anmeldung am Mandanten des Benutzers in der Datenbank gespeichert wird.

Ein Beispiel für eine Konfiguration mit 100 Minuten Wartezeit nach 10 Versuchen.

login.fails.lock.timeout=6000
login.fails.lock.count=10

Die Anzahl der Loginversuche ist für jeden Master-Server und Frontend-Server separat. Beispielweise kann der Nutzer versuchen, sich fünfmal an der Verwaltungsoberfläche am Master-Server und fünfmal an einem Formular ausgeliefert durch den Frontend-Server anzumelden. Beachten Sie bitte, dass sich dies allerdings in künftigen Versionen ändern kann.

Cache

Der Datei-Cache speichert vom System verwendete Dateien zwischen, der Formular-Cache dient der Zwischenspeicherung ausgelieferter Formulare.

 Eigenschaft  Standardwert  Beschreibung
cache.files.disk.size-1Maximale Größe in MB des Teils des Datei-Caches, der im Dateisystem gespeichert wird. Keine Einschränkung, wenn -1. Wenn gleich 0, werden keine Einträge im Dateisystem gecached.
cache.files.heap.size75Maximale Größe in MB des Teils des Datei-Caches, der im Speicher gehalten wird.  Wenn gleich 0, werden keine Einträge im Speicher gecached.
cache.files.idletime0Zeitspanne in Sekunden, bis ein Eintrag im Datei-Cache als unbenutzt betrachtet und aus dem Cache entfernt wird. Wenn gleich 0, gibt es keine solche Ablaufzeit.
cache.forms.disk.size-1Maximale Größe in MB des Teils des Formular-Caches, der im Dateisystem gespeichert wird. Keine Einschränkung, wenn -1. Wenn gleich 0, werden keine Einträge im Dateisystem gecached.
cache.forms.heap.size75Maximale Größe in MB des Teils des Formular-Caches, der im Speicher gehalten wird. Wenn gleich 0, werden keine Einträge im Speicher gecached.
cache.forms.idletime0Zeitspanne in Sekunden, bis ein Eintrag im Formular-Cache als unbenutzt betrachtet und aus dem Cache entfernt wird. Wenn gleich 0, gibt es keine solche Ablaufzeit.

System

 Eigenschaft  Standardwert  Beschreibung
bot.field.namex-i-m-a-5536-requiredName des versteckten Eingabefelds, welches benutzt wird, um zu erkennen, ob ein Bot ein Formular abgesendet hat. Seit V7 wird das Feld aber automatisch neu vergeben beim Aufruf des Formulars. 
bot.field.autocomplete 7.1.0+ new-passwordWert für das autocomplete-Attribut des Botfelds. Ist diese Eigenschaft nicht gesetzt, wird new-password als Standardwert genommen. Wenn der Wert leer ist, wird das autocomplete-Attribut nicht gesetzt. Jeder andere Wert wird als Wert für das autocomplete-Attribut genommen und gesetzt.
defaults.systemeinstellung.loginNamesadminLogin-Name für den Superadministrator des Systems.
defaults.systemeinstellung.passworthash(admin)Passwort für den Superadministrator des Systems. Standardmäßig admin. Dies sollte nach der Installation geändert werden. Das Passwort wird gehashed gespeichert und sollte nicht direkt über die Konfigurationsdatei geändert werden, sondern nur über die Oberfläche.
cluster.implementationjgroupsGibt an, welche Implementierung für den Cluster genutzt werden soll. Erlaubt Werte sind jgroups und shoal.
system.server.id (generiert)Eindeutige ID des Servers welche für die Benutzung von Load-Balancern in den HTTP-Header und an die Absende-URL eines Formulares angehangen werden kann. Siehe HTTP.
monitoring.enabled 7.1.0+ falseOb die Frontend-Server-Monitoring-URL aktiviert ist.
monitoring.allowed.hosts 7.1.0+ (leer)Liste von Hosts, welche auf die Frontend-Server-Monitoring-URL zugreifen dürfen. Der Host localhost (Loopback) ist hierbei immer erlaubt.
defaults.http.use_system_properties 7.2.0+ trueWenn true, werden System-Properties aus der JVM ausgelesen und zur Konfiguration der JVM verwendet. Konkret werden die System-Properties https.protocols, https.cipherSuites, http.keepAlive, http.maxConnections und http.agent ausgelesen. Zudem wird, falls in der JVM ein Proxy-Server konfiguriert ist, dieser Proxy-Server verwendet, sofern in Xima® Formcycle kein expliziter Proxy-Server konfiguriert ist. Falls auf eine geschüzte Ressource zugegriffen wird, findet zusätzlich auch eine Anfrage an der Credentials-Provider des Systems statt.

Limits

 Eigenschaft  Standardwert  Beschreibung
defaults.parameterparser.itemsizethreshold0Grenzwert, ab dem Upload-Dateien direkt auf der Festplatte zwischengespeichert werden.
defaults.upload.max_sizeMaximale Größe in Byte für hochgeladene Dateien in Formularen. Keine Datei darf größer als dieser Wert sein. -1 oder kein Wert bedeutet keine Grenze.
defaults.upload.max_size_totalDie maximale Größe aller Dateien, die auf einmal hochgeladen werden. Diese Einstellung trifft nicht zu, wenn mehrere Dateien separat hochgeladen werden. Beim Formularabsenden ist dies die maximal erlaubte Größe des POST-Request. -1 oder keine Angabe bedeutet keine Grenze.
defaults.query.database.max_rowcount5000Maximale Anzahl von zurückgegebenen Zeilen bei einer Abfrage an die Datenbank. Wenn 0, gibt es keine Einschränkung.
defaults.upload.max_fieldsize0Maximale Größe in Bytes bei einer Abfrage an die Datenbank für Werte vom Typ Zeichenkette oder Binary. Wenn 0, gibt es keine Einschränkung.

Frontend-Server

Diese Einstellung beeinflussen die Verbindung zum Frontend-Server und sollten direkt über die Oberfläche bearbeitet werden.

 Eigenschaft  Standardwert  Beschreibung
fs.settings.interface0.0.0.0Netzwerk-Interface-Adresse, womit der Frontend-Server auf Verbindungen vom Master-Server hört.
fs.settings.port4753Der Port für die Verbindung zum Master-Server.
fs.settings.ssl.usefalseOb die Verbindung zwischen Frontend-Server und Master-Server mit SSL verschlüsselt wird.
fs.settings.authKey(empty string)Der Token für diesen Frontend-Server. Dient zum Überprüfen, ob der Master-Server authorisiert ist, eine Verbindung aufzubauen.
fs.settings.ssl.keystore.path(leere Zeichenkette)Der Pfad zur Datei im Dateisystem mit dem Keystore für die Verbindung. Pflichtangabe, wenn SSL benutzt wird.
fs.settings.ssl.keystore.pass(leere Zeichenkette)Das Password zum Keystore. Pflichtangabe, wenn SSL benutzt wird.

LDAP

 Eigenschaft  Standardwert  Beschreibung
ldap.override.filter.user(|(objectclass=user)(objectclass=person)(objectclass=inetOrgPerson)(objectclass=organizationalPerson))LDAP-Filter, mit dem nach LDAP-Nutzern verfügbaren gesucht wird. Standardmäßig wird nach allen Objekten mit der Objektklasse user, person, inetOrgPerson oder organinsationalPerson gesucht.
ldap.override.filter.user.login(|(sAMAccountName={0})(userPrincipalName={0})(uid={0}))LDAP-Filter für die Suche eines Nutzers anhand eines bestimmten Login-Namen. Der Login-Name wird mit dem Platzhalter {0} übergeben. Standardmäßig für einen Login-Namen alle Nutzer gefunden, die diesen Namen als das Attribut sAMAccountName, userPrincipalName oder uid haben.
ldap.override.filter.kerberos.user Wert der Benutzerabfrage s.o.LDAP-Filter für die Suche eines Nutzers nach erfolgter Kerberos-Authentifizierung. Der zur Verfügung stehende Login entspricht dem Muster <username>(/<instance>)@<REALM> wobei der /<instance>-Part optional ist. Die einzelnen Bestandteile stehen am Beispiel test/admin@EXAMPLE.COM im entsprechenden Filter wie folgt zur Verfügung: {0}=test/admin@EXAMPLE.COM, {1}=test/admin, {2}=test,{3}=admin,{4}=EXAMPLE.COM. Um zum Beispiel bei abweichendem userPrincipalName eine Benutzersuche innerhalb einer Ein-Domainen-Umgebung durchzuführen, könnte demnach die Abfrage wie folgt definiert werden: (sAMAccountName={2})
ldap.override.filter.group(|(objectclass=group)(objectclass=groupofnames)(objectclass=groupofuniquenames))LDAP-Filter für die Suche nach LDAP-Gruppen. Standardmäßig wird nach allen Objekten mit der Objektklasse group, groupofnames, oder groupofuniquenames gesucht.

HTTP

 Eigenschaft  Standardwert  Beschreibung
http.header.referersame-originDie Referrer-Policy, die bei HTTP-Antworten gesetzt wird. Diese Einstellung kann auch unter in den Systemeinstellungen geändert werden.
http.header.hsts.max(leer)Einstellung des max-age für die HTTP Strict Transport Security. Diese Einstellung kann auch unter in den Systemeinstellungen geändert werden.
http.header.hsts.subfalseLegt fest, ob die HTTP Strict Transport Security auch für Subdomains gelten soll. Diese Einstellung kann auch unter in den Systemeinstellungen geändert werden.
http.header.serverid.name (nicht vorhanden)Gibt den Header-Namen an mit welchem die system.server.id in alle requests geschrieben wird. Ist dieser Eintrag vorhanden aber leer wird der entsprechende Header nicht gesetzt. Ist der Eintrag nicht vorhanden ist der Standard XFC-Server-Id.
http.param.serverid.name(nicht vorhanden)Legt den Namen des URL-Parameters fest, mit welchem die system.server.id an die Formular-Absende-URL angehangen wird. Ist der Wert leer oder nicht vorhanden, wird kein Parameter angefügt.
http.header.csp.backend 7.2.1+ (nicht vorhanden)Legt den Wert für den HTTP-Header Content-Security-Policy fest, der im Backend (Verwaltungsoberfläche) gesetzt wird. Dieser Wert ist auch in der Oberfläche unter System, Allgemein einstellbar.
http.header.csp.frontend 7.2.1+ (nicht vorhanden)Legt den Wert für den HTTP-Header Content-Security-Policy fest, der im Frontend (Webformulare) gesetzt wird. Dieser Wert ist auch in der Oberfläche unter System, Allgemein einstellbar.
http.header.csp.reportonly.backend 7.2.1+ (nicht vorhanden)Legt den Wert für den HTTP-Header Content-Security-Policy-Report-Only fest, der im Backend (Verwaltungsoberfläche) gesetzt wird. Dieser Wert ist auch in der Oberfläche unter System, Allgemein einstellbar.
http.header.csp.reportonly.frontend 7.2.1+ (nicht vorhanden)Legt den Wert für den HTTP-Header Content-Security-Policy-Report-Only fest, der im Frontend (Webformulare) (Verwaltungsoberfläche) gesetzt wird. Dieser Wert ist auch in der Oberfläche unter System, Allgemein einstellbar.

Debug

 Eigenschaft  Standardwert  Beschreibung
debug.show_sqlfalseSetzt in Hibernate die Eigenschaften hibernate.show_sql und hibernate.format_sql auf true. Schreibt alle SQL-Anweisungen formatiert auf die Konsole.

Quartz-Jobs

 Eigenschaft  Standardwert  Beschreibung
cleanup.worker.activetrueGibt an, ob der System-Cleanup-Job aktiv gesetzt wird und periodisch ausgeführt wird. Der System-Cleanup-Job überprüft periodisch etwa, ob es noch unbestätigte Vorgänge gibt, die auf ein Double-Opt-In warten, und löscht diese, wenn deren Frist abgelaufen ist.
cleanup.worker.cronexpression0 0,15,30,45 * ? * *Die Cron-Expression für den System-Cleanup-Job, welche angibt, wann dieser Job ausgeführt wird. Der System-Cleanup-Job überprüft periodisch etwa, ob es noch unbestätigte Vorgänge gibt, die auf ein Double-Opt-In warten, und löscht diese, wenn deren Frist abgelaufen ist.
quartz.threadpool.thread.count 7.0.10+ 10Gibt an, wie viele Threads der Scheduler hat. Standardwert ist 10. Bei 0 werden nur Jobs angelegt, aber keine Jobs mehr ausgeführt. Dies ist nützlich, wenn die Jobs von einem anderen Server ausgeführt werden sollen.
quartz.scheduler.check.interval 7.0.10+ 30000Zeit in Millsekunden, die der Scheduler wartet, bevor nach neuen Jobs gesucht wird. Sollte in der Regel auf dem Standardwert belassen werden, solange es keine Probleme mit zeitversetzten Triggern gibt. Werte kleiner als 5000 sind nicht empfohlen und Werte kleiner als 1000 sind nicht erlaubt.
quartz.jobstore.misfire.threshold 7.0.10+ 60000Zeit in Millsekunden, die ein Trigger über dem Ausführungszeitpunkt liegen darf, bevor der Trigger als nicht gefeuert (misfired) betrachtet wird.

E-Mail-Versand

 Eigenschaft  Standardwert  Beschreibung
mail.smtp.connectiontimeout 7.0.4+ 300000Gibt den SMTP Timeoutwert für Socketverbindungen in Millisekunden an.
mail.smtp.timeout 7.0.4+ 300000Gibt den SMTP Timeoutwert für Datenübertragung in Millisekunden an.

Lizenz

 Eigenschaft  Standardwert  Beschreibung
license.send.system.info 7.0.8+ trueGibt an, ob Informationen über den Server an das Lizenzsystem übertragen werden sollen.

Workflow

Diese Properties können benutzt werden, um gezielt bestimmte Aktionen oder Ereignisse im neuen Workflow zu deaktivieren.

Für Ereignisse haben die Properties folgendes Schema:

trigger.<technischer_name_des_ereignisses>.enable=false

Für Aktionen haben die Properties folgendes Schema:

processing.<technischer_name_der_aktion>.enable=false

Die technischen Namen der Ereignisse lauten wie folgt:

  • fc_catch_error: Workflow-Fehler
  • fc_doi_verified: Double-Opt-In bestätigt
  • fc_form_submit_button: Technischer Name
  • fc_invitation_error: Einladung fehlgeschlagen
  • fc_invitation_sent: Einladung versendet
  • fc_manual: Benutzerdefiniert
  • fc_qualified_form_submit_button: Absendeknopf
  • fc_state_timer: Nach Statuswechsel
  • fc_time_point: Datum und Uhrzeit

Die technischen Namen der Aktionen lauten wie folgt:

  • fc_change_form_availability: Verfügbarkeit ändern
  • fc_change_form_value: Formularwerte ändern
  • fc_change_state: Status setzen
  • fc_compress_as_zip: ZIP Komprimieren
  • fc_copy_form_record: Vorgang kopieren
  • fc_counter: Zähler ändern
  • fc_create_text_file: Textdatei erzeugen
  • fc_delete_form_record: Vorgang löschen
  • fc_doi_init: Double-Opt-In-E-Mail versenden
  • fc_email: E-Mail
  • fc_empty: Leere Anweisung
  • fc_experiment: Fehler behandeln
  • fc_export_to_persistence: Export als Persistence-Datei
  • fc_export_to_xml: Als XML exportieren
  • fc_fill_pdf: PDF-Datei befüllen
  • fc_fill_word: Word-Datei befüllen
  • fc_import_form_value_from_xml: Aus XML importieren
  • fc_ldap_query: LDAP-Abfrage
  • fc_move_form_record_to_inbox: In Postfach verschieben
  • fc_multiple_condition: Bedingung (Wert prüfen)
  • fc_post_request: HTTP-Request
  • fc_provide_resource: Datei bereitstellen
  • fc_queue_task: Benutzerdefiniertes Ereignis auslösen
  • fc_redirect: Weiterleitung
  • fc_renew_process_id: Neue Prozess-ID vergeben
  • fc_return: Verarbeitungskette beenden
  • fc_return_file: Datei ausliefern
  • fc_save_to_file_system: Speichern im Dateisystem
  • fc_set_saved_flag: Zwischenspeichern
  • fc_show_template: HTML-Abschlussseite
  • fc_sql_statement: Datenbank-Abfrage
  • fc_throw_exception: Fehler werfen
  • fc_write_form_record_attributes: Server-Attribut setzen
  • sequence: Blockanweisung