Wiki source code of Anwendungseinstellungen


Show last authors
1 {{content/}}
2
3 The file //application.properties// stores several application-wide properties, such as which links are shown on the start page or settings regarding failed logins. The file can be found in the config directory on the master server. The exact location of the propterties files is listed under System > [[Server information>>doc:Formcycle.SystemSettings.UserInterface.ServerInformation||target="_blank"]] > Used paths > Configuration files.
4
5 == UI ==
6
7
8 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding the user interface."}}
9 |= Property |= Default value|= Explanation
10 |login.show.link.register|true|Whether a link for creating a new account is shown on the start page.
11 |login.show.link.password|true|Whether a link for forgotten passwords is shown on the start page.
12 |login.show.link.help|true|Whether a link to these help pages is shown on the start page.
13 |login.show.link.faq|true|Whether a link to the Q&A page is shown on the start page.
14 |login.show.link.privacy|true|Whether a link to the privacy policy is shown on the start page.
15 |login.show.link.imprint|true|Whether a link to the imprint is shown on the start page.
16 |login.show.link.terms|true|Whether a link to the terms and conditions is shown on the start page.
17 |login.show.link.license|true|Whether a link to the licensing conditions is shown on the start page.
18 |login.show.footer|true|Whether the footer is shown on the start page. The footer contains the imprint, privacy policy etc.
19 |defaults.show.logo|true|Whether the logo of the application is shown on the start page.
20 |defaults.show.version|true|Whether the version of the application is shown on the start page.
21 {{/table}}
22
23 == URLs ==
24
25 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding URLs to various external pages."}}
26 |= Property|= Default value|= Explanation
27 |defaults.url.help.designer|https://help.formcycle.eu/xwiki/bin/view/Main/Designer|URL for the help pages of the {{designer case="gen"/}}.
28 |defaults.url.video|http://www.formcycle.de/videos/|URL for the tutorial videos for {{formcycle/}}.
29 |defaults.url.help|https://help.formcycle.eu/xwiki/bin/view/Main/|URL for the help pages of {{formcycle/}}.
30 |defaults.url.qa|https://faq.formcycle.eu/|URL for the Q&A pages for {{formcycle/}}.
31 |defaults.url.register|https://form.cloud|URL for creating a new account.
32 |defaults.url.privacy|https://form.cloud/datenschutz.html|URL for the privacy policy.
33 |defaults.url.imprint|https://www.xima.de/impressum/|URL for the imprint.
34 |defaults.url.terms|https://form.cloud/agb.html|URL for the terms and conditions.
35 |defaults.url.license|https://www.formcycle.de/lizenzbedingungen|URL for the licensing conditions.
36 |defaults.url.formcycle|https://www.formcycle.de|URL to {{formcycle/}}
37 |defaults.url.formcloud|https://www.form.cloud|URL to the {{formcloud/}}.
38 |defaults.url.loopback.base ^^since 5.0.17^^||Alternative loopback URL for internal calls (e.g. print) .
39 {{/table}}
40
41 == Default language ==
42
43 Change the default language of the application by modifying these properties. The application itself is fully internationalizable.
44
45 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding the default language"}}
46 |= Property|= Default value|= Explanation
47 |defaults.systemeinstellung.language|-|Language code for the default language of the application.[[ISO-639 alpha-2 oder alpha-3>>https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html||target="_blank"]].
48 |defaults.systemeinstellung.county|-|Region code for the default language of the application. [[ISO 3166 alpha-2 country code or UN M.49 numeric-3 area code.>>https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html||target="_blank"]]
49 |defaults.systemeinstellung.variant|-|[[Language variation for the default language of the application.>>https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html||target="_blank"]]
50 {{/table}}
51
52 == Login ==
53
54 To prevent attacks on user passwords, you can limit how often each user may fail to enter the correct password before they are locked out for a certain amount of time.
55
56 By default, a user must wait for 15 minutes after 5 consecutive failed login attempts.
57
58 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding login restrictions"}}
59 |= Property|= Default value|= Explanation
60 |login.duplicated.message.suppress|false|Whether to show a message when a user logs in and another session already exists for the same user.
61 |login.fails.lock.timeout|900 (=15 minutes)|The amount of time in seconds a user needs to wait after using up all their login attempts. If the value is less than {{code language="none"}}60{{/code}}, it is clamped to {{code language="none"}}60{{/code}}.
62 |login.fails.lock.count|5|The number of consecutive failed login attempts before a user is locked out. Set to {{code language="none"}}0{{/code}} for an unlimited amount of attempts.
63 |login.fails.lock.onfullcache|true|Whether the system is locked when the login cache is full. Users cannot login anymore if the system is locked.
64 |login.fails.cache.heap.count|10000|The number of login attempts kept in memory. If less than or equal to {{code language="none"}}0{{/code}}, it is clamped to {{code language="none"}}1000{{/code}}.
65 |login.fails.lock.maxentries|11000|The maximum number of login attempts stored in the cache. If the cache is full, no more logins are allowed. Set to {{code language="none"}}0{{/code}} to disable the limit.
66 |login.fails.cache.disk.size|102400|The number of login attempts cached in the file system. Set to {{code language="none"}}0{{/code}} to disable this limit, and make sure you have got sufficient disk space. Set to a value less than {{code language="none"}}0{{/code}} to disable the file cache (and use only the in-memory cache).
67 |last.login.save|false|Whether the most recent date when a user signed in is saved and shown for each client.
68 {{/table}}
69
70 An example for a configuration requiring a user to wait to 100 minutes after 10 failed login attempts.
71
72 {{code language="none"}}
73 login.fails.lock.timeout=6000
74 login.fails.lock.count=10
75 {{/code}}
76
77 {{info}}
78 The number of login attempts before a user is locked out is separate for each {{mserver/}} and {{fserver/}}. Please note that this may change in upcoming releases.
79 {{/info}}
80
81 == Cache ==
82
83 The file cache stores files used by the system, the form cache stores rendered HTML forms.
84
85 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding the file and form caches"}}
86 |= Property|= Default value|= Explanation
87 |cache.files.disk.size|-1|Maximum size in MB of what the file cache stores in the file system. No limit when set to {{code language="none"}}-1{{/code}}. If set to {{code language="none"}}0{{/code}}, the file system is not used by the cache.
88 |cache.files.heap.size|75|Maximum size in MB of what the file cache stores in-memory. If set to {{code language="none"}}0{{/code}}, the in-memory file cache is disabled.
89 |cache.files.idletime|0|Time interval in seconds until an item in the form cache is removed when it is never accessed during that time interval. Set to {{code language="none"}}0{{/code}} to disable.
90 |cache.forms.disk.size|-1|Maximum size in MB of what the form cache stores in the file system. No limit when set to {{code language="none"}}-1{{/code}}. If set to {{code language="none"}}0{{/code}}, the file system is not used by the cache.
91 |cache.forms.heap.size|75|Maximum size in MB of what the form cache stores in-memory. If set to {{code language="none"}}0{{/code}}, the in-memory form cache is disabled.
92 |cache.forms.idletime|0|Time interval in seconds until an item in the form cache is removed when it is never accessed during that time interval. Set to {{code language="none"}}0{{/code}} to disable.
93 {{/table}}
94
95 == System ==
96
97 {{table dataTypeAlpha="0" preSort="0-asc" caption="Various settings regarding the application"}}
98 |= Property|= Default value|= Explanation
99 |bot.field.name|x-i-m-a-5536-required|Name of the hidden input field [[for detecting bots>>doc:Formcycle.SystemSettings.ErrorMessageTemplates]]. Since V7, the field name is automatically renewed when the form is opened.
100 |{{version major="7" minor="1"/}} bot.field.autocomplete|new-password|Value for the //autocomplete// attribute of the bot field. When this property is not present, it defaults to //new-password//. When the value is empty, the //autocomplete// attribute is not set. Any other value is used for the //autocomplete// attribute.
101 |defaults.systemeinstellung.loginName|sadmin|Login name for the super administrator of the system.
102 |defaults.systemeinstellung.passwort|hash(admin)|Login name for the super administrator of the system. Should be changed after installing the application. The password is stored hashed, it should not be set manually in the configuration file, but only via the user interface.
103 |cluster.implementation|jgroups|The implementation used for [[clustering>>doc:Formcycle.SystemSettings.UserInterface.Cluster.WebHome]]. Allowed options are [[jgroups>>http://www.jgroups.org/||target="_blank"]] and [[shoal>>https://javaee.github.io/shoal/||target="_blank"]].
104 |system.server.id |(generated)|Unique ID of the server which can be included in the HTTP header and attached to the submit URL of a form for the use of load balancers. See //HTTP//.
105 |{{version major="7" minor="1"/}} monitoring.enabled|false|Whether the [[frontend server monitoring URL>>doc:Formcycle.SystemSettings.Monitoring]] is enabled.
106 |{{version major="7" minor="1"/}} monitoring.allowed.hosts|(empty)|List of host, that are allowd to access the [[frontend server monitoring URL>>doc:Formcycle.SystemSettings.Monitoring]] . localhost (loopback) is always granted access.
107 |defaults.http.use_system_properties {{version major="7" minor="2"/}}|true|When //true//, uses settings from JVM system properties to configure HTTP requests. The following system properties are read: //https.protocols//, //https.cipherSuites//, //http.keepAlive//, //http.maxConnections//, //http.agent//. In addition, when a proxy was configured for the JVM, that proxy is used unless an explicit proxy server was configured within {{formcycle/}}. Finally, when attempting to access protected resources, the default system credentials provider is also queried for credentials.
108 {{/table}}
109
110 == Limits ==
111
112 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding various limits"}}
113 |= Property|= Default value|= Explanation
114 |defaults.upload.max_size|-1|Maximum size in bytes for file uploads within forms. Applies to each file individually. Set to {{code language="none"}}-1{{/code}} to disable.
115 |defaults.query.database.max_rowcount|5000|Maximum number of returned rows for a query to the database. Set to {{code language="none"}}0{{/code}} to disable.
116 |defaults.upload.max_fieldsize|0|Maximum size in bytes when retrieving columns of type //character// (eg. char or varchar) or //binary//. Set to {{code language="none"}}0{{/code}} to disable.
117 {{/table}}
118
119 == Frontend server ==
120
121 These settings control the connection to the {{fserver/}}. They should be edited [[via the user interface>>doc:Formcycle.SystemSettings.UserInterface.FrontendServer]].
122
123 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding the frontend server."}}
124 |= Property|= Default value|= Explanation
125 |fs.settings.interface|0.0.0.0|The network interface the {{fserver/}} uses for listening to connections from the {{mserver/}}.
126 |fs.settings.port|4753|The port for the connection to the {{mserver/}}.
127 |fs.settings.ssl.use|false|Whether the connection between the {{mserver/}}and {{fserver/}} is encrypted via SSL.
128 |fs.settings.authKey|(empty string)|The token of this {{fserver/}}. Used to check if the {{mserver/}} is authorized to establish a connection to this {{fserver/}}.
129 |fs.settings.ssl.keystore.path|(empty string)|The path to the keystore file (on the file system) for the connection. Required if SSL is used.
130 |fs.settings.ssl.keystore.pass|(empty string)|The password needed to access the keystore. Required if SSL is used.
131 {{/table}}
132
133 == LDAP ==
134
135 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings regarding LDAP"}}
136 |= Property|= Default value|= Explanation
137 |ldap.override.filter.user|(~|(objectclass=user)(objectclass=person)(objectclass=inetOrgPerson)(objectclass=organizationalPerson))|LDAP filter for searching for available [[LDAP users>>doc:Formcycle.UserInterface.UserSettings.LDAP]]. By default, finds all objects with the object class {{code language="none"}}user{{/code}}, {{code language="none"}}person{{/code}}, {{code language="none"}}inetOrgPerson{{/code}}, or {{code language="none"}}organinsationalPerson{{/code}}.
138 |ldap.override.filter.user.login|(~|(sAMAccountName={0})(userPrincipalName={0})(uid={0}))|LDAP-Filter for locating a user with a given login name. Specify the login name with the placeholder {{code language="none"}}{0}{{/code}}. By default, finds all users if the attribute {{code language="none"}}sAMAccountName{{/code}}, {{code language="none"}}userPrincipalName{{/code}} or {{code language="none"}}uid{{/code}} matches the login name.
139 |ldap.override.filter.kerberos.user |//Value of the user query see above.//|LDAP filter for searching a user after Kerberos authentication. The available login corresponds to the pattern {{code language="none"}}<username>(/<instance>)@<REALM>{{/code}} where the {{code language="none"}}/<instance>{{/code}} part is optional. Using the example {{code language="none"}}test/admin@EXAMPLE.COM{{/code}}, the individual components are available in the corresponding filter as follows: {{code language="none"}}{0}{{/code}}={{code language="none"}}test/admin@EXAMPLE.COM{{/code}}, {{code language="none"}}{1}{{/code}}={{code language="none"}}test/admin{{/code}}, {{code language="none"}}{2}{{/code}}={{code language="none"}}test{{/code}},{{code language="none"}}{3}{{/code}}={{code language="none"}}admin{{/code}},{{code language="none"}}{4}{{/code}}={{code language="none"}}EXAMPLE.COM{{/code}}. For example, to perform a user search within a single-domain environment with a non-standard {{code language="none"}}userPrincipalName{{/code}}, the query could be defined as follows: {{code language="none"}}(sAMAccountName={2}){{/code}}
140 |ldap.override.filter.group|(~|(objectclass=group)(objectclass=groupofnames)(objectclass=groupofuniquenames))|LDAP filter for searching for [[LDAP groups>>doc:Formcycle.UserInterface.UserSettings.LDAPGroups]]. By default, searches for all objects with the object class {{code language="none"}}group{{/code}}, {{code language="none"}}groupofnames{{/code}}, or {{code language="none"}}groupofuniquenames{{/code}}.
141 {{/table}}
142
143 == HTTP ==
144
145 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings for HTTP requests and responses"}}
146 |= Property|= Default value|= Explanation
147 |http.header.referer|same-origin|The referre policy for HTTP responses. You can also change this setting [[in the system settings menu >>doc:Formcycle.SystemSettings.UserInterface.General.WebHome]].
148 |http.header.hsts.max|(empty)|The value for the //max-age// of the HTTP Strict Transport Security. You can also change this setting [[in the system settings menu >>doc:Formcycle.SystemSettings.UserInterface.General.WebHome]].
149 |http.header.hsts.sub|false|Whether the HTTP Strict Transport Security should be applied to sub domains as well. You can also change this setting [[in the system settings menu >>doc:Formcycle.SystemSettings.UserInterface.General.WebHome]].
150 |http.header.serverid.name |(not available)|Specifies the header name with which the //system.server.id// is written to all requests. If this entry exists but is empty the corresponding header will not be set. If the entry does not exist the default //XFC-Server-Id// is used.
151 |http.param.serverid.name |(not available)|Specifies the name of the URL parameter used to append the //system.server.id// to the form submission URL. If the value is empty or not available, no parameter will be appended.
152 |http.header.csp.backend {{version major="7" minor="2" patch="1" /}}|(empty)|Sets the value for the HTTP headder //Content-Security-Policy// in the backend (configuration UI). You can also edit this value in the backend via the menu System, General.
153 |http.header.csp.frontend {{version major="7" minor="2" patch="1" /}}|(empty)|Sets the value for the HTTP headder //Content-Security-Policy// in the frontend (web form). You can also edit this value in the backend via the menu System, General.
154 |http.header.csp.reportonly.backend {{version major="7" minor="2" patch="1" /}}|(empty)|Sets the value for the HTTP headder //Content-Security-Policy-Report-Only// in the backend (configuration UI). You can also edit this value in the backend via the menu System, General.
155 |http.header.csp.reportonly.frontend {{version major="7" minor="2" patch="1" /}}|(empty)|Sets the value for the HTTP headder //Content-Security-Policy-Report-Only// in the frontend (web forms). You can also edit this value in the backend via the menu System, General.
156 {{/table}}
157
158 == Debug ==
159
160 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings for debugging"}}
161 |= Property|= Default value|= Explanation
162 |debug.show_sql|false|Sets [[the Hibernate properties>>http://docs.jboss.org/hibernate/core/4.3/manual/en-US/html/ch03.html#configuration-logging]] {{code language="none"}}hibernate.show_sql{{/code}} and {{code language="none"}}hibernate.format_sql{{/code}} to {{code language="none"}}true{{/code}}. Write all executed SQL statements to the console.
163 {{/table}}
164
165 == Quartz jobs ==
166
167 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings for quartz jobs"}}
168 |= Property|= Default value|= Explanation
169 |cleanup.worker.active|true|Whether the system cleanup job is active and run periodically. The system clean up jobs, for example, checks for unconfirmed form records waitning for a double opt-in confirmation, and deletes them when they are expired.
170 |cleanup.worker.cronexpression|0 0,15,30,45 * ? * *|The cron expression for the system clean up job that indicates when and how often that job is run. The system clean up jobs, for example, checks for unconfirmed form records waitning for a double opt-in confirmation, and deletes them when they are expired.
171 |quartz.threadpool.thread.count {{version major="7" minor="0" patch="10" /}}|10|The number of threads for the scheduler. Default value is 10. When set to 0, new jobs are created, but no jobs are executed. This is useful in scenarios when the jobs should be run by another server.
172 |quartz.scheduler.check.interval {{version major="7" minor="0" patch="10" /}}|30000|Is the amount of time in milliseconds that the scheduler will wait before re-queries for available triggers when the scheduler is otherwise idle. Normally you should not have to 'tune' this parameter, unless you’re using XA transactions, and are having problems with delayed firings of triggers that should fire immediately. Values less than 5000 ms are not recommended as it will cause excessive database querying. Values less than 1000 are not legal.
173 |quartz.jobstore.misfire.threshold {{version major="7" minor="0" patch="10" /}}|60000|The number of milliseconds the scheduler will 'tolerate' a trigger to pass its next-fire-time by, before being considered "misfired". The default value (if you don’t make an entry of this property in your configuration) is 60000 (60 seconds).
174 {{/table}}
175
176 == Sending of emails ==
177
178 {{table dataTypeAlpha="0" preSort="0-asc" caption="Settings for the sending of emails"}}
179 |= Eigenschaft |= Standardwert |= Beschreibung
180 |mail.smtp.connectiontimeout {{version major="7" minor="0" patch="4" /}}|300000|SMTP Socket connection timeout value in milliseconds.
181 |mail.smtp.timeout {{version major="7" minor="0" patch="4" /}}|300000|SMTP Socket I/O timeout value in milliseconds.
182 {{/table}}
183
184 == Workflow ==
185
186 The following properties can be used to selectively enable or disable certain events or actions of the new workflow.
187
188 The properties for events share the following pattern:
189
190 {{code language="text"}}
191 trigger.<technical_name_of_the_event>.enable=false
192 {{/code}}
193
194 The properties for actions share the following pattern:
195
196 {{code language="text"}}
197 processing.<technical_name_of_the_action>.enable=false
198 {{/code}}
199
200 The technical event names are as follows:
201
202 * //fc_catch_error//: Workflow error
203 * //fc_doi_verified//: Double opt-in confirmed
204 * //fc_form_submit_button//: Technical name
205 * //fc_invitation_error//: Invitation failed
206 * //fc_invitation_sent//: Invitation sent
207 * //fc_manual//: Custom
208 * //fc_qualified_form_submit_button//: Submit button
209 * //fc_state_timer//: After state change
210 * //fc_time_point//: Date and time
211
212 The technical action names are as follows:
213
214 * //fc_change_form_availability//: Change availability
215 * //fc_change_form_value//: Change form values
216 * //fc_change_state//: Set state
217 * //fc_compress_as_zip//: Compress files
218 * //fc_copy_form_record//: Copy form record
219 * //fc_counter//: Change counter
220 * //fc_create_text_file//: Create text file
221 * //fc_delete_form_record//: Delete form record
222 * //fc_doi_init//: Send double opt-in email
223 * //fc_email//: Email
224 * //fc_empty//: Empty statement
225 * //fc_experiment//: Handle errors
226 * //fc_export_to_persistence//: Export to persistence file
227 * //fc_export_to_xml//: Export as XML
228 * //fc_fill_pdf//: Fill PDF document
229 * //fc_fill_word//: Fill word document
230 * //fc_import_form_value_from_xml//: Import from XML
231 * //fc_ldap_query//: LDAP query
232 * //fc_move_form_record_to_inbox//: Move to inbox
233 * //fc_multiple_condition//: Condition (Check value)
234 * //fc_post_request//: HTTP request
235 * //fc_provide_resource//: Provide file
236 * //fc_queue_task//: Queue custom event
237 * //fc_redirect//: Redirect
238 * //fc_renew_process_id//: Create new process ID
239 * //fc_return//: Stop processing chain
240 * //fc_return_file//: File download
241 * //fc_save_to_file_system//: Save to file system
242 * //fc_set_saved_flag//: Save
243 * //fc_show_template//: HTML response page
244 * //fc_sql_statement//: Database query
245 * //fc_throw_exception//: Throw error
246 * //fc_write_form_record_attributes//: Set server attribute
247 * //sequence//: Block statement