<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.open-xchange.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ioannis.chouklis</id>
	<title>Open-Xchange - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.open-xchange.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ioannis.chouklis"/>
	<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Special:Contributions/Ioannis.chouklis"/>
	<updated>2026-06-30T17:29:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=Jolokia&amp;diff=24358</id>
		<title>Jolokia</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Jolokia&amp;diff=24358"/>
		<updated>2018-10-29T11:23:53Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Migration|title=Jolokia|link=https://documentation.open-xchange.com/7.10.0/middleware/components/monitoring/jolokia.html}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=Jolokia_LoginCounter_HOWTO&amp;diff=24357</id>
		<title>Jolokia LoginCounter HOWTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Jolokia_LoginCounter_HOWTO&amp;diff=24357"/>
		<updated>2018-10-29T11:09:04Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Migration|title=HOWTO - Access Login Counter data with Jolokia|link=https://documentation.open-xchange.com/7.10.0/middleware/components/monitoring/login_counter_howto.html}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=Template:Migration&amp;diff=24356</id>
		<title>Template:Migration</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Template:Migration&amp;diff=24356"/>
		<updated>2018-10-29T11:07:55Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= {{{title}}} = &lt;br /&gt;
&lt;br /&gt;
The content on this page has moved to {{{link}}}.&lt;br /&gt;
&lt;br /&gt;
Note: Open-Xchange is in the process of migrating all its technical documentation to a new and improved documentation system (https://documentation.open-xchange.com). Please note as the migration takes place more information will be available on the new system and less on this system. Thank you for your understanding during this period of transition.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=Template:Migration&amp;diff=24355</id>
		<title>Template:Migration</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Template:Migration&amp;diff=24355"/>
		<updated>2018-10-29T11:05:58Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: Documentation Migration Note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: Open-Xchange is in the process of migrating all its technical documentation to a new and improved documentation system (https://documentation.open-xchange.com). Please note as the migration takes place more information will be available on the new system and less on this system. Thank you for your understanding during this period of transition.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24261</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24261"/>
		<updated>2018-09-20T10:15:26Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -e &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name&amp;gt;=&amp;lt;logger_level&amp;gt; ...] -A &amp;lt;masterAdmin&amp;gt; -P &amp;lt;masterAdminPassword&amp;gt; [-p &amp;lt;RMI-Port&amp;gt;] [-s &amp;lt;RMI-Server] | [-oec &amp;lt;category_1&amp;gt;,...] | [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -e,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A, --adminuser &amp;lt;username&amp;gt;&lt;br /&gt;
| Master admin username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --adminpass &amp;lt;password&amp;gt;&lt;br /&gt;
| Master admin password&lt;br /&gt;
|-&lt;br /&gt;
| -s, --server &amp;lt;rmiServer&amp;gt;&lt;br /&gt;
| Optional RMI server (Defaults to localhost)&lt;br /&gt;
|-&lt;br /&gt;
| -p, --port &amp;lt;rmiPort&amp;gt;&lt;br /&gt;
| Optional RMI port (Defaults to 1099)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Exception Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE -A oxadminmaster -P secret&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite -A oxadminmaster -P secret&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG -A oxadminmaster -P secret&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY -A oxadminmaster -P secret&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24260</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24260"/>
		<updated>2018-09-20T10:15:14Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -e &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name&amp;gt;=&amp;lt;logger_level&amp;gt; ...] -A &amp;lt;masterAdmin&amp;gt; -P &amp;lt;masterAdminPassword&amp;gt; [-p &amp;lt;RMI-Port&amp;gt;] [-s &amp;lt;RMI-Server] | [-oec &amp;lt;category_1&amp;gt;,...] | [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -e,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A, --adminuser &amp;lt;username&amp;gt;&lt;br /&gt;
| Master admin username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --adminpass &amp;lt;password&amp;gt;&lt;br /&gt;
| Master admin password&lt;br /&gt;
|-&lt;br /&gt;
| -s, --server &amp;lt;rmiServer&amp;gt;&lt;br /&gt;
| Optional RMI server (Defaults to localhost)&lt;br /&gt;
|-&lt;br /&gt;
| -p, --port &amp;lt;rmiPort&amp;gt;&lt;br /&gt;
| Optional RMI port (Defaults to 1099)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Exception Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE -A oxadminmaster -P secret&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite -A oxadminmaster -P secret&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG -A oxadminmaster -P secret&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24259</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24259"/>
		<updated>2018-09-20T10:14:34Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -e &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name&amp;gt;=&amp;lt;logger_level&amp;gt; ...] -A &amp;lt;masterAdmin&amp;gt; -P &amp;lt;masterAdminPassword&amp;gt; [-p &amp;lt;RMI-Port&amp;gt;] [-s &amp;lt;RMI-Server] | [-oec &amp;lt;category_1&amp;gt;,...] | [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -e,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A, --adminuser &amp;lt;username&amp;gt;&lt;br /&gt;
| Master admin username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --adminpass &amp;lt;password&amp;gt;&lt;br /&gt;
| Master admin password&lt;br /&gt;
|-&lt;br /&gt;
| -s, --server &amp;lt;rmiServer&amp;gt;&lt;br /&gt;
| Optional RMI server (Defaults to localhost)&lt;br /&gt;
|-&lt;br /&gt;
| -p, --port &amp;lt;rmiPort&amp;gt;&lt;br /&gt;
| Optional RMI port (Defaults to 1099)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Exception Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24258</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24258"/>
		<updated>2018-09-20T10:14:05Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [[-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -e &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name&amp;gt;=&amp;lt;logger_level&amp;gt; ...] -A &amp;lt;masterAdmin&amp;gt; -P &amp;lt;masterAdminPassword&amp;gt; [-p &amp;lt;RMI-Port&amp;gt;] [-s &amp;lt;RMI-Server]] | [-oec &amp;lt;category_1&amp;gt;,...] | [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -e,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A, --adminuser &amp;lt;username&amp;gt;&lt;br /&gt;
| Master admin username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --adminpass &amp;lt;password&amp;gt;&lt;br /&gt;
| Master admin password&lt;br /&gt;
|-&lt;br /&gt;
| -s, --server &amp;lt;rmiServer&amp;gt;&lt;br /&gt;
| Optional RMI server (Defaults to localhost)&lt;br /&gt;
|-&lt;br /&gt;
| -p, --port &amp;lt;rmiPort&amp;gt;&lt;br /&gt;
| Optional RMI port (Defaults to 1099)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Exception Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24257</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24257"/>
		<updated>2018-09-20T10:11:39Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [[-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name&amp;gt;=&amp;lt;logger_level&amp;gt; ...] -A &amp;lt;masterAdmin&amp;gt; -P &amp;lt;masterAdminPassword&amp;gt; [-p &amp;lt;RMI-Port&amp;gt;] [-s &amp;lt;RMI-Server]] | [-oec &amp;lt;category_1&amp;gt;,...] | [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -e,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A, --adminuser &amp;lt;username&amp;gt;&lt;br /&gt;
| Master admin username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --adminpass &amp;lt;password&amp;gt;&lt;br /&gt;
| Master admin password&lt;br /&gt;
|-&lt;br /&gt;
| -s, --server &amp;lt;rmiServer&amp;gt;&lt;br /&gt;
| Optional RMI server (Defaults to localhost)&lt;br /&gt;
|-&lt;br /&gt;
| -p, --port &amp;lt;rmiPort&amp;gt;&lt;br /&gt;
| Optional RMI port (Defaults to 1099)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Exception Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24255</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=24255"/>
		<updated>2018-09-20T10:08:40Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [[-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name&amp;gt;=&amp;lt;logger_level&amp;gt; ...] -A &amp;lt;masterAdmin&amp;gt; -P &amp;lt;masterAdminPassword&amp;gt; [-p &amp;lt;RMI-Port&amp;gt;] [-s &amp;lt;RMI-Server]] | [-oec &amp;lt;category_1&amp;gt;,...] | [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Exception Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=OX_monitoring_interface&amp;diff=24160</id>
		<title>OX monitoring interface</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=OX_monitoring_interface&amp;diff=24160"/>
		<updated>2018-07-09T11:08:30Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Monitoring Interface =&lt;br /&gt;
&lt;br /&gt;
The content on this page has moved to https://documentation.open-xchange.com/7.10.0/middleware/components/monitoring/monitoring_interface.html.&lt;br /&gt;
&lt;br /&gt;
Note: Open-Xchange is in the process of migrating all its technical documentation to a new and improved documentation system (https://documentation.open-xchange.com). Please note as the migration takes place more information will be available on the new system and less on this system. Thank you for your understanding during this period of transition.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=Jolokia&amp;diff=24159</id>
		<title>Jolokia</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Jolokia&amp;diff=24159"/>
		<updated>2018-07-09T11:07:43Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Jolokia&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The content on this page has moved to https://documentation.open-xchange.com/7.10.0/middleware/components/monitoring/jolokia.html.&lt;br /&gt;
&lt;br /&gt;
Note: Open-Xchange is in the process of migrating all its technical documentation to a new and improved documentation system (https://documentation.open-xchange.com). Please note as the migration takes place more information will be available on the new system and less on this system. Thank you for your understanding during this period of transition.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=Jolokia_LoginCounter_HOWTO&amp;diff=24158</id>
		<title>Jolokia LoginCounter HOWTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Jolokia_LoginCounter_HOWTO&amp;diff=24158"/>
		<updated>2018-07-09T11:07:03Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HOWTO - Access Login Counter data with Jolokia = &lt;br /&gt;
&lt;br /&gt;
The content on this page has moved to https://documentation.open-xchange.com/7.10.0/middleware/components/monitoring/login_counter_howto.html.&lt;br /&gt;
&lt;br /&gt;
Note: Open-Xchange is in the process of migrating all its technical documentation to a new and improved documentation system (https://documentation.open-xchange.com). Please note as the migration takes place more information will be available on the new system and less on this system. Thank you for your understanding during this period of transition.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Logincounter&amp;diff=24157</id>
		<title>AppSuite:Logincounter</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Logincounter&amp;diff=24157"/>
		<updated>2018-07-09T11:05:54Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Login Counter =&lt;br /&gt;
&lt;br /&gt;
The content on this page has moved to https://documentation.open-xchange.com/7.10.0/middleware/components/commandlinetools/logincounter.html.&lt;br /&gt;
&lt;br /&gt;
Note: Open-Xchange is in the process of migrating all its technical documentation to a new and improved documentation system (https://documentation.open-xchange.com). Please note as the migration takes place more information will be available on the new system and less on this system. Thank you for your understanding during this period of transition.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Permission_Level&amp;diff=23828</id>
		<title>AppSuite:Permission Level</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Permission_Level&amp;diff=23828"/>
		<updated>2018-02-08T08:33:57Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Additional Flexible Functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VersionFrom|7.4.2}}&lt;br /&gt;
= OX Permission Level Matrix=&lt;br /&gt;
Note: ''While permissions still apply to versions from 7.4.2 on, a new concept named capabilities has been introduced. This allows for a more granular control of access to features. This article has not yet been updated to reflect this enhancement.''&lt;br /&gt;
&lt;br /&gt;
App Suite allows to provide different permission levels to the users. &lt;br /&gt;
&lt;br /&gt;
The levels start with pure webmail-only functionality and end with the full featured groupware product including all connectors and are described in the first table.&lt;br /&gt;
&lt;br /&gt;
* '''Webmail''' contains pure webmail functionality including a private addressbook&lt;br /&gt;
* '''PIM''' (Private Information Management) adds private calendar and private tasks, no group or sharing permissions are available&lt;br /&gt;
* '''PIM + Mobility''' adds mobile synchronisation to the PIM level&lt;br /&gt;
* '''PIM + InfoStore''' adds private InfoStore functionality to the PIM level&lt;br /&gt;
* '''Groupware Standard''' includes all group and sharing permissions as well as the InfoStore&lt;br /&gt;
* '''Groupware Premium''' adds all external connectors and mobile synchronisation to Groupware Standard&lt;br /&gt;
&lt;br /&gt;
In addition to this levels, App Suite contains several functions, which can flexible be used with every level. This functions are described in the second table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to read the Matrix ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
!  !!  Definition&lt;br /&gt;
|-&lt;br /&gt;
| '''Mandatory''' ||  This column defines the options, which must not be changed for this level. '''This is a technical requirement and necessary for the correct functioning of OX HE/SE/App Suite'''&lt;br /&gt;
|-&lt;br /&gt;
| '''Default''' ||  This column lists the options, which are activated per default for this level&lt;br /&gt;
|-&lt;br /&gt;
| '''API Parameter''' || Related parameter in the RMI, SOAP and CLT API - described in the [http://software.open-xchange.com/OX6/doc/OX6-Provisioning.pdf Provisioning Documentation]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''and/or''' || Minimum one of this options need to be activated in this level&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | &amp;amp;nbsp;|| Fields in this color define the most important differentiator to the next lower level&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix - Permission Levels ==&lt;br /&gt;
&lt;br /&gt;
This table describes the mandatory parameters for the different permission levels.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! OX Base Levels  !!  Functionality !! Mandatory (technical requirement) !! Default !! Requirements / Description !! &amp;amp;nbsp; !! API Parameter&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Webmail'''&lt;br /&gt;
Webmail only &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp;|| webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | '''PIM'''&amp;lt;br&amp;gt;Private use only&amp;lt;br&amp;gt;No sharing, no group functions. &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || rowspan=&amp;quot;3&amp;quot; | The absence of other features defines this level || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|Global Addressbook  || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|Tasks  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; | '''PIM + Mobility'''&amp;lt;br&amp;gt;Private use only&amp;lt;br&amp;gt;No sharing, no group functions&amp;lt;br&amp;gt;Enabled for mobile synchronization &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp; || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | USM ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || usm&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Active Sync ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || rowspan=&amp;quot;2&amp;quot; | This defines the level&amp;lt;br&amp;gt;At least one of these needs to be set&amp;lt;br&amp;gt;Typically &amp;quot;Active Sync&amp;quot;|| &amp;amp;nbsp; || activesync&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | SyncML ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || syncml (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|Global Addressbook  || &amp;amp;nbsp;|| [[File:Cross_gray.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|Tasks  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | '''PIM + InfoStore''' &amp;lt;br&amp;gt;Private use only&amp;lt;br&amp;gt;No sharing, no group functions&amp;lt;br&amp;gt;Enabled for document storage. &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | InfoStore ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] || This combined with the absence of other switches defines the level &amp;lt;br&amp;gt; || &amp;amp;nbsp; || infostore&lt;br /&gt;
|-&lt;br /&gt;
|Global Addressbook  || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|Tasks  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; | '''Groupware Standard'''&amp;lt;br&amp;gt;Full Groupware functionality&amp;lt;br&amp;gt;Access restricted to Web GUI &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp; || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Tasks ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Shared Folders ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || rowspan=&amp;quot;3&amp;quot; | This defines the level&amp;lt;br&amp;gt;All need to be set together || &amp;amp;nbsp; || readcreatesharedfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Public Folders ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || editpublicfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Task Delegation ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || delegatetask&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Global Addressbook ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|InfoStore  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || infostore&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | '''Groupware Premium'''&amp;lt;br&amp;gt;Full Groupware functionality&amp;lt;br&amp;gt;All external clients enabled (Mobility, Outlook, Mac)&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp; || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Tasks ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Shared Folders ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || readcreatesharedfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Public Folders ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || editpublicfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Task Delegation ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || delegatetask&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Global Addressbook ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | USM ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || usm&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | OLOX2 ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || rowspan=&amp;quot;4&amp;quot; | This defines the level&amp;lt;br&amp;gt;At least one of these needs to be set.&amp;lt;br&amp;gt;Typically OLOX2 and Active Sync || &amp;amp;nbsp; || olox20&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | OLOX (Legacy) ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || webdavxml (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Active Sync ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || activesync&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | SyncML ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || syncml (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|InfoStore  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || infostore&lt;br /&gt;
|-&lt;br /&gt;
|iCal Access  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || ical (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|vCard Access  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || vcard (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Flexible Functions ==&lt;br /&gt;
&lt;br /&gt;
The following functions can be added flexible to each permission level.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Additional Functions  !!  Default !! Requirements / Description !! &amp;amp;nbsp; !! API Parameter&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Minimum Webmail'''&lt;br /&gt;
|Collect Emailaddresses || Email addresses typed into sent/reveived emails can be saved automatically in a dedicated folder || &amp;amp;nbsp; || collectemailaddresses&lt;br /&gt;
|-&lt;br /&gt;
|Edit Password  || If a plugin to change the own password is installed on the system, it will be displayed in the settings area || &amp;amp;nbsp; || editpassword&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | '''Minimum PIM'''&lt;br /&gt;
|Multiple Mailaccounts || The user can use  external IMAP/POP3 Mailaccounts within the OX WebGUI. Starting with 6.20 this can be configured per email service || &amp;amp;nbsp; || multiplemailaccounts&lt;br /&gt;
|-&lt;br /&gt;
|Subscriptions || The user can subscribe to external/social datasources, like LinkedIN (removed since 7.10.0), XING, Gmail, .... Starting with 6.20 this can be configured per subscription service || &amp;amp;nbsp; || subscriptions&lt;br /&gt;
|-&lt;br /&gt;
|Publications || The user can publish his own data (contacts/documents) for other users in the internet || &amp;amp;nbsp; || publication&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''Minimum PIM + InfoStore'''&lt;br /&gt;
|WebDAV || Allows WebDAV access to InfoStore documents; Requires InfoStore || &amp;amp;nbsp; || webdav&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Minimum GW Standard'''&lt;br /&gt;
|Manage Resources || The user is allowed to create and manage resources for the whole company || &amp;amp;nbsp; || editresource&lt;br /&gt;
|-&lt;br /&gt;
|Manage Groups  || The user is allowed to create and manage groups for the whole company || &amp;amp;nbsp; || editgroup&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Minimum GW Premium'''&lt;br /&gt;
|vCard || The user  can download all his contacts via the vCard interface || &amp;amp;nbsp; || vcard (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|iCal  || The user can download all his contacts via the iCal interface || &amp;amp;nbsp; || ical (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Tutorial_1M&amp;diff=23827</id>
		<title>AppSuite:OX Tutorial 1M</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Tutorial_1M&amp;diff=23827"/>
		<updated>2018-02-08T08:33:26Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Install and configure OX on both servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tutorial: High Available OX App Suite Setup for up to 1 Milion users =&lt;br /&gt;
&lt;br /&gt;
'''This article describes what you need for a typical OX App Suite Setup for up to 1.000.000 Users, which is fully clustered, high available and scaling very flexible.'''&lt;br /&gt;
&lt;br /&gt;
It contains everything you need to:&lt;br /&gt;
* Understand the design of the OX App Suite setup including additional services&lt;br /&gt;
* Install the whole system based on the relevant articles&lt;br /&gt;
* Find pointers to the next steps of integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSuite-1M.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
The system is designed to provide maximum functionality and availability with a minimum of necessary hardware. If the services on one OX server fail, this is transparently handled by the load balancer. If one MySQL server fails, it is sufficient to take over the IP address on the other MySQL server in the cluster to stay fully in operation.&lt;br /&gt;
&lt;br /&gt;
== General recommendations ==&lt;br /&gt;
&lt;br /&gt;
* A virtualisation enviroment is recommended&lt;br /&gt;
* Many machines with less memory (16 GB) are preferred to fewer machines with big memory&lt;br /&gt;
* The picture above shows a valid setup for a webmail only system. Further features like the Business Mobility Connector or OX Documentes require more ressources.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure Components not delivered by OX ==&lt;br /&gt;
&lt;br /&gt;
* An email system providing IMAP and SMTP&lt;br /&gt;
* A control panel for creation and administration of users&lt;br /&gt;
* A Load Balancer in front of the OX servers (optional, recommended)&lt;br /&gt;
&lt;br /&gt;
= Overview Installation Steps =&lt;br /&gt;
&lt;br /&gt;
'''To deploy the described OX setup, the following steps need to be done. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mandatory Steps ==&lt;br /&gt;
# Initialize and configure MySQL database servers&lt;br /&gt;
# Install and configure OX on all servers&lt;br /&gt;
&lt;br /&gt;
== Steps depending on your environment ==&lt;br /&gt;
# Implement Load Balancer&lt;br /&gt;
# Connect Control Panel&lt;br /&gt;
# Connect Email System&lt;br /&gt;
&lt;br /&gt;
== Recommended Optional Next Steps ==&lt;br /&gt;
# Automated Frontend Tests (see [[Automated_GUI_Tests|here]])&lt;br /&gt;
# Upsell Plugin (see [[AppSuite:Upsell|here]] and [[AppSuite:Upsell_tools|here]])&lt;br /&gt;
# Automatic FailOver&lt;br /&gt;
# Theming (see [https://documentation.open-xchange.com/latest/ui/theming.html here])&lt;br /&gt;
&lt;br /&gt;
= Mandatory Installation Steps - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The following steps need to be done in every case to get OX up and running:'''&lt;br /&gt;
&lt;br /&gt;
== Initialize and configure MySQL database on both servers ==&lt;br /&gt;
&lt;br /&gt;
MySQL will be configured as Master-Master configuration to ensure data consistency on both servers.&lt;br /&gt;
If one machine fails, the other machine will take over all functionality.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Database|Database setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
== Install and configure OX on both servers ==&lt;br /&gt;
&lt;br /&gt;
OX will be installed on minimum two servers. It will be configured to '''write''' to the '''first''' MySQL database and to '''read''' from the '''second''' MySQL database in one cluster. This will distribute the load during normal operation as smooth as possible. During FailOver the IP address of the failed MySQL server will be taken over to the working server, the system stays operable.&lt;br /&gt;
&lt;br /&gt;
[[AppSuite:OXLoadBalancingClustering_OXConfiguration|Open-Xchange setup and configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
The NFS server will be mounted on all machines and registered as filestore.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Filestore|Filestore setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
When multiple Open-Xchange Servers are configured within a cluster Session and Loadbalancing needs to be set up.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_SessionLoadbalancing|Session and Loadbalancing for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_NetworkConfiguration|Network configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
You also should install and configure the OXtender for Business Mobility:&lt;br /&gt;
&lt;br /&gt;
[[OXtender_for_Business_Mobility| exchange active sync configuration for Open-Xchange]]&lt;br /&gt;
&lt;br /&gt;
Let your users connect to their data from other services like Twitter or LinkedIn (removed since 7.10.0) by configuring the &amp;quot;SocialOX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[SocialOX|SocialOX-Configuration]]&lt;br /&gt;
&lt;br /&gt;
= Installation Steps depending on your environment - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
'''The following components need to be implemented in your environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implement Load Balancer ==&lt;br /&gt;
&lt;br /&gt;
A load balancer in front of the OX servers is necessary for this deployment size. It needs to handle the requests if one OX server fails.&lt;br /&gt;
&lt;br /&gt;
If you already have a hardware load balancing solution in place, this can be used. OX is known to work with the standard load balancing solutions from BigIP, Barracuda, Foundry, ...&lt;br /&gt;
&lt;br /&gt;
If you do not have a load balancing solution already in place, we recommend to use [http://www.keepalived.org/ Keepalived] as reliable and cost effective solution.&lt;br /&gt;
&lt;br /&gt;
Read more about configuring [[Keepalived | Keepalived for Open-Xchange]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_CP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_HGP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_POA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Auth}}&lt;br /&gt;
&lt;br /&gt;
== Connect Email System ==&lt;br /&gt;
&lt;br /&gt;
Every email system providing IMAP and SMTP can be used as backend to OX. Best experiences are made with the widespread Linux based IMAP servers [http://dovecot.org/ Dovecot],  [http://www.cyrusimap.org/ Cyrus] or [http://www.courier-mta.org/imap/ Courier]. &lt;br /&gt;
&lt;br /&gt;
Other IMAP servers need to be tested thoroughly before going into production.&lt;br /&gt;
&lt;br /&gt;
There are several possibilities to implement the Email system:&lt;br /&gt;
&lt;br /&gt;
# You already have an email system available: Nothing needs to be done, it just needs to be configured&lt;br /&gt;
# You use Parallels Automation (POA): Nothing special needs to be done, everything you need is contained in the APS package&lt;br /&gt;
# You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Dovecot}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{AppSuite:OX_Tutorial_Next}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Tutorial_100K&amp;diff=23826</id>
		<title>AppSuite:OX Tutorial 100K</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Tutorial_100K&amp;diff=23826"/>
		<updated>2018-02-08T08:33:02Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Install and configure OX on both servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tutorial: High Available OX AppSuite Setup for up to 100.000 users =&lt;br /&gt;
&lt;br /&gt;
'''This article describes what you need for a typical OX AppSuite Setup for up to 100.000 Users, which is fully clustered and high available.'''&lt;br /&gt;
&lt;br /&gt;
It contains everything you need to:&lt;br /&gt;
* Understand the design of the OX AppSuite setup including additional services&lt;br /&gt;
* Install the whole system based on the relevant articles&lt;br /&gt;
* Find pointers to the next steps of integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSuite-100k.png|800px]]&lt;br /&gt;
&lt;br /&gt;
The system is designed to provide maximum functionality and availability with a minimum of necessary hardware. If the services on one server fail, it is enough to take over the IP address to the other machine and service will stay up and running.&lt;br /&gt;
&lt;br /&gt;
== Core Components for OX AppSuite ==&lt;br /&gt;
&lt;br /&gt;
* Two OX AppSuite servers (HW recommendation: 16GB RAM / 4 cores each)&lt;br /&gt;
* MySQL installed directly on these server &lt;br /&gt;
* NFS Server to store documents and files&lt;br /&gt;
&lt;br /&gt;
== Infrastructure Components not delivered by OX ==&lt;br /&gt;
&lt;br /&gt;
* An email system providing IMAP and SMTP&lt;br /&gt;
* A control panel for creation and administration of users&lt;br /&gt;
* A Load Balancer in front of the OX servers (optional, recommended)&lt;br /&gt;
&lt;br /&gt;
= Overview Installation Steps =&lt;br /&gt;
&lt;br /&gt;
'''To deploy the described OX setup, the following steps need to be done. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mandatory Steps ==&lt;br /&gt;
# Initialize and configure MySQL database on both servers&lt;br /&gt;
# Install and configure OX on both servers&lt;br /&gt;
&lt;br /&gt;
== Steps depending on your environment ==&lt;br /&gt;
# Implement Load Balancer&lt;br /&gt;
# Connect Control Panel&lt;br /&gt;
# Connect Email System&lt;br /&gt;
&lt;br /&gt;
== Recommended Optional Next Steps ==&lt;br /&gt;
# Automated Frontend Tests (see [[Automated_GUI_Tests|here]])&lt;br /&gt;
# Upsell Plugin (see [[AppSuite:Upsell|here]] and [[AppSuite:Upsell_tools|here]])&lt;br /&gt;
# Automatic FailOver&lt;br /&gt;
# Theming (see [https://documentation.open-xchange.com/latest/ui/theming.html here])&lt;br /&gt;
&lt;br /&gt;
= Mandatory Installation Steps - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The following steps need to be done in every case to get OX up and running:'''&lt;br /&gt;
&lt;br /&gt;
== Initialize and configure MySQL database on both servers ==&lt;br /&gt;
&lt;br /&gt;
MySQL will run on both servers. MySQL will be configured as Master-Master configuration to ensure data consistency on both servers.&lt;br /&gt;
If one machine fails, the other machine will take over all functionality.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Database|Database setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
== Install and configure OX on both servers ==&lt;br /&gt;
&lt;br /&gt;
OX will be installed on both servers. It will be configured to '''write''' to the '''first''' MySQL database and to '''read''' from the '''second''' MySQL database. This will distribute the load during normal operation as smooth as possible. During FailOver the IP address of the failed server will be taken over to the working server, the system stays operable.&lt;br /&gt;
&lt;br /&gt;
[[AppSuite:OXLoadBalancingClustering_OXConfiguration|Open-Xchange setup and configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
The NFS server will be mounted on both machines and registered as filestore.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Filestore|Filestore setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
When multiple Open-Xchange Servers are configured within a cluster Session and Loadbalancing needs to be set up.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_SessionLoadbalancing|Session and Loadbalancing for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_NetworkConfiguration|Network configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
You also should install and configure the OXtender for Business Mobility&lt;br /&gt;
&lt;br /&gt;
[[OXtender_for_Business_Mobility_Installation_Guide|Installation of the OXtender for Business Mobility]]&lt;br /&gt;
&lt;br /&gt;
Let your users connect to their data from other services like Twitter or LinkedIn (removed since 7.10.0) by configuring the &amp;quot;SocialOX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[SocialOX|SocialOX-Configuration]]&lt;br /&gt;
&lt;br /&gt;
= Installation Steps depending on your environment - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
'''The following components need to be implemented in your environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implement Load Balancer ==&lt;br /&gt;
&lt;br /&gt;
A load balancer in front of the OX servers is recommended, but optional in this deployment size. (In small environments, DNS Round Robin may be sufficient).&lt;br /&gt;
&lt;br /&gt;
If you already have a hardware load balancing solution in place, this can be used. OX is known to work with the standard load balancing solutions from BigIP, Barracuda, Foundry, ...&lt;br /&gt;
&lt;br /&gt;
If you do not have a load balancing solution already in place, we recommend to use [http://www.keepalived.org/ Keepalived] as reliable and cost effective solution.&lt;br /&gt;
&lt;br /&gt;
Read more about configuring [[Keepalived | Keepalived for Open-Xchange]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_CP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_HGP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_POA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Auth}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connect Email System ==&lt;br /&gt;
&lt;br /&gt;
Every email system providing IMAP and SMTP can be used as backend to OX. Best experiences are made with the widespread Linux based IMAP servers [http://dovecot.org/ Dovecot],  [http://www.cyrusimap.org/ Cyrus] or [http://www.courier-mta.org/imap/ Courier]. &lt;br /&gt;
&lt;br /&gt;
Other IMAP servers need to be tested thoroughly before going into production.&lt;br /&gt;
&lt;br /&gt;
There are several possibilities to implement the Email system:&lt;br /&gt;
&lt;br /&gt;
# You already have an email system available: Nothing needs to be done, it just needs to be configured&lt;br /&gt;
# You use Parallels Automation (POA): Nothing special needs to be done, everything you need is contained in the APS package&lt;br /&gt;
# You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Dovecot}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{AppSuite:OX_Tutorial_Next}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_FailOver}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Extension_points_for_miscellaneous&amp;diff=23825</id>
		<title>AppSuite:Extension points for miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Extension_points_for_miscellaneous&amp;diff=23825"/>
		<updated>2018-02-08T08:32:39Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- !!! --&amp;gt;&lt;br /&gt;
&amp;lt;!-- PLEASE APPLY CHANGES ONLY TO THE NEW TECHNICAL DOCUMENTATION: wd/frontend/web/documentation --&amp;gt; &lt;br /&gt;
&amp;lt;!-- !!! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Stability-experimental}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Miscellaneous Extension points&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Abstract:''' This describes miscellaneous extension points, allowing you to add functions.&lt;br /&gt;
&lt;br /&gt;
=application-foldertree=&lt;br /&gt;
==io.ox/application-foldertree/links==&lt;br /&gt;
&lt;br /&gt;
=backbone=&lt;br /&gt;
==io.ox/backbone/validation/formats==&lt;br /&gt;
&lt;br /&gt;
=conversations=&lt;br /&gt;
==io.ox/conversations/actions/create==&lt;br /&gt;
==io.ox/conversations/links/toolbar==&lt;br /&gt;
&lt;br /&gt;
=folder=&lt;br /&gt;
==io.ox/foldertree/folder==&lt;br /&gt;
&lt;br /&gt;
=halo=&lt;br /&gt;
==io.ox/halo/contact:renderer==&lt;br /&gt;
==io.ox/halo/contact:requestEnhancement==&lt;br /&gt;
&lt;br /&gt;
=help=&lt;br /&gt;
==io.ox/help/helper==&lt;br /&gt;
&lt;br /&gt;
=keychain=&lt;br /&gt;
==io.ox/keychain/api==&lt;br /&gt;
==io.ox/keychain/model==&lt;br /&gt;
&lt;br /&gt;
=portal=&lt;br /&gt;
==io.ox/portal/settings/detail==&lt;br /&gt;
==io.ox/portal/widget==&lt;br /&gt;
==io.ox/portal/widget/mail==&lt;br /&gt;
==io.ox/portal/widget/mail/actions/compose==&lt;br /&gt;
==io.ox/portal/widget/mail/links/inline==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=preview=&lt;br /&gt;
==io.ox/preview/engine==&lt;br /&gt;
&lt;br /&gt;
=settings=&lt;br /&gt;
==io.ox/settings/accounts/mail/settings/detail==&lt;br /&gt;
&lt;br /&gt;
=linkedIn=&lt;br /&gt;
Note that the LinkedIn integration was removed since 7.10.0&lt;br /&gt;
==io.ox/linkedIn/details/actions==&lt;br /&gt;
==io.ox/linkedIn/details/renderer==&lt;br /&gt;
&lt;br /&gt;
=plugins=&lt;br /&gt;
==io.ox/plugins/portal/linkedIn/updates/renderer==&lt;br /&gt;
Note that the LinkedIn integration was removed since 7.10.0&lt;br /&gt;
&lt;br /&gt;
[[Category:AppSuite]]&lt;br /&gt;
[[Category:UI]]&lt;br /&gt;
[[Category:Extension points]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Extension_points_for_miscellaneous&amp;diff=23824</id>
		<title>AppSuite:Extension points for miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Extension_points_for_miscellaneous&amp;diff=23824"/>
		<updated>2018-02-08T08:32:24Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* linkedIn */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- !!! --&amp;gt;&lt;br /&gt;
&amp;lt;!-- PLEASE APPLY CHANGES ONLY TO THE NEW TECHNICAL DOCUMENTATION: wd/frontend/web/documentation --&amp;gt; &lt;br /&gt;
&amp;lt;!-- !!! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Stability-experimental}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Miscellaneous Extension points&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Abstract:''' This describes miscellaneous extension points, allowing you to add functions.&lt;br /&gt;
&lt;br /&gt;
=application-foldertree=&lt;br /&gt;
==io.ox/application-foldertree/links==&lt;br /&gt;
&lt;br /&gt;
=backbone=&lt;br /&gt;
==io.ox/backbone/validation/formats==&lt;br /&gt;
&lt;br /&gt;
=conversations=&lt;br /&gt;
==io.ox/conversations/actions/create==&lt;br /&gt;
==io.ox/conversations/links/toolbar==&lt;br /&gt;
&lt;br /&gt;
=folder=&lt;br /&gt;
==io.ox/foldertree/folder==&lt;br /&gt;
&lt;br /&gt;
=halo=&lt;br /&gt;
==io.ox/halo/contact:renderer==&lt;br /&gt;
==io.ox/halo/contact:requestEnhancement==&lt;br /&gt;
&lt;br /&gt;
=help=&lt;br /&gt;
==io.ox/help/helper==&lt;br /&gt;
&lt;br /&gt;
=keychain=&lt;br /&gt;
==io.ox/keychain/api==&lt;br /&gt;
==io.ox/keychain/model==&lt;br /&gt;
&lt;br /&gt;
=portal=&lt;br /&gt;
==io.ox/portal/settings/detail==&lt;br /&gt;
==io.ox/portal/widget==&lt;br /&gt;
==io.ox/portal/widget/mail==&lt;br /&gt;
==io.ox/portal/widget/mail/actions/compose==&lt;br /&gt;
==io.ox/portal/widget/mail/links/inline==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=preview=&lt;br /&gt;
==io.ox/preview/engine==&lt;br /&gt;
&lt;br /&gt;
=settings=&lt;br /&gt;
==io.ox/settings/accounts/mail/settings/detail==&lt;br /&gt;
&lt;br /&gt;
=linkedIn=&lt;br /&gt;
Note that the LinkedIn integration was removed since 7.10.0&lt;br /&gt;
==io.ox/linkedIn/details/actions==&lt;br /&gt;
==io.ox/linkedIn/details/renderer==&lt;br /&gt;
&lt;br /&gt;
=plugins=&lt;br /&gt;
==io.ox/plugins/portal/linkedIn/updates/renderer==&lt;br /&gt;
&lt;br /&gt;
[[Category:AppSuite]]&lt;br /&gt;
[[Category:UI]]&lt;br /&gt;
[[Category:Extension points]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Architecture_Overview&amp;diff=23823</id>
		<title>AppSuite:Architecture Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Architecture_Overview&amp;diff=23823"/>
		<updated>2018-02-08T08:31:47Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Social/Public Data related components, plugins and communication flow */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page gives an overview of the most important internal components, plugin capabilities, public interfaces (APIs) and data communication streams of the Open-Xchange server. &lt;br /&gt;
&lt;br /&gt;
[[File:appsuite_architecture_diagram_3.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;background:#dcdcdc&amp;quot;&amp;gt;Frontend and client based communication flow                                 &amp;lt;/span&amp;gt;=&lt;br /&gt;
*'''1''' All communication from and to the users client is purely based on HTTP. It is strongly recommended to use only encrypted HTTPS. For security reasons, some modules require HTTPS connections in the default configuration. The HTTP(S) communication is terminated at Apache.&lt;br /&gt;
&lt;br /&gt;
*'''2''' Within Apache, the mod_proxy_http module is used to forward the request to the OX server. Apache can also be used to configure session stickiness and load balancing in clustered environments.&lt;br /&gt;
&lt;br /&gt;
*'''3''' OX Web UI&lt;br /&gt;
** The [https://documentation.open-xchange.com/latest/middleware/http_api.html HTTP API] is the core API for all user functionality. Every function of the Web UI is using this API. In addition to that, all possible user functionality is available via this API and can be used from external applications as well. It is based on JSON via HTTP(S).&lt;br /&gt;
** [http://oxpedia.org/wiki/index.php?title=Portal:AppSuite_UI Web UI Documentation]&lt;br /&gt;
** [[HTTP_API_Examples|Programming Example]], how to use this API to build an Email widget, accessing the HTTP API&lt;br /&gt;
&lt;br /&gt;
*'''4''' The OXtender for Business Mobility is a server based Active Sync Implementation. The &amp;quot;Microsoft Exchange Active Sync&amp;quot; protocol supports Push via HTTPS, therefore the email backend needs to send push events to the OX server. Details, see: [[OXtender for Business Mobility Installation Guide]]  and [[OX_EMail_Push_Introduction|Email Push Introduction]]. Serverside, the synchronization makes use of the &amp;quot;Universal Sync Module (USM)&amp;quot;, which is a server bundle containing the synchronization logic for several clients. It also communicates via HTTP(S) transporting JSON objects.&lt;br /&gt;
&lt;br /&gt;
*'''5''' The [[OXtender 2 for Microsoft Outlook]] is a MAPI plugin, installed in the Outlook client to synchronize data between Outlook and the OX server. It makes use of the same HTTP(S) and JSON based communication to the Universal Sync Module (USM), like Active Sync.&lt;br /&gt;
&lt;br /&gt;
*'''6''' [[Caldav carddav Bundles|CalDAV and CardDAV]] interfaces are available to synchronize calendars and address books with Apple OS X and iOS applications as well as Thunderbird: [[CalDAVClients|CalDAV Clients]] and [[CardDAVClients|CardDAV Clients]].&lt;br /&gt;
&lt;br /&gt;
*'''7''' A WebDAV implementation provides the possibility to access the documents in the Files-module directly via any WebDAV client, like the Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;background:#dcdcdc&amp;quot;&amp;gt;Administration, provisioning and operations related components and communication flow&amp;lt;/span&amp;gt;=&lt;br /&gt;
*'''11''' Data Migration and Im-/Export of user data can be done via automated tools, using these interfaces: &lt;br /&gt;
** [[Using the import servlet]], [[Building an importer]]&lt;br /&gt;
** [[Using the export servlet]], [[Building an exporter]], [[Export_ical/vcard| iCal/vCard]]&lt;br /&gt;
** A tool is available to upload data from Outlook profiles or PST files to OX: [http://oxpedia.org/wiki/index.php?title=OX_Outlook_Uploader Outlook Uploader]&lt;br /&gt;
&lt;br /&gt;
*'''12''' All provisioning tasks, like creating and editing users can be done with [http://software.open-xchange.com/OX6/doc/OX6-Provisioning/ Commandline tools]. The command line tools make use of the Java RMI API internally.&lt;br /&gt;
&lt;br /&gt;
*'''13''' The native, central provisioning API is available via Java RMI and split into the [http://software.open-xchange.com/OX6/doc/RMI/admin-core/ Core API]  and the  [http://software.open-xchange.com/OX6/doc/RMI/admin-hosting/ HostingAPI].&lt;br /&gt;
&lt;br /&gt;
*'''14''' Central control panels and billing systems, which are not implemented in Java, can use the RMI API via the [http://software.open-xchange.com/products/appsuite/doc/SOAP/admin/OX-Admin-SOAP.html SOAP API], examples of its usage can be found [[Open-Xchange-SOAP | here]].&lt;br /&gt;
** Standard integration via SOAP is available for OPWV Directory&lt;br /&gt;
** for Parallels Operations Automation see [[PAIntegrationGuide| PA integration guide]]&lt;br /&gt;
** for Parallels Plesk Panel see [[Plesk_Integration|Plesk integration guide]]&lt;br /&gt;
** for cPanel see [[Open-Xchange_cPanel_Installation| cPanel installation]]&lt;br /&gt;
&lt;br /&gt;
*'''15''' Authentication is implementable via highly customizable plugins, different standard and custom implementations are available&lt;br /&gt;
**[[Authentication IMAP Plugin description| IMAP]]&lt;br /&gt;
** LDAP&lt;br /&gt;
** Database&lt;br /&gt;
** custom&lt;br /&gt;
&lt;br /&gt;
*'''16''' Monitoring the OX application is done via JMX, for a description see [[OX monitoring interface]], or a commandline tool&lt;br /&gt;
** An example how to use the monitoring interface is available as pre-built Scripts for the monitoring tool Munin: [[OX munin scripts]]&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;background:#E5E5E5&amp;quot;&amp;gt;Backend related components and communication flow&amp;lt;/span&amp;gt;=&lt;br /&gt;
*'''21''' All OX-internal data - users, contacts, calendars, tasks and document metadata is stored in a MySQL Database, accessed via JDBC&lt;br /&gt;
**'''22''' Native MySQL contacts storage&lt;br /&gt;
&lt;br /&gt;
*'''23''' Other sources for contacts than the MySQL storage can also be used. For this an OSGi bundle needs to be implemented, overriding the standard contact storage.&lt;br /&gt;
** An implementation using LDAP is publicly available&lt;br /&gt;
** Several custom implementations are available on request or can be implemented by partners&lt;br /&gt;
&lt;br /&gt;
*'''24''' Email storage is accessed through the pluggable [http://software.open-xchange.com/OX6/doc/mal/ Mail Abstraction Layer API] &lt;br /&gt;
** The default implementation uses IMAP&lt;br /&gt;
** Sending Emails is done via SMTP&lt;br /&gt;
** For Active Sync or Outlook the email backend needs to send push requests to the OX server, for details see [[OX_EMail_Push_Introduction|Email Push Introduction]]&lt;br /&gt;
** Several custom implementations are available on request or can be implemented by partners&lt;br /&gt;
&lt;br /&gt;
*'''25''' Documents in the Files module are accessed via an API, which allows customized implementations.&lt;br /&gt;
** The default in large environments is to use NFS&lt;br /&gt;
** In small environments the local filesystem is used&lt;br /&gt;
** [http://www.scality.com/ Scality] is also available&lt;br /&gt;
** Several custom implementations are available on request or can be implemented by partners&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;background:#E5E5E5&amp;quot;&amp;gt;Social/Public Data related components, plugins and communication flow&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;em&amp;gt;subscription based plugin system&amp;lt;/em&amp;gt; allows to access data from external systems like webmail systems or social networks. The underlying concept is called SocialOX and a list of some plugins can be found here: [[SupportedCrawler]]. The integrations of messaging, contacts and calendars are done via the official API of the respective 3rd-party-service if there is one. For authentication, OAuth is used for security and privacy control if available. All plugins use HTTP(S) connections to the external services only. Access to the external email systems is done via IMAP(S) or POP3(S), depending on the service.&lt;br /&gt;
&lt;br /&gt;
*'''31''' For subscription to an external calendar a plugin to subscribe to Google Calendar is available.&lt;br /&gt;
&lt;br /&gt;
*'''32''' Supported external messaging services are Twitter and SMS/MMS.&lt;br /&gt;
&lt;br /&gt;
*'''33''' Contacts can be imported from Xing, LinkedIn (removed since 7.10.0), MSN/Windows Live/Outlook.com, Yahoo and Google.&lt;br /&gt;
&lt;br /&gt;
*'''34''' External email accounts can be integrated via POP3(S) or IMAP(S)&lt;br /&gt;
** There are pre-configured settings for many popular services so that users only need to enter their e-mail address and password.&lt;br /&gt;
** Look here how to [[install and configure the mail-account plugin]].&lt;br /&gt;
&lt;br /&gt;
* '''35''' RSS feeds are loaded remotely, filtered for exploits and can be read in the UI&lt;br /&gt;
&lt;br /&gt;
* '''36''' Image services like Flickr and Tumblr are integrated directly into the UI, bypassing the backend completely. Authentication is handled via OAuth.&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;background:#dcdcdc&amp;quot;&amp;gt;Publicly Available Plugins&amp;lt;/span&amp;gt;=&lt;br /&gt;
* An overview of the existing public plugins can be found here: [[Open-Xchange Plugin Overview]]. Many others are available on request or through partners.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page was last updated on 2015/01/20.&lt;br /&gt;
Person responsible: [mailto:karsten.will@open-xchange.com?Subject=AppSuite%20Architecture%20Overview%20(oxpedia.org)&amp;amp;body=Hi%20Karsten%2C%0A%0AThere%20is%20something%20you%20should%20take%20care%20of%20at%20this%20wiki-page%3A%0Ahttp%3A%2F%2Foxpedia.org%2Fwiki%2Findex.php%3Ftitle%3DAppSuite%3AArchitecture_Overview%0A%0AIt%20is%3A Karsten Will] (creates new pre-filled email)&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Sharing_and_Guest_Mode&amp;diff=23822</id>
		<title>AppSuite:Sharing and Guest Mode</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Sharing_and_Guest_Mode&amp;diff=23822"/>
		<updated>2018-02-08T08:31:21Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Publish/Subscribe vs. Sharing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Sharing and Guest Mode&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionFrom|7.8.0}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Starting with v7.8.0, the Open-Xchange server comes with a whole new concept to share contents with external people, allowing guest users to interact with the shared data in the same way as regular groupware users do. This article describes the underlying technical implications and outlines the different use cases.&lt;br /&gt;
&lt;br /&gt;
The main idea behind the new sharing concept is that guest users, i.e. external users without a regular account on the server, should be able to access the shared contents using the existing interfaces, especially the App Suite web interface. On the one hand, this includes consuming the shared data using the App Suite's advanced media viewing capabilities. On the other hand, this enables guests to edit existing as well as to create or upload new content in the groupware. Even real-time collaboration between internal users and guests in OX Documents is possible.&lt;br /&gt;
&lt;br /&gt;
The following chapters cover different topics regarding sharing and guest users and try to describe some technical background and impact where hosters, administrators or integrators might be interested in.&lt;br /&gt;
&lt;br /&gt;
== Creating Shares ==&lt;br /&gt;
&lt;br /&gt;
Basically, creating a share means adding an additional permission entity to the shared folder or item. Previously, this was only possible for &amp;amp;quot;internal&amp;amp;quot; entities, i.e. regular users or user groups. Now, the underlying permission system has been extended to support external entities, which can be either invited guest users, or special &amp;amp;quot;anonymous&amp;amp;quot; guest users who access a shared folder or item via a secret link. Anonymous and invited guest users are explained in more detail below.&lt;br /&gt;
&lt;br /&gt;
Sharing is available for the groupware modules Calendar, Contacts, Tasks and Drive (a.k.a. Infostore/Files). While the latter one also allows &amp;quot;writable&amp;quot; access for invited guest users, folders from the Calendar, Contacts and Tasks module may only be published in &amp;quot;read-only&amp;quot; mode to external guests.&lt;br /&gt;
&lt;br /&gt;
=== Invite Guests ===&lt;br /&gt;
&lt;br /&gt;
To share something to a guest user, it's possible to just add the e-mail address of the invitee as new permission entity for files and folders. The middleware then takes care to provision a new or reuse an existing account for the guest user, and equips him with the required permissions for accessing the contents. So, from a client's point of view, sharing something to a guest user is mostly the same process as sharing something to an internal user or group.&lt;br /&gt;
&lt;br /&gt;
=== Share Links ===&lt;br /&gt;
&lt;br /&gt;
Besides explicitly inviting a guest user to a share, it's also possible to just get a secret link for a folder or item. This will result in an additional &amp;amp;quot;anonymous&amp;amp;quot; guest entity in the permissions of the shared object, and will grant any user with the corresponding share link access the shared contents. To simplify the creation of share links, the clients will offer an additional &amp;amp;quot;wizard&amp;amp;quot; to quickly get a share link for a folder or item. Unlike invited guests which behave much like internal users, anonymous guest entities are strictly bound to the underlying folder or item, i.e. there is at most one anonymous permission entity per file or folder, as well as an anonymous permission entity can only be used for only once.&lt;br /&gt;
&lt;br /&gt;
=== Required Permissions and Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Whether a user is allowed to create share links, invite external guests, or internal groups or users, depends on the following module access permissions and capabilities. Please note that share links no longer require &amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt; since Open-Xchange v7.8.1; this restriction was removed in order to allow simple publications also for non-groupware accounts, e.g. as defined by the &amp;lt;code&amp;gt;pim&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;pim_infostore&amp;lt;/code&amp;gt; module access combinations.&lt;br /&gt;
&lt;br /&gt;
==== v7.8.0 ====&lt;br /&gt;
* Create, update &amp;amp; remove share links: &amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;share_links&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add, update or remove internal users and group permissions: &amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add, update or remove external guest permissions: &amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;invite_guests&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== v7.8.1 ====&lt;br /&gt;
* Create, update &amp;amp; remove share links: &amp;lt;code&amp;gt;share_links&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add, update or remove internal users and group permissions in modules Calendar, Contacts, Tasks: &amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt; for personal / &amp;lt;code&amp;gt;edit_public_folders&amp;lt;/code&amp;gt; for public folders&lt;br /&gt;
* Add, update or remove internal users and group permissions in module Drive: none&lt;br /&gt;
* Add, update or remove external guest permissions in modules Calendar, Contacts, Tasks: &amp;lt;code&amp;gt;invite_guests&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt; for personal / &amp;lt;code&amp;gt;edit_public_folders&amp;lt;/code&amp;gt; for public folders&lt;br /&gt;
* Add, update or remove external guest permissions in module Drive: &amp;lt;code&amp;gt;invite_guests&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* Existing shares for a guest user or context may be listed using the commandline utility &amp;lt;code&amp;gt;listshares&amp;lt;/code&amp;gt;&lt;br /&gt;
* The ability to create share links may be controlled via &amp;lt;code&amp;gt;com.openexchange.capability.share_links&amp;lt;/code&amp;gt;, either globally in the configuration file &amp;lt;code&amp;gt;permissions.properties&amp;lt;/code&amp;gt;, or on a more fine-granular level through the [https://oxpedia.org/wiki/index.php?title=ConfigCascade Config Cascade]&lt;br /&gt;
* The ability to invite guest users may be controlled via &amp;lt;code&amp;gt;com.openexchange.capability.invite_guests&amp;lt;/code&amp;gt;, either globally in the configuration file &amp;lt;code&amp;gt;permissions.properties&amp;lt;/code&amp;gt;, or on a more fine-granular level through the [https://oxpedia.org/wiki/index.php?title=ConfigCascade Config Cascade]&lt;br /&gt;
* The number of allowed share links per user may be specified via &amp;lt;code&amp;gt;com.openexchange.quota.share_links&amp;lt;/code&amp;gt;, either globally in the configuration file &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;, or on a more fine-granular level through the [https://oxpedia.org/wiki/index.php?title=ConfigCascade Config Cascade]&lt;br /&gt;
* The number of allowed guest invitations per user may be specified via &amp;lt;code&amp;gt;com.openexchange.quota.invite_guests&amp;lt;/code&amp;gt;, either globally in the configuration file &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;, or on a more fine-granular level through the [https://oxpedia.org/wiki/index.php?title=ConfigCascade Config Cascade]&lt;br /&gt;
* Both quotas can also be set on a per-context basis via a 'changecontext' call and the &amp;lt;code&amp;gt;quota-module&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;quota-value&amp;lt;/code&amp;gt; options, see [http://oxpedia.org/wiki/index.php?title=AppSuite:Context_management#changecontext]. The module IDs are accordingly &amp;lt;code&amp;gt;share_links&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;invite_guests&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Quotas are always checked per-user, per default both are set to 100. You'll probably want to increase the quota for links when enabling the link mail feature available with OX App Suite 7.8.2.&lt;br /&gt;
&lt;br /&gt;
== Removing Shares ==&lt;br /&gt;
&lt;br /&gt;
The lifetime of shares is implicitly bound to the lifetime of the associated permission of the guest user entity. So, once a permission entity pointing to a (named or anonymous) guest user account is removed from the parent folder or item, this also leads to the removal of the associated share itself. Afterwards, the contents are no longer accessible for the guest user. For shares that were created with a specific expiry date, it is ensured that they can no longer be accessed via their share link after expiring. Additionally, expired shares are cleaned up periodically within a background task.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* Shares may be revoked manually using the commandline utility &amp;lt;code&amp;gt;removeshares&amp;lt;/code&amp;gt;&lt;br /&gt;
* The interval of the periodic cleanup task can be controlled via &amp;lt;code&amp;gt;com.openexchange.share.cleanup.periodicCleanerInterval&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Share Links &amp;amp;amp; Tokens ==&lt;br /&gt;
&lt;br /&gt;
Shares are accessed with a hyperlink that contains the so-called share &amp;amp;quot;token&amp;amp;quot;. This 24-byte token uniquely identifies the associated guest account on the system, and carries enough randomness that it can't be guessed. Explicitly invited guest users receive this hyperlink in the invitation mail to a share, while in case of an &amp;amp;quot;anonymous&amp;amp;quot; share where just the link itself was generated, it's up to the sharing user to distribute the link on his own. Besides the token, a share link may contain an additional path that points to the concrete folder and item, which just aids to jump to the shared item in the web interface directly. The following shows an example of a share link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://share.example.com/ajax/share/48b2b6190151f1bd8b4b610151f0405d9fc8cb89a087f14e/1/2/ODAxMDY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If a guest user has been invited to more than one share in a context (based on his e-mail address), his individual share token remains equal, so that he will have access to all shared contents in the web interface after following any of the share links he received. However, the additional &amp;amp;quot;path&amp;amp;quot; still points to the concrete item. When inviting more than one guest user to the same share, each recipient will get his own individual share link.&lt;br /&gt;
&lt;br /&gt;
Once the share URL is requested from the server, the associated guest account is looked up and, depending of the guest type, the request is redirected to a specific login screen or directly into the App Suite web interface. More details regarding the different login modes are described at [[#Guest_Login_&amp;amp;_Session_Handling|Guest Login &amp;amp;amp; Session Handling]].&lt;br /&gt;
&lt;br /&gt;
After a share has been revoked (either explicitly, by removing the permission, or if the share is expired), share links can't be accessed any longer, and, after the last share for the guest user was removed, the guest account is removed from the system automatically.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The share token is stored as user attribute &amp;lt;code&amp;gt;com.openexchange.shareBaseToken&amp;lt;/code&amp;gt; in the corresponding guest user account&lt;br /&gt;
* The target database schema for a share and the associated guest account is extracted from the context identifier encoded in the share token&lt;br /&gt;
&lt;br /&gt;
== Guest Users ==&lt;br /&gt;
&lt;br /&gt;
As outlined above, guest users are created on demand once something is being shared. We basically distinguish between two types of guest users: Those that were invited explicitly by the sharing user, or &amp;amp;quot;anonymous&amp;amp;quot; guest users that are able to access by visiting the share link. Access for the latter one may optionally be secured with a fixed PIN code.&lt;br /&gt;
&lt;br /&gt;
For both kinds of guest users, a corresponding user account is provisioned dynamically on the system once a new share is created. Such a guest account is handled much similar as an account for a regular user, with the following main exceptions:&lt;br /&gt;
&lt;br /&gt;
* No access to the &amp;amp;quot;Mail&amp;amp;quot; module&lt;br /&gt;
* No personal folders&lt;br /&gt;
* No access to the &amp;amp;quot;Portal&amp;amp;quot;&lt;br /&gt;
* No access to the global address book&lt;br /&gt;
* Module access is restricted to only include modules from the actual shares&lt;br /&gt;
&lt;br /&gt;
All those restrictions are configured and enforced using the built-in mechanisms of the Open-Xchange Server, i.e. by a reduced set of capabilities (i.e. module permissions), or by selectively set permission bits in the folder tree for the virtual guest group. This ensures that guest users are only able to access things they explicitly have been invited to, as well as a transparent handling of guest accounts within all subsystems.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* Guest users are stored much similar as regular users in the database (tables &amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;prg_contacts&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;user_attribute&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;user_configuration&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Additionally, the identifier of the user who (initially) created the guest account is stored in &amp;lt;code&amp;gt;user.guestCreatedBy&amp;lt;/code&amp;gt;, i.e. if this column is not &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, this entry refers to a guest user&lt;br /&gt;
* All service calls and APIs that list or search users have been adjusted to be &amp;amp;quot;guest-aware&amp;amp;quot;, i.e. by default, guests users are not included in the output, yet may be included explicitly with additional parameters (namely &amp;lt;code&amp;gt;includeGuests&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;excludeUsers&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Service calls and APIs that request data explicitly based on an entity's identifier are also working with guest users, i.e. if a specific idnetifier points to a guest, then the referenced guest data is returned&lt;br /&gt;
&lt;br /&gt;
=== Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Guest users always have the &amp;lt;code&amp;gt;guest&amp;lt;/code&amp;gt; capability set. Besides they are generally configured with a limited permission set, that allows them just to work with their shared items. This permission set includes:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Permission&lt;br /&gt;
!Capability&lt;br /&gt;
!Details&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;deniedportal&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|No &amp;lt;code&amp;gt;portal&amp;lt;/code&amp;gt; capability&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;editpublicfolders&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;edit_public_folders&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;readcreatesharedfolders&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;read_create_shared_folders&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;editpassword&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;edit_password&amp;lt;/code&amp;gt;&lt;br /&gt;
|Only for invited guests, not links&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additionally, for every module the guest is having shared items in, the according module permission is granted, e.g. a shared drive folder results in permission &amp;lt;code&amp;gt;infostore&amp;lt;/code&amp;gt; and the according capability. Guest users are never allowed to share folders or items on their own, i.e. the capabilities &amp;lt;code&amp;gt;share_links&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;invite_guests&amp;lt;/code&amp;gt; can never be set.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
This limited capability set can be extended by configuration. Currently three modes are supported:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Mode&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|deny_all&lt;br /&gt;
|No further capabilities are applied to guest users, except ones that have been explicitly set for the guest user via &amp;lt;code&amp;gt;changeuser --capabilities-to-add&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|static&lt;br /&gt;
|A static list of capabilities is applied to guest users via the &amp;lt;code&amp;gt;com.openexchange.share.staticGuestCapabilities&amp;lt;/code&amp;gt; property. Additionally capabilities that have been explicitly set for the guest user via &amp;lt;code&amp;gt;changeuser --capabilities-to-add&amp;lt;/code&amp;gt; are applied.&lt;br /&gt;
|-&lt;br /&gt;
|inherit&lt;br /&gt;
|All capabilities of the user who &amp;amp;quot;created&amp;amp;quot; the guest, i.e. created the link or initially invited somebody, are applied to the guest user. Additionally capabilities that have been explicitly set for the guest user via &amp;lt;code&amp;gt;changeuser --capabilities-to-add&amp;lt;/code&amp;gt; are applied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The mode can be configured via the &amp;lt;code&amp;gt;com.openexchange.share.guestCapabilityMode&amp;lt;/code&amp;gt; property in &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;. This property is config-cascade capable, so it can for example be overridden for certain sets of contexts. The same applies to the &amp;lt;code&amp;gt;com.openexchange.share.staticGuestCapabilities&amp;lt;/code&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
Due to this configuration mechanism it is possible to increase the user experience for guests and even allow some real collaboration. As an example one could apply the following configuration to allow guests to see preview images of files and edit shared documents with OX Text and OX Spreadsheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;com.openexchange.share.guestCapabilityMode = static&lt;br /&gt;
com.openexchange.share.staticGuestCapabilities = document_preview, text, spreadsheet&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anonymous Guest Users ===&lt;br /&gt;
&lt;br /&gt;
If a &amp;amp;quot;share link&amp;amp;quot; is created, this results in an implicit creation of an anonymous guest user account on the server. The &amp;amp;quot;secret&amp;amp;quot; to access the shared contents is the share token itself that is encoded in the generated share link, so that everybody that knows the share link is able to access the shared contents. Optionally, such an anonymous share link may be secured with an additional PIN code. Guest users will be prompted to enter this PIN code when attempting to access the share.&lt;br /&gt;
&lt;br /&gt;
To have a strict separation between different shared contents, each time a folder or item is shared using the &amp;amp;quot;Get a link&amp;amp;quot; method, a designated anonymous guest account for this share is used. Consequently, each time such an anonymous share is revoked, this guest account is terminated again with no further delay. Additionally, such an anonymous guest entity can only be applied to the permission set of the folder or item the original link was created for, i.e. it's not possible to add more shared contents to an anonymous guest - in contrast to an invited, named guest user.&lt;br /&gt;
&lt;br /&gt;
Besides the common restrictions for guest accounts outlined above, the following applies for anonymous guest user accounts:&lt;br /&gt;
&lt;br /&gt;
* No e-mail address or display name&lt;br /&gt;
* No password, if no PIN was assigned by the sharing user&lt;br /&gt;
* A password that may only be changed by editing the link, if a PIN code was set&lt;br /&gt;
* Anonymous guest users may only receive &amp;amp;quot;read-only&amp;amp;quot; access permissions to the shared item&lt;br /&gt;
* Optionally, an expiry date can be applied for an anonymous guest user after which the share link is no longer accessible&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The PIN code for anonymous guest users is stored using symmetrical encryption in the database, therefore, an encryption key needs to be specified via the property &amp;lt;code&amp;gt;com.openexchange.share.cryptKey&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Named Guest Users ===&lt;br /&gt;
&lt;br /&gt;
Internal users are able to invite a guest user to a folder or item explicitly by specifying the e-mail address of the recipient. Such &amp;amp;quot;named&amp;amp;quot; guest users are internally stored as individual guest users, identified by their e-mail address.&lt;br /&gt;
&lt;br /&gt;
If data is shared for the first time to the recipient in the context, a new guest user account is provisioned and an initial set of user permissions and capabilities is assigned. In case there are already shares in different contexts to the same recipient (based on his e-mail address), some existing user data like a display name or an assigned password is copied over if a cross-context database is available on the system.&lt;br /&gt;
&lt;br /&gt;
If the recipient has already been invited from the same or another internal user in the context to another share before, the new share is added to the guest user in a way that the underlying folder- and object permissions are taken over, and the user capabilities getting expanded as needed to cover all modules the shares are located in. Similarly, if a share to a named guest user is revoked and the underlying folder- and object-permissions are removed, the guest user capabilities are updated implicitly to reflect the modules of the remaining shares.&lt;br /&gt;
&lt;br /&gt;
After the last share to a named guest user has been revoked, the user has no longer access to any data. The account itself gets removed from the context automatically after a configurable expiry time. Additionally, any data that is stored for the guest user in the cross-context database is removed once the guest user has been deleted from all contexts in the system.&lt;br /&gt;
&lt;br /&gt;
In contrast to an &amp;amp;quot;anonymous&amp;amp;quot; guest user, a named guest user has access to all shared items from a context after logging in, since the permissions get added to an existing guest user account automatically. For entering the web interface, he may use any of the share links that were sent to him in the different notification messages. Those links usually point to an individual share target like a folder or file, but the guest user may navigate to the other shared contents using the folder tree of the web interface in the same way as regular groupware users do. Similarly, if the guest user has access to shares from different modules, the modules can be switched in the web interface as usual.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The timespan after which an unused named guest user should be removed from the system can be configured via &amp;lt;code&amp;gt;com.openexchange.share.cleanup.guestExpiry&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt; - this value may also be set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; to force an immediate removal&lt;br /&gt;
* For the removal of no longer needed guest user accounts, a periodical cleanup task is scheduled based on the interval of &amp;lt;code&amp;gt;com.openexchange.share.cleanup.periodicCleanerInterval&amp;lt;/code&amp;gt;&lt;br /&gt;
* Whether a cross-context database is considered for guest users may be configured via &amp;lt;code&amp;gt;com.openexchange.share.crossContextGuests&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Guest Login &amp;amp;amp; Session Handling ==&lt;br /&gt;
&lt;br /&gt;
Based on the underlying guest user account, different login operations with different authentication workflows are possible.&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
We have basically three different authentication options for guest users accessing a share, each of them having their own characteristics.&lt;br /&gt;
&lt;br /&gt;
==== Anonymous ====&lt;br /&gt;
&lt;br /&gt;
* Access is granted without providing additional authentication information, the knowledge of the link is sufficient&lt;br /&gt;
* When accessing the share link, a guest session is spawned implicitly&lt;br /&gt;
* Initially supplied cookies are considered to recycle an existing session&lt;br /&gt;
* The login screen is skipped, we'll redirect to the module/folder/item directly (using appropriate URL fragments)&lt;br /&gt;
&lt;br /&gt;
==== Anonymous with PIN ====&lt;br /&gt;
&lt;br /&gt;
* Access is granted for anonymous guest users providing a password / PIN code&lt;br /&gt;
* When accessing the share link, the client is redirected to the login screen of the webinterface, using &amp;lt;code&amp;gt;login_type=anonymous&amp;lt;/code&amp;gt;&lt;br /&gt;
* User can then enter his PIN code, client executes the &amp;lt;code&amp;gt;anonymous_login&amp;lt;/code&amp;gt; method, server authenticates, sends back a login response containing the target in the app suite webinterface (module/folder/item)&lt;br /&gt;
* Password can't be changed by an anonymous user&lt;br /&gt;
* Password can be re-constructed / changed by sharing user&lt;br /&gt;
&lt;br /&gt;
==== Guest without Password ====&lt;br /&gt;
&lt;br /&gt;
* Access is granted without providing additional authentication information, the knowledge of the guest's individual link is sufficient&lt;br /&gt;
* When accessing the share link, a guest session is spawned implicitly&lt;br /&gt;
* Exiting cookies are considered to recycle an existing session&lt;br /&gt;
* The login screen is skipped, we'll redirect to the module/folder/item directly (using appropriate URL fragments)&lt;br /&gt;
* Guest user may choose an individual password at a later stage&lt;br /&gt;
&lt;br /&gt;
==== Guest with Password ====&lt;br /&gt;
&lt;br /&gt;
* Access is granted for guest users providing a user name and password.&lt;br /&gt;
* Much similar to a regular groupware user&lt;br /&gt;
* When accessing the share link, the client is redirected to the login screen of the webinterface, using &amp;lt;code&amp;gt;login_type=guest&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;login_name=&amp;amp;lt;NAME&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The login name is used to pre-fill the username input&lt;br /&gt;
* User can then enter his password, client executes the &amp;lt;code&amp;gt;guest_login&amp;lt;/code&amp;gt; method, server authenticates, sends back a login response containing the target in the app suite webinterface (module/folder/item)&lt;br /&gt;
* Password can be changed by guest user&lt;br /&gt;
* Guest user may reset his password if he can't remember&lt;br /&gt;
&lt;br /&gt;
=== Guest Hostname ===&lt;br /&gt;
&lt;br /&gt;
For serving shares, a separate guest hostname needs to be configured. This is mainly required to prevent guest- and regular user sessions using the same cookie container when logged in in the same client (otherwise, the cookie holding the alternative session identifier as well as other cookies would get overwritten concurrently). Additionally, this allows to have separate entry points to the web client for guest- and regular users. &lt;br /&gt;
&lt;br /&gt;
The hostname for guests is used when generating external share links, as well as at other locations where hyperlinks are constructed in the context of guest users. Usually, the guest hostname refers to a separate subdomain of the installation like &amp;lt;code&amp;gt;share.example.com&amp;lt;/code&amp;gt;, and is defined as an additional named virtual host pointing to the web client's document root in the webserver's configuration. &lt;br /&gt;
&lt;br /&gt;
Once the webserver configuration is done and the web client is accessible using the guest hostname, this hostname needs to be specified in the backend configuration, too. In simple scenarios, where a fixed guest hostname should be used for the installation, this can be done statically in a configuration file. This setting may also be overridden per context via the Config Cascade. In case a dedicated hostname service is installed (for example &amp;lt;code&amp;gt;open-xchange-hostname-ldap&amp;lt;/code&amp;gt;), this hostname service is also supposed to supply the guest hostname. &lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The guest hostname may be specified via &amp;lt;code&amp;gt;com.openexchange.share.guestHostname&amp;lt;/code&amp;gt;, either globally in the configuration file &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;, or on a more fine-granular level through the [https://oxpedia.org/wiki/index.php?title=ConfigCascade Config Cascade]&lt;br /&gt;
* The guest hostname may also be supplied via dedicated hostname services like &amp;lt;code&amp;gt;open-xchange-hostname-config-cascade&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;open-xchange-hostname-ldap&amp;lt;/code&amp;gt;&lt;br /&gt;
* For test purposes, guests may also access the web interface using the same host as regular users do, however, this might lead to unexpected results (missing images, sessions timing out, auto-login malfunction...)&lt;br /&gt;
&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
&lt;br /&gt;
Guest sessions basically make use of the same cookies as regular user sessions do. This includes the JSESSONID cookie for the JVM route, as well as the &amp;lt;code&amp;gt;open-xchange-secret-&amp;amp;lt;hash&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;open-xchange-public-session-&amp;amp;lt;hash&amp;amp;gt;&amp;lt;/code&amp;gt; cookies. Additionally, if configured, the client may also issue a &amp;lt;code&amp;gt;store&amp;lt;/code&amp;gt; request to persist the open-xchange-session-&amp;lt;hash&amp;gt; cookie. This cookie may then be used to auto-login the guest client into the previously used session if it is still valid.&lt;br /&gt;
&lt;br /&gt;
Besides the common cookies, another special cookie is set: &amp;lt;code&amp;gt;open-xchange-share-&amp;amp;lt;hash&amp;amp;gt;&amp;lt;/code&amp;gt;. The value contains the unique share token bound to the guest user accessing the share. here, the cookie hash is calculated as it's done for ordinary sessions, so that there can only be one &amp;lt;code&amp;gt;open-xchange-share-&amp;amp;lt;hash&amp;amp;gt;&amp;lt;/code&amp;gt; cookie in a client at the same time. Whenever an auto-login request is issued by the client, the server checks for the existence of this &amp;amp;quot;share&amp;amp;quot; cookie, and, once recognized and checked for validity, it will try to perform the auto-login for an existing guest session first, i.e. using the session cookie based on the special guest hash calculation outlined above. Otherwise, the common auto-login process takes place. The &amp;amp;quot;share&amp;amp;quot; cookie is removed once the guest session terminates, i.e. the guest user logs out.&lt;br /&gt;
&lt;br /&gt;
Since guest users access the web interface on a separate (sub)domain (see [[#Guest_Hostname|Guest Hostname]] above for details), guest session cookies won't interfere with cookies of a regular session on the same client. This allows to use the regular user session as well as one or more guest sessions in parallel - e.g. if the sharing user quickly wants to check how the contents appear for the guest user after generating a share link.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* Whether guest sessions are enabled for auto-login is configurable via the property &amp;lt;code&amp;gt;com.openexchange.share.autoLogin&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
* By default, the cookie TTL for guest sessions is inherited from the TTL for cookies of regular sessions as defined by &amp;lt;code&amp;gt;com.openexchange.cookie.ttl&amp;lt;/code&amp;gt; - this default may be overridden by defining a timespan at &amp;lt;code&amp;gt;com.openexchange.share.cookieTTL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Login Modes ===&lt;br /&gt;
&lt;br /&gt;
When accessing a share link, one of the following login modes is triggered to acquire a session and forward the client to the share target. The executed login operation and redirect depends on the authentication mode of underlying guest account, the share target iteself, and the client accessing the share.&lt;br /&gt;
&lt;br /&gt;
==== Redirect to Target ====&lt;br /&gt;
&lt;br /&gt;
In case a share is accessible without providing credentials, the client is redirected to the share target directly, i.e. without prompting for a username or password. By default, the client is redirected to the target in the App Suite web interface by responding the &amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt; request to the share link with &amp;lt;code&amp;gt;HTTP 302&amp;lt;/code&amp;gt;, and a location header like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Location: /appsuite/ui#!&amp;amp;amp;session=80c711019d6f48b5bec9cd82758e3308&amp;amp;amp;store=true&amp;amp;amp;user=&amp;amp;amp;user_id=642&amp;amp;amp;context_id=1&amp;amp;amp;m=files&amp;amp;amp;f=41042&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The session for the guest user is created implicitly in the backend after checking the share link's validity, and the client is instructed to store appropriate cookies in the redirect response, including the &amp;amp;quot;share&amp;amp;quot; cookie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Set-Cookie: open-xchange-secret-aNobP2G9wLHJ6sMr7vtTA=38ee770d6e4f42ab8366d91db3279931; Expires=Thu, 13-Aug-2015 06:16:26 GMT; Path=/; Secure; HttpOnly&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Set-Cookie: open-xchange-public-session-d0759656127fb7cee6e0fe8bb5fe19f9=cae6a3e712ac429e9da9194abd389cb3; Expires=Thu, 13-Aug-2015 06:16:26 GMT; Path=/; Secure; HttpOnly&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Set-Cookie: open-xchange-share-b7gDSqJpnh9gS3Fs52I65Q=0ad50ac00418fbcdad50ac1418f94fb181d51b8fa7b2bde3; Expires=Thu, 13-Aug-2015 06:16:26 GMT; Path=/; Secure; HttpOnly&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Redirect to Login Screen ====&lt;br /&gt;
&lt;br /&gt;
If additional credentials, i.e. an additional PIN code or username/password combination, are required to access a share target, and no &amp;amp;quot;special client&amp;amp;quot; like an iCal consumer is detected by the backend, the client is redirected to the login screen of the app suite webinterface. The GET request to the share link is answered with statuscode HTTP 302, and a location header depending on the required credentials to access the share.&lt;br /&gt;
&lt;br /&gt;
If the share ought to be accessed anonymously, but protected by a PIN code, a location like the following is added to the response header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Location: /appsuite/ui#!&amp;amp;amp;share=08b4b6110151f1bd7d4b610151f0405d9fc8bb89a887f04e&amp;amp;amp;login_type=anonymous&amp;amp;amp;message_type=INFO&amp;amp;amp;message=Tony%20Parker%20has%20shared%20the%20folder%20%22Pictures%22%20with%20you.%20Please%20log%20in%20to%20view%20it.%20&amp;amp;amp;target=151ebb38&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For shares to dedicated guest users identified by their e-mail address, the redirect location looks like follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Location: /appsuite/ui#!&amp;amp;amp;share=4ac9eb590f9ca4d2ac9eb58f9ca611ec9b4f4638d288c8c0&amp;amp;amp;login_type=guest&amp;amp;amp;message_type=INFO&amp;amp;amp;message=Tony%20Parker%20has%20shared%20the%20file%20%22Agenda.pdf%22%20with%20you.%20Please%20log%20in%20to%20view%20it.%20&amp;amp;amp;login_name=ray%40example.com&amp;amp;amp;target=4444cbc7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The redirect response already contains the &amp;lt;code&amp;gt;Set-Cookie&amp;lt;/code&amp;gt; header for the JVM route. On the redirect target, the client should request the PIN code or password from the user, and then issue a special login request, supplying the share token and optional target from the URL parameters, and the password as URL encoded form data in the request body, similar to the usual login request via POST. After successful authentication, the login response includes, along with the common login response properties like the session identifier, information about the share target being accessed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;amp;quot;session&amp;amp;quot;:&amp;amp;quot;b89af2c2ce494ce4b4573c0632b48e89&amp;amp;quot;,&amp;amp;quot;user&amp;amp;quot;:&amp;amp;quot;ray@example.com&amp;amp;quot;,&amp;amp;quot;user_id&amp;amp;quot;:660,&amp;amp;quot;context_id&amp;amp;quot;:1,&amp;amp;quot;locale&amp;amp;quot;:&amp;amp;quot;en_US&amp;amp;quot;,&amp;amp;quot;module&amp;amp;quot;:&amp;amp;quot;files&amp;amp;quot;,&amp;amp;quot;folder&amp;amp;quot;:&amp;amp;quot;10&amp;amp;quot;,&amp;amp;quot;item&amp;amp;quot;:&amp;amp;quot;10/456398&amp;amp;quot;, ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, the client is instructed to store the secret cookies:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Set-Cookie: open-xchange-share-b7gDSqJpnh9gS3Fs52I65Q=0ac9eb590f9ca4d5ac9eb58f9ca641ec9b4f4638d288c8a0; Expires=Thu, 13-Aug-2015 06:31:21 GMT; Path=/; Secure; HttpOnly&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Set-Cookie: open-xchange-secret-MBIRg9bJBLduCcosqQBCw=70187de16f844be6880c18be373b953d; Expires=Thu, 13-Aug-2015 06:31:21 GMT; Path=/; Secure; HttpOnly&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Set-Cookie: open-xchange-public-session-d0759656127fb7cee6e0fe8bb5fe19f9=4e797a59758a4dd7b763912472ccf26d; Expires=Thu, 13-Aug-2015 06:31:21 GMT; Path=/; Secure; HttpOnly&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards, the client is able to use the session to access the share target as usual.&lt;br /&gt;
&lt;br /&gt;
=== Session Lifecycle ===&lt;br /&gt;
&lt;br /&gt;
Generally, guest sessions on the server are treated just like the sessions of ordinary users. Especially, guest sessions are also held in the local session containers of the backend host they're associated with. However, by default guest sessions are marked as &amp;lt;code&amp;gt;transient&amp;lt;/code&amp;gt;, i.e. they are not moved to the long-term session containers, nor they are put into the distributed session storage.&lt;br /&gt;
&lt;br /&gt;
If OX Documents functionality is used for guest users in a cluster of application servers, this setting needs to be adjusted to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; in order to also have guest sessions available in the distributed storage.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* Guest sessions are also accounted in the monitoring outputs (e.g. in the sessions per container graphs)&lt;br /&gt;
* The &amp;lt;code&amp;gt;transient&amp;lt;/code&amp;gt; handling of guest sessions may be changed via the property &amp;lt;code&amp;gt;com.openexchange.share.transientSessions&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Logout ===&lt;br /&gt;
&lt;br /&gt;
Guest sessions are terminated once a logout request is issued by the client, i.e. the user clicks the &amp;amp;quot;Logout&amp;amp;quot; button in the web interface, just like it is done for regular sessions. Additionally, guest sessions expire in the backend when not being used for a while, the actual timeout depends on the configured default session lifetime and whether they are treated as &amp;amp;quot;transient&amp;amp;quot; or not, as explained above.&lt;br /&gt;
&lt;br /&gt;
Since guest users are not able to use the default login page for regular users, a custom logout location for guest users should be specified where guest users are taken to after clicking logout explicitly, or if their session expired.&lt;br /&gt;
&lt;br /&gt;
If a share is consumed &amp;amp;quot;directly&amp;amp;quot;, e.g. by downloading the binary contents of a file share directly (see [[#Consuming_Shares|Consuming Shares]] for details), the guest sessions is terminated instantly after serving the request.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The logout location for guest accounts can be customized via &amp;lt;code&amp;gt;guestLogoutLocation&amp;lt;/code&amp;gt; in the file &amp;lt;code&amp;gt;as-config.yml&amp;lt;/code&amp;gt; (see file &amp;lt;code&amp;gt;as-config-default.yml&amp;lt;/code&amp;gt; for an example)&lt;br /&gt;
&lt;br /&gt;
== Share Notifications ==&lt;br /&gt;
&lt;br /&gt;
With the new sharing concept, notification mails can be sent out to the permission entities (i.e. internal or guest users) of folders or items. Mechanisms exist to send out such mails implicitly or explicitly. Notifications are sent out implicitly, if externals are invited as guests and can also be sent out for internal invitations, if configured so. The client (e.g. App Suite UI) decides on its own whether implicit notifications shall be sent when updating a folders or items permissions. Besides there are separate API calls for sending out notification messages explicitly. Its on the client to provide this functionality to its users. This makes it possible to re-send a link to a folder or item to an existing permission entity.&lt;br /&gt;
&lt;br /&gt;
Sending out links to shared folders and items is not the only case for notification messages, it can also be necessary to send out system notifications to guest users. Currently this is the case when a guest user secured his account with a password and needs to reset that password, because he cannot remember.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* A special transport must be configured for system notifications and cases where the sharing user has no configured webmail account. This transport is configured in &amp;lt;code&amp;gt;noreply.properties&amp;lt;/code&amp;gt;. All properties therein are config-cascade capable, so their values can be sensitive to the current user or context.&lt;br /&gt;
* It is possible to disable the implicit notification of internal users about shared folders or items at all by setting &amp;lt;code&amp;gt;com.openexchange.share.notifyInternal&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The layout of notifications mails can be changed via &amp;lt;code&amp;gt;as-config.yml&amp;lt;/code&amp;gt;. All available properties are defined and explained in &amp;lt;code&amp;gt;as-config-defaults.yml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== API Access ==&lt;br /&gt;
&lt;br /&gt;
From a client's point of view, guest users basically don't differ from regular users, although they usually have limited capabilities, for example no mail access or no personal folders. However, all those differences are reflected within the regular permission- and capability-concepts, so that existing clients, once the guest user is authenticated and has a valid session, continue to work transparently, and use the same API calls as with a regular groupware user.&lt;br /&gt;
&lt;br /&gt;
To create or manage shares and guest users, the HTTP API has been extended at various locations. The following list gives an overview about the changes, derived from the corresponding software change requests.&lt;br /&gt;
&lt;br /&gt;
=== Format change for object identifiers of the default &amp;amp;quot;infostore&amp;amp;quot; account ===&lt;br /&gt;
&lt;br /&gt;
As preparation for individual object permissions where a file can be accessed from different folder &amp;amp;quot;views&amp;amp;quot;, the object IDs for documents in the default &amp;amp;quot;infostore&amp;amp;quot; file storage account will get enhanced with the prefixing folder ID.&lt;br /&gt;
&lt;br /&gt;
The identifiers will now be of format &amp;lt;code&amp;gt;&amp;amp;lt;some numbers&amp;amp;gt;/&amp;amp;lt;more numbers&amp;amp;gt;&amp;lt;/code&amp;gt;. Object identifiers are already of type &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt;, so this change should usually be transparent to clients. However, there may be some clever clients out there that for example tried to interpret the string of numerical characters as number, so client developers should double-check their implementation for compatibility. They most likely would run into trouble when coping with non-infostore file storages anyway.&lt;br /&gt;
&lt;br /&gt;
=== Object permissions for files ===&lt;br /&gt;
&lt;br /&gt;
In order to define permissions on object-level, a new property &amp;lt;code&amp;gt;object_permissions&amp;lt;/code&amp;gt; for objects of type &amp;lt;code&amp;gt;infoitem&amp;lt;/code&amp;gt; is introduced. Each time the underlying folder permissions are not sufficient to access an item, those object permissions are taken into account. Object permissions are stored as an array of Object Permission objects as defined below within the detailed infoitem data, the column ID is &amp;lt;code&amp;gt;108&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Details about the JSON structure are available at:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#DetailedInfoitemData HTTP API: Detailed Infoitem Data]&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#ObjectPermissionObject HTTP API: Object Permission Object]&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#ObjectPermissionFlags HTTP API: Object Permission Flags]&lt;br /&gt;
&lt;br /&gt;
=== New field for &amp;amp;quot;user&amp;amp;quot; data: &amp;amp;quot;guest_created_by&amp;amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
A new property has been introduced for users that needs to be exposed in our HTTP API, too. The following property is added to the detailed user data object:&lt;br /&gt;
&lt;br /&gt;
* ID: 616&lt;br /&gt;
* Name: guest_created_by&lt;br /&gt;
* Type: Number&lt;br /&gt;
* Value: Contains the ID of the user who has created this guest in case this user represents a guest user; it is 0 for regular users&lt;br /&gt;
&lt;br /&gt;
The property is read-only and can't be removed or set by clients.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#DetailedUserData HTTP API: Detailed User Data]&lt;br /&gt;
&lt;br /&gt;
=== Extend folder- and object permissions for addressing external guests ===&lt;br /&gt;
&lt;br /&gt;
For sharing files- or folders to external guests, the folder- and object permission objects are extended with additional properties. Those extended properties can be set during creation or update of the parent folder or file. The underlying shares and guest user entities for the referenced recipients are created automatically along with folder/file creation/update. Afterwards, the external recipients appear as regular &amp;amp;quot;user&amp;amp;quot; entities in the permission arrays in subsequent &amp;amp;quot;get&amp;amp;quot; requests.&lt;br /&gt;
&lt;br /&gt;
Details about the extended JSON structure are available at:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#PermissionObject HTTP API: Permission Object]&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#ObjectPermissionObject HTTP API: Object Permission Object]&lt;br /&gt;
&lt;br /&gt;
=== New Ajax module: share/management ===&lt;br /&gt;
&lt;br /&gt;
To work with shares, a new Ajax module is introduced.&lt;br /&gt;
&lt;br /&gt;
The available actions in the module are described at:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#Module_.22share.2Fmanagement.22_.28preliminary.2C_available_with_v7.8.0.29 HTTP API: Module share management]&lt;br /&gt;
&lt;br /&gt;
=== New column &amp;amp;quot;shareable&amp;amp;quot; in detailed infoitem data ===&lt;br /&gt;
&lt;br /&gt;
Clients want to know quickly if an infostore item is shareable or not. A new (read-only) property named &amp;lt;code&amp;gt;shareable&amp;lt;/code&amp;gt; of type Boolean with column identifier &amp;lt;code&amp;gt;109&amp;lt;/code&amp;gt; is introduced for &amp;amp;quot;detailed infoitem data&amp;amp;quot;. If &amp;amp;quot;true&amp;amp;quot;, the can be considered as shareable, i.e. the item's object permissions may be adjusted by the user.&lt;br /&gt;
&lt;br /&gt;
Further details are available at:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#DetailedInfoitemData HTTP API: Detailed Infoitem Data]&lt;br /&gt;
&lt;br /&gt;
=== New action &amp;amp;quot;shares&amp;amp;quot; in module folder ===&lt;br /&gt;
&lt;br /&gt;
To provide an overview of all folders of a certain modules that are shared to others, a new &amp;lt;code&amp;gt;shares&amp;lt;/code&amp;gt; action is added to the Ajax module &amp;lt;code&amp;gt;folders&amp;lt;/code&amp;gt;. It returns all personal folders of a certain module that are shared to other entities.&lt;br /&gt;
&lt;br /&gt;
Further details are available at:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#Get_shared_folders_.28Since_7.8.0.2C_Preliminary.29 HTTP API: Get shared folders]&lt;br /&gt;
&lt;br /&gt;
=== New action &amp;amp;quot;shares&amp;amp;quot; in module infostore ===&lt;br /&gt;
&lt;br /&gt;
To provide an overview of all files that are shared to others, a new &amp;lt;code&amp;gt;shares&amp;lt;/code&amp;gt; action is added to the Ajax module &amp;lt;code&amp;gt;infostore&amp;lt;/code&amp;gt;. It returns all personal files that are shared to other entities.&lt;br /&gt;
&lt;br /&gt;
Further details are available at:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#Get_shared_infoitems_.28Since_7.8.0.2C_Preliminary.29 HTTP API: Get shared infoitems]&lt;br /&gt;
&lt;br /&gt;
=== New fields to retrieve extended permissions of files and folders ===&lt;br /&gt;
&lt;br /&gt;
Clients would like to have more details about permission entities folders directly. A new read-only property named &amp;lt;code&amp;gt;com.openexchange.share.extendedPermissions&amp;lt;/code&amp;gt; is introduced for &amp;amp;quot;Detailed folder data&amp;amp;quot;, with column identifier &amp;lt;code&amp;gt;3060&amp;lt;/code&amp;gt;. It basically contains the same as the regular &amp;lt;code&amp;gt;permissions&amp;lt;/code&amp;gt; array, yet enhanced by resolved information about the user, group or guest entities as well as additional, sharing-related properties.&lt;br /&gt;
&lt;br /&gt;
Similarly, a new read-only property named &amp;lt;code&amp;gt;com.openexchange.share.extendedObjectPermissions&amp;lt;/code&amp;gt; is introduced for &amp;amp;quot;Detailed infoitem data&amp;amp;quot;, with column identifier &amp;lt;code&amp;gt;7010&amp;lt;/code&amp;gt;. It basically contains the same as the regular &amp;lt;code&amp;gt;object_permissions&amp;lt;/code&amp;gt; array, yet enhanced by resolved information about the user, group or guest entities as well as additional, sharing-related properties.&lt;br /&gt;
&lt;br /&gt;
Further information about the JSON structure is available at:&lt;br /&gt;
&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#ExtendedPermissionObject HTTP API: Extended Permission Object]&lt;br /&gt;
* [http://oxpedia.org/index.php?title=HTTP_API#ExtendedObjectPermissionObject HTTP API: Extended Object Permission Object]&lt;br /&gt;
&lt;br /&gt;
== Consuming Shares ==&lt;br /&gt;
&lt;br /&gt;
Depending on the shared contents and the requesting user agent, shares may be consumed in a couple of different ways. The concrete response to a request to the share URL is evaluated by the share servlet in the backend.&lt;br /&gt;
&lt;br /&gt;
=== App Suite ===&lt;br /&gt;
&lt;br /&gt;
The default handling for all shares is forwarding them to the App Suite web interface, where the shared contents are made available through the existing client. Based on the underlying guest account, the client is either forwarded to the login prompt, or taken directly to the share target if no credentials need to be provided. This process is described in more detail at [[#Guest_Login_&amp;amp;_Session_Handling|Guest Login &amp;amp;amp; Session Handling]].&lt;br /&gt;
&lt;br /&gt;
=== Direct Download ===&lt;br /&gt;
&lt;br /&gt;
Shares to a single file may also be downloaded directly by clients, without opening them in the web interface first. This is indicated by an additional parameter appended to the plain share link, and can be specified in the following ways:&lt;br /&gt;
&lt;br /&gt;
* Append &amp;lt;code&amp;gt;dl&amp;lt;/code&amp;gt; parameter:&amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;https://ox.example.com/ajax/share/48b2b6190151f1bd8b4b610151f0405d9fc8cb89a087f14e/151eab38?dl=true&amp;lt;/code&amp;gt;&lt;br /&gt;
* Specify &amp;lt;code&amp;gt;delivery&amp;lt;/code&amp;gt; parameter:&amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;https://ox.example.com/ajax/share/48b2b6190151f1bd8b4b610151f0405d9fc8cb89a087f14e/151eab38?delivery=download&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If accessing the item requires authentication, an unauthenticated request is responded with &amp;lt;code&amp;gt;HTTP 401 Unauthorized&amp;lt;/code&amp;gt;. The client then has to provide the correct credentials to access the share via basic authentication. If there's no dedicated username for the underlying guest account - i.e. an &amp;amp;quot;anonymous&amp;amp;quot; share link protected with a PIN code is accessed - only the password is checked, i.e. the client may then supply an arbitrary username in the basic authentication header like &amp;amp;quot;Guest&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Get iCal ===&lt;br /&gt;
&lt;br /&gt;
Shares to a single calendar- or task-folder may also be downloaded directly by clients as iCal files, without opening them in the web interface first. This standard format allows to consume event data directly using various calendaring clients, which often can be configured to subscribe an external calendar source.&lt;br /&gt;
&lt;br /&gt;
Once a share link to a calendar- or task-folder is requested by the client, the &amp;lt;code&amp;gt;Accept&amp;lt;/code&amp;gt;- and &amp;lt;code&amp;gt;User-Agent&amp;lt;/code&amp;gt; headers of the request are evaluated. If the &amp;lt;code&amp;gt;Accept&amp;lt;/code&amp;gt; header is either set to &amp;lt;code&amp;gt;text/calendar&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;text/iCal&amp;lt;/code&amp;gt;, or if the &amp;lt;code&amp;gt;User-Agent&amp;lt;/code&amp;gt; header denotes a well-known client like Microsoft Outlook or Mozilla Thunderbird w/ Lightning, the contents of the shared folder are converted to an iCal file that is directly written back in the response.&lt;br /&gt;
&lt;br /&gt;
To force the iCal output, an additional parameter may be appended to the plain share link:&lt;br /&gt;
&lt;br /&gt;
* Append &amp;lt;code&amp;gt;ical&amp;lt;/code&amp;gt; parameter:&amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;https://ox.example.com/ajax/share/48b2b6190151f1bd8b4b610151f0405d9fc8cb89a087f14e/151eab38?ical=true&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If accessing the item requires authentication, an unauthenticated request is responded with &amp;lt;code&amp;gt;HTTP 401 Unauthorized&amp;lt;/code&amp;gt;. The client then has to provide the correct credentials to access the share via basic authentication. If there's no dedicated username for the underlying guest account - i.e. an &amp;amp;quot;anonymous&amp;amp;quot; share link protected with a PIN code is accessed - only the password is checked, i.e. the client may then supply an arbitrary username in the basic authentication header like &amp;amp;quot;Guest&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The interval of task- and appointment data considered for conversion to iCal can be adjusted via &amp;lt;code&amp;gt;com.openexchange.share.handler.iCal.futureInterval&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;com.openexchange.share.handler.iCal.pastInterval&amp;lt;/code&amp;gt; in configuration file &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cross-context functionality ==&lt;br /&gt;
&lt;br /&gt;
As already mentioned in previous sections the administrator is able to configure if guests should be handled per context (default) or server wide by using the configuration parameter &amp;lt;code&amp;gt;com.openexchange.share.crossContextGuests&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; the guests email address is used to recognize if there is already a registered user with the given address and aligns the stored password to the already existing guest user. In addition to the password (which is the most important parameter this feature is about) even the users contact data gets synchronized.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* To handle user and contact data across contexts boundaries the feature has to be enabled before a guest receives the first share. Guests that receive shares before the activation cannot be considered within the alignment process. Only latter shares will be considered.&lt;br /&gt;
* At the moment this feature does only sync user and contact related data (no shared content). If the user got two shares from different contexts he will only see shares related to the given link.&lt;br /&gt;
&lt;br /&gt;
== Publish/Subscribe vs. Sharing ==&lt;br /&gt;
&lt;br /&gt;
The upcoming sharing features are going to replace the previously used OXMF &amp;amp;quot;publications&amp;amp;quot;, allowing guest users to interact with the shared data in the same way as regular groupware users do. However, since the underlying concepts and their technical realization are completely different, a seamless migration between publications and shares is not possible without some drawbacks.&lt;br /&gt;
&lt;br /&gt;
The following list gives an overview of the main discrepancies:&lt;br /&gt;
&lt;br /&gt;
* Custom templates for OXMF publication targets&amp;lt;br /&amp;gt;An adminsitrator/admin may have defined some custom publication targets that are using the published data in a special way. While shares would still make all the data available (mainly via the web interface), this would only be a drop-in replacement for the ordinary &amp;amp;quot;view the publication in a browser&amp;amp;quot; use case, but not for anything beyond that scope.&lt;br /&gt;
* Subscribe of publications&amp;lt;br /&amp;gt;Publications from one user can be added to another user's groupware using the &amp;amp;quot;subscribe&amp;amp;quot; functionality, making use of the embedded microformat data of publications (OXMF). For sharing, we will not have a similar feature in the first iteration, so migrating an existing publication to a share would also stop it from being subscribable.&lt;br /&gt;
* Deep links to download files of publications&amp;lt;br /&amp;gt;Files behind an infostore publication were accessible behind a static URL, which would theoretically allow them to be requested independently of the parent publication (e.g. images linked from an external website). While the entry URL to a publication would be mappable to a corresponding share URL, converting existing publications to shares would at least break such deep links.&lt;br /&gt;
&lt;br /&gt;
Because of the above points and the whole different concept, we do not migrate existing publications to shares. Instead, the default behavior will be:&lt;br /&gt;
&lt;br /&gt;
* No new OXMF publications or subscriptions can be created by default&lt;br /&gt;
* The web client does no longer give the option to publish or subscribe in the OXMF format&lt;br /&gt;
* Existing OXMF publications / subscriptions can't be updated&lt;br /&gt;
* Existing OXMF publications continue to work as is, including associated subscriptions&lt;br /&gt;
* Yet it's still possible to delete existing publications and subscriptions&lt;br /&gt;
* Therefore, the menu section &amp;amp;quot;Publications and Subscriptions&amp;amp;quot; will still be available (if there's at least one publication or subscription)&lt;br /&gt;
&lt;br /&gt;
Exceptions to these rules cover special internal subscriptions to 3rd party services like addressbooks from LinkedIn (removed since 7.10.0) or Xing, as well as the auto-publish feature of mail attachments exceeding a specific size.&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The possibility to create/update OXMF publications via HTTP-API may be configured via &amp;lt;code&amp;gt;com.openexchange.publish.createModifyEnabled&amp;lt;/code&amp;gt; in file &amp;lt;code&amp;gt;publications.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
* The possibility to create/update OXMF subscriptions via HTTP-API may be configured via &amp;lt;code&amp;gt;com.openexchange.subscribe.microformats.createModifyEnabled&amp;lt;/code&amp;gt; in file &amp;lt;code&amp;gt;microformatSubscription.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limit file accesses for named/anonymous guests (since 7.8.2) ==&lt;br /&gt;
&lt;br /&gt;
As links to shares might be shared without knowing the audience we introduced a mechanism to prevent abuse.&lt;br /&gt;
&lt;br /&gt;
Therefor the possibility to define size and/or count limits for named/anonymous guests has been introduced. As internal users can be considered as reliable it is not possible to define limits for them. &lt;br /&gt;
&lt;br /&gt;
For named and anonymous guests there are two kinds of limits which apply to a defined time frame. The time frame acts as a sliding time window which means that based on the current request all earlier requests matching the time frame are cumulated and evaluated if one of the two limits is exceeded. If so, the request will be answered with an exception.&lt;br /&gt;
&lt;br /&gt;
The two limits mentioned above are:&lt;br /&gt;
&lt;br /&gt;
* size limits: how many content (in bytes) should the guest be allowed to download (within the defined time frame).&lt;br /&gt;
* count limits: how often should the guest be allowed to download a file or folder (within the defined time frame). &lt;br /&gt;
&lt;br /&gt;
Named and anonymos guests can have different limits. Limits are valid for downloads of files and folders. Preview of images is not considered within the limit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Administrator Notes:'''''&lt;br /&gt;
&lt;br /&gt;
* The anti-abuse mechanism will be available after updating the package open-xchange-core to release 7.8.2&lt;br /&gt;
* Additional parameters are located within the configuration file &amp;lt;code&amp;gt;share.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
* Per default the feature is disabled&lt;br /&gt;
* To enable the feature you have to set &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.enabled&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. If not enabled all additional checks will be skipped. If you would like to set limits via config cascade those will only be checked if the feature itself is enabled.&lt;br /&gt;
* To be more flexible the administrator is able to overwrite limits by using the config cascade. As guests do not have fixed user identifiers only the 'context' level scope is supported.&lt;br /&gt;
&lt;br /&gt;
After the feature is enabled you have the ability to configure fine-grained accesses via: &lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.timeFrame.guests&amp;lt;/code&amp;gt;: sliding time frame (in milliseconds) the limits are valid for named guests. Setting to 0 will disable the check for named guests (if not overwritten via config cascade).&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.timeFrame.links&amp;lt;/code&amp;gt;: sliding time frame (in milliseconds) the limits are valid for anonymous guests. Setting to 0 will disable the check for anonymous guests (if not overwritten via config cascade).&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.size.guests&amp;lt;/code&amp;gt;: the limit in bytes for named guests (valid for aboves time frame). Setting to 0 will disable the size check for named guests (if not overwritten via config cascade).&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.size.links&amp;lt;/code&amp;gt;: the limit in bytes for anonymous guests (valid for aboves time frame). Setting to 0 will disable the size check for anonymous guests (if not overwritten via config cascade).&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.count.guests&amp;lt;/code&amp;gt;: the limit for a number of downloads (valid for aboves time frame) for named guests. Setting to 0 will disable the count check for named guests (if not overwritten via config cascade).&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.count.links&amp;lt;/code&amp;gt;: the limit for a number of downloads (valid for aboves time frame) for anonymous guests. Setting to 0 will disable the count check for anonymous guests (if not overwritten via config cascade).&lt;br /&gt;
&lt;br /&gt;
=== Example configurations === &lt;br /&gt;
&lt;br /&gt;
A mixed configuration is possible. Have a look at the following examples assuming that &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.enabled&amp;lt;/code&amp;gt; is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following configuration only checks the count limit for anonymous guests. Named guests and the limit for download sizes will not be checked&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.timeFrame.guests:0&amp;lt;/code&amp;gt; (# disabled)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.timeFrame.links:3600000&amp;lt;/code&amp;gt; (# 60 minutes)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.size.guests:0&amp;lt;/code&amp;gt; (# not considered as disabled)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.size.links:0&amp;lt;/code&amp;gt; (# size for 60 minutes not checked)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.count.guests:0&amp;lt;/code&amp;gt; (# not considered as disabled)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.count.links:100&amp;lt;/code&amp;gt; (# 100 downloads within 60 minutes)&lt;br /&gt;
&lt;br /&gt;
The following configuration will check the count limit for named guests and the size limit for anonymous guests (both within the last 60 minutes).&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.timeFrame.guests:3600000&amp;lt;/code&amp;gt; (# 60 minutes)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.timeFrame.links:3600000&amp;lt;/code&amp;gt; (# 60 minutes)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.size.guests:0&amp;lt;/code&amp;gt; (# disabled)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.size.links:1073741824&amp;lt;/code&amp;gt; (# 1 GB)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.count.guests:1000&amp;lt;/code&amp;gt; (# 1000 downloads within 60 minutes)&lt;br /&gt;
* &amp;lt;code&amp;gt;com.openexchange.share.servlet.limit.count.links:0&amp;lt;/code&amp;gt; (# disabled)&lt;br /&gt;
&lt;br /&gt;
It is possible to reload an adapted configuration by using reloadconfiguration command line tool.&lt;br /&gt;
&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: Administrator]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Capabilities&amp;diff=23819</id>
		<title>AppSuite:Capabilities</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Capabilities&amp;diff=23819"/>
		<updated>2018-02-08T08:29:26Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Query capabilities via the HTTP API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Synopsis:''' How to use capabilities so that your new AppSuite plugin can be enabled or disabled.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== What are capabilities? == &lt;br /&gt;
&lt;br /&gt;
'''Usecase'''&lt;br /&gt;
&lt;br /&gt;
You write a new UI app or plugin (chat module, for example) and in addition, you want to make sure that only a specific set of users or contexts within the system are allowed to use it. &lt;br /&gt;
&lt;br /&gt;
''Example:'' Your chat app should only be available after a user has bought it in your online shop. To do so, you will need to implement the capabilities logic within your UI app or plugin and restrict it to a user or context marked accordingly (called &amp;quot;premium&amp;quot; in further examples).&lt;br /&gt;
&lt;br /&gt;
== Set a capability ==&lt;br /&gt;
&lt;br /&gt;
First, disable it for everyone as default (or enable it for everyone, depending on what your aim is). &lt;br /&gt;
&lt;br /&gt;
In &amp;lt;tt&amp;gt;/opt/open-xchange/etc/[myproduct].properties&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  com.openexchange.capability.[myproduct]=false # off for everyone&lt;br /&gt;
&lt;br /&gt;
Then restart the OX Application Server and afterwards use the general OX AppSuite commandline tools to enable the capability/capabilities. &lt;br /&gt;
&lt;br /&gt;
The commandline tools used in the following examples are located in: &lt;br /&gt;
&lt;br /&gt;
  /opt/open-xchange/sbin&lt;br /&gt;
&lt;br /&gt;
In this example, only for a specific user:&lt;br /&gt;
&lt;br /&gt;
  changeuser ... --config/com.openexchange.capability.[myproduct]=true&lt;br /&gt;
&lt;br /&gt;
...or for a full context:&lt;br /&gt;
  changecontext -c ... --config/com.openexchange.capability.[myproduct]=true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...or set the capability to a context set:&lt;br /&gt;
&lt;br /&gt;
  changecontext -c ... --taxonomy/types=premium&lt;br /&gt;
&lt;br /&gt;
To get the capability/capabilities working for context sets (like above), you also need to edit the contextSet files in:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;/opt/open-xchange/etc/contextSets/premium.yml&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And add the corresponding capability/capabilities:&lt;br /&gt;
&lt;br /&gt;
  premium:&lt;br /&gt;
     com.openexchange.capability.[myproduct]: true&lt;br /&gt;
     withTags: premium&lt;br /&gt;
&lt;br /&gt;
Then restart the OX Application Server!&lt;br /&gt;
&lt;br /&gt;
== Query capabilities via the HTTP API ==&lt;br /&gt;
&lt;br /&gt;
Query:&lt;br /&gt;
  GET /appsuite/api/capabilities?action=all&amp;amp;session=991fd40f635b45...&lt;br /&gt;
Response:&lt;br /&gt;
  {&amp;quot;data&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;oauth&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;webmail&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;document_preview&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;printing&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;spreadsheet&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;gab&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;multiple_mail_accounts&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;publication&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;rss_bookmarks&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;linkedin&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;filestore&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;ical&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;rt&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;olox20&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;forum&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;active_sync&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;conflict_handling&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;rss_portal&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;oxupdater&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;infostore&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;contacts&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;collect_email_addresses&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;drive&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;rss&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;pinboard_write_access&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;mobility&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;calendar&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;participants_dialog&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;edit_public_folders&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;groupware&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;msisdn&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;carddav&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;tasks&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;portal&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;mailfilter&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;read_create_shared_folders&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;vcard&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;pim&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;caldav&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;projects&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;usm&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;webdav&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;dev&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;delegate_tasks&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;freebusy&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;subscription&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;linkedinPlus&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;autologin&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;webdav_xml&amp;quot;,&amp;quot;attributes&amp;quot;:{}},{&amp;quot;id&amp;quot;:&amp;quot;twitter&amp;quot;,&amp;quot;attributes&amp;quot;:{}}]}&lt;br /&gt;
&lt;br /&gt;
Here &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; is the name of the capability.&lt;br /&gt;
&lt;br /&gt;
Note that the LinkedIn support was removed since 7.10.0&lt;br /&gt;
&lt;br /&gt;
== Query capabilities in the UI ==&lt;br /&gt;
  require(['io.ox/core/capabilities'], function (cap) { if cap.has('[myproduct]' { ... } );&lt;br /&gt;
&lt;br /&gt;
== Require the capabilities in your UI manifest file ==&lt;br /&gt;
  {&lt;br /&gt;
     namespace: ...&lt;br /&gt;
     requires: '[myproduct]'&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Now your plugin will only be loaded if the capability '[myproduct]' is set for a specific user, context, context set.&lt;br /&gt;
&lt;br /&gt;
== Testing the capabilities ==&lt;br /&gt;
&lt;br /&gt;
* For testing purposes use an URL parameter to test capabilities. &lt;br /&gt;
&lt;br /&gt;
Add the following parameter to your AppSuite URL in the browser to activate:&lt;br /&gt;
&lt;br /&gt;
  &amp;amp;cap=[myproduct]&lt;br /&gt;
&lt;br /&gt;
or use &lt;br /&gt;
&lt;br /&gt;
  &amp;amp;disableFeature=[myproduct]&lt;br /&gt;
&lt;br /&gt;
to disable a certain capability. &lt;br /&gt;
&lt;br /&gt;
In general, after adding those URL parameters, you need to reload the UI to temporarly test/enable the set capability.&lt;br /&gt;
&lt;br /&gt;
== Further informations == &lt;br /&gt;
* See the dedicated wiki page of the [[ConfigCascade]] mechanism for more details.&lt;br /&gt;
* If you want to know about existing capabilities and the way they are used for upsell, see [[AppSuite:Upsell#Capabilities_and_Upsell_triggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: Upsell]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
[[Category: Custom development]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Tutorial_10K&amp;diff=23818</id>
		<title>AppSuite:OX Tutorial 10K</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Tutorial_10K&amp;diff=23818"/>
		<updated>2018-02-08T08:28:52Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Install and configure OX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tutorial: OX AppSuite Setup for up to 10.000 users =&lt;br /&gt;
&lt;br /&gt;
'''This article describes what you need for a typical OX AppSuite Setup for up to 10.000 Users with minimal efforts.'''&lt;br /&gt;
&lt;br /&gt;
It contains everything you need to:&lt;br /&gt;
* Understand the design of the OX AppSuite setup including additional services&lt;br /&gt;
* Install the whole system based on the relevant articles&lt;br /&gt;
* Find pointers to the next steps of integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSuite-10k.png|frameless|alt=Architecture-10k|800px]]&lt;br /&gt;
&lt;br /&gt;
The system is designed to provide maximum functionality with a minimum of necessary hardware. All OX services are running on one single machine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core Components for OX AppSuite ==&lt;br /&gt;
&lt;br /&gt;
* One OX AppSuite server (HW recommendation: 16GB RAM / 4 cores)&lt;br /&gt;
* MySQL installed directly on this server &lt;br /&gt;
* Optional: NFS Server to store documents and files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Infrastructure Components not delivered by OX ==&lt;br /&gt;
&lt;br /&gt;
* An email system providing IMAP and SMTP&lt;br /&gt;
* A control panel for creation and administration of users&lt;br /&gt;
&lt;br /&gt;
= Overview Installation Steps =&lt;br /&gt;
&lt;br /&gt;
'''To deploy the described OX setup, the following steps need to be done. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mandatory Steps ==&lt;br /&gt;
# Initialize and configure MySQL database&lt;br /&gt;
# Install and configure OX service&lt;br /&gt;
&lt;br /&gt;
== Steps depending on your environment ==&lt;br /&gt;
# Connect Control Panel&lt;br /&gt;
# Connect Email System&lt;br /&gt;
&lt;br /&gt;
== Recommended Optional Next Steps ==&lt;br /&gt;
# Automated Frontend Tests (see [[Automated_GUI_Tests|here]])&lt;br /&gt;
# Upsell Plugin (see [[AppSuite:Upsell|here]] and [[AppSuite:Upsell_tools|here]])&lt;br /&gt;
# Automatic FailOver&lt;br /&gt;
# Theming (see [https://documentation.open-xchange.com/latest/ui/theming.html here])&lt;br /&gt;
&lt;br /&gt;
= Mandatory Installation Steps - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The following steps need to be done in every case to get OX up and running:'''&lt;br /&gt;
&lt;br /&gt;
== Install and configure OX ==&lt;br /&gt;
&lt;br /&gt;
OX will be installed on the server.&lt;br /&gt;
&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_Debian_6.0|Download and Installation Guide for Debian GNU/Linux 6.0 (Squeeze)]]&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_Debian_7.0|Download and Installation Guide for Debian GNU/Linux 7.0 (Wheezy)]]&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_SLES11|Download and Installation Guide for SUSE Linux Enterprise Server 11]]&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_RHEL6|Download and Installation Guide for RedHat Enterprise Linux 6]]&lt;br /&gt;
&lt;br /&gt;
You also should install and configure the OXtender for Business Mobility&lt;br /&gt;
&lt;br /&gt;
[[AppSuite:OXtender_for_Business_Mobility_Installation_Guide|Installation of the OXtender for Business Mobility]]&lt;br /&gt;
&lt;br /&gt;
Let your users connect to their data from other services like Twitter or LinkedIn (removed since 7.10.0) by configuring the &amp;quot;SocialOX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[SocialOX|SocialOX-Configuration]]&lt;br /&gt;
&lt;br /&gt;
= Installation Steps depending on your environment - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
'''The following components need to be implemented in your environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_CP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_HGP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Plesk}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Auth}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connect Email System ==&lt;br /&gt;
&lt;br /&gt;
Every email system providing IMAP and SMTP can be used as backend to OX. Best experiences are made with the widespread Linux based IMAP servers [http://dovecot.org/ Dovecot],  [http://www.cyrusimap.org/ Cyrus] or [http://www.courier-mta.org/imap/ Courier]. &lt;br /&gt;
&lt;br /&gt;
Other IMAP servers need to be tested thoroughly before going into production.&lt;br /&gt;
&lt;br /&gt;
There are several possibilities to implement the Email system:&lt;br /&gt;
&lt;br /&gt;
# You already have an email system available: Nothing needs to be done, it just needs to be configured&lt;br /&gt;
# You use Plesk Panel: Nothing special needs to be done, everything you need is contained in the OXtender for Plesk&lt;br /&gt;
# You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Dovecot}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{AppSuite:OX_Tutorial_Next}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Versioning_and_Numbering&amp;diff=23817</id>
		<title>AppSuite:Versioning and Numbering</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Versioning_and_Numbering&amp;diff=23817"/>
		<updated>2018-02-08T08:28:29Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Please Note - Additional Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Versioning and Numbering of Open-Xchange Products=&lt;br /&gt;
&lt;br /&gt;
== Abbreviations ==&lt;br /&gt;
&lt;br /&gt;
The Open-Xchange versioning 2015 will be structured in the following way:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;generation&amp;gt;.&amp;lt;major release&amp;gt;.&amp;lt;minor release&amp;gt; Rev&amp;lt;build number&amp;gt;'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Abbreviation&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Meaning&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Comparison&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;generation&amp;gt;&lt;br /&gt;
|The first number is the product generation number. A new generation may contain new architecture, different technology and many more.&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;OX App Suite 7&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;major release&amp;gt;&lt;br /&gt;
|The second version number (major release) indicates significant program changes in terms of added functionality. Major changes to design and enhancements of APIs are possible. All APIs shall be backward compatible, which means, that mainly new functions can be added. If Open-Xchange releases a new major release this will be an even number, unstable interim releases have odd numbers.&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;OX App Suite v7.6&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt; &amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;minor release&amp;gt;&lt;br /&gt;
|The third version number (minor releases) indicates an update with consolidated bug fixes and non-intrusive feature enhancements. APIs and database will not be changed if this can be avoided. All changes must be backward compatible.&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;OX App Suite v7.6.1&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;build number&amp;gt;&lt;br /&gt;
|The Rev-number (Revision) shows the progress of the development in single steps&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;OX App Suite v7.6.1-Rev3&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Public Patch Release / Patch Release&lt;br /&gt;
|A Public Patch Release enables Open-Xchange to publish a feature together with a patch. This in turn enables Open-Xchange to react more flexibly to time requests for certain features, thus relieving minor releases and making it possible to shift them. Delivering a feature with a Public Patch Release requires:&lt;br /&gt;
* It can be implemented without far-reaching side effects. This is especially true for features that are implemented as plug-ins. To a limited extend, features affecting a limited sub set of core functionality can be included. Technical pragmatism is fine to reach the goal (e.g., copy &amp;amp; paste of functionality instead of abstraction into a service). This pragmatism has to be leveled out though as soon as the feature is ported into a more flexible branch.  &lt;br /&gt;
*It can be deactivated and is deactivated by default. If a customer installs a Public Patch Release, the familiar feature set does not change. Only if explicitly activating the enhanced features, will they be available to the end user.&lt;br /&gt;
*If features require changes to the data base schema or configuration files, they have to be developed in such a way that they do not impair the running system.&lt;br /&gt;
*Side-effects of Public Patch Releases are evaluated by the respective developers. Together with the QA team, they make a test plan for checking for those side effects and other effects. &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Levels of Open-Xchange ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;OX Release Level (new)&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;New Generation&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Major Release&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Minor Release&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Public Patch Release&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |&amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Patch Release&lt;br /&gt;
|-&lt;br /&gt;
|'''Target Audience'''&lt;br /&gt;
|All&lt;br /&gt;
|Public/All&lt;br /&gt;
|Maintenance customers &amp;amp; Partners&lt;br /&gt;
|Public/All&lt;br /&gt;
|L3 Support Customers, Value Package Partners&lt;br /&gt;
|-&lt;br /&gt;
|'''Purpose'''&lt;br /&gt;
|Provide new technologies&lt;br /&gt;
|Provide functional enhancements including Bug Fixes, accumulate earlier Patch Releases's / major releases. Major changes to design and enhancements of APIs are possible. All APIs shall be backward compatible.&lt;br /&gt;
|Provide common bug fixes for all customers, accumulate previous Patch Release's and non-intrusive feature enhancements. APIs and database will not be changed if this can be avoided. All changes must be backward compatible.&lt;br /&gt;
|Provide fixes for severity level 1/2 tickets, for all Support Customer, small features (developed in such a way that they do not impair the running system), temporary until next Maintenance Release accumulative.&lt;br /&gt;
|Provide fixes for severity level 1/2 tickets, for a specific Support Customer, small features, temporary until next Maintenance Release accumulative&lt;br /&gt;
|-&lt;br /&gt;
|'''Frequency'''&lt;br /&gt;
|Open-Xchange Roadmap&lt;br /&gt;
|Decided by Open-Xchange&lt;br /&gt;
|Decided by Open-Xchange&lt;br /&gt;
|As soon as required&lt;br /&gt;
|According to SLA&lt;br /&gt;
|-&lt;br /&gt;
|'''[[AppSuite:Version_Support_Committment|Support Committment]]'''&lt;br /&gt;
|5 years after First Customer Shippment (FCS)&lt;br /&gt;
|6 months after FCS (Latest Minor Release at the Major-Release cycle will be official supported)&lt;br /&gt;
|Last Minor Release of a supported Major Release&lt;br /&gt;
|Next Public Patch Release&lt;br /&gt;
|Next (Public) Patch Release&lt;br /&gt;
|-&lt;br /&gt;
|'''Requested by'''&lt;br /&gt;
|Product Management&lt;br /&gt;
|Product Management, Professional Services&lt;br /&gt;
|Support, QA, Product Management, Professional Services&lt;br /&gt;
|Entitled Customer (Support, Professional Services), Product Management&lt;br /&gt;
|Entitled Customer (Support, Professional Services)&lt;br /&gt;
|-&lt;br /&gt;
|'''Compatibility requirements/backward compatibility'''&lt;br /&gt;
|&lt;br /&gt;
|Database updates, Changes of configuration files&lt;br /&gt;
|Backward compatibility to last major release. In urgent cases there could be database updates or configuration file changes&lt;br /&gt;
|Backward compatibility to last major release&lt;br /&gt;
|Backward compatibility to last major release&lt;br /&gt;
|-&lt;br /&gt;
|'''Test Efforts OX (QA)'''&lt;br /&gt;
|Smoke Tests, Always Tests, Bug Fix Tests, Feature Tests, Dependencies Tests, Heuristic Tests, Performance Tests&lt;br /&gt;
|Smoke Tests, Always Tests, Bug Fix Tests, Feature Tests, Dependencies Tests, Heuristic Tests, Performance Tests&lt;br /&gt;
|Smoke Test, Always Tests, Bug Fix Tests, Dependencies Tests, Heuristic Tests, Performance Tests&lt;br /&gt;
|Smoke Tests, Always Tests, Bug Fix Tests - Fix Approval&lt;br /&gt;
|Smoke Tests, Always Tests, Bug Fix Tests - Support: Fix Approval&lt;br /&gt;
|-&lt;br /&gt;
|'''Test Efforts Customer/Partner'''&lt;br /&gt;
|Smoke Tests, Bug Fix Tests, New Feature Tests, Integration Tests&lt;br /&gt;
|Smoke Tests, Bug Fix Tests, New Feature Tests, Integration Tests&lt;br /&gt;
|Smoke Tests, Bug Fix Tests, Integration Tests&lt;br /&gt;
|Smoke Tests&lt;br /&gt;
|Smoke Tests, Bug Fix Approval&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Open-Xchange Server 6 ==&lt;br /&gt;
&lt;br /&gt;
=== Editions ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; width=&amp;quot;50&amp;quot;|Abbreviation&lt;br /&gt;
!align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot;|Description&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Target usage&lt;br /&gt;
|-&lt;br /&gt;
|OX:HE&lt;br /&gt;
|Open-Xchange Hosting Edition&lt;br /&gt;
|Designed for organizations that want to provide a scalable, multi-tenant e-mail and collaboration solution to their customers. Focus:  Software-as-a-Service offerings&lt;br /&gt;
|-&lt;br /&gt;
|OX:SE&lt;br /&gt;
|Open-Xchange Server Edition&lt;br /&gt;
|Designed for medium and large size organizations, educational institutions and public administrations seeking a customizable communication solution. Focus: System Integrators&lt;br /&gt;
|-&lt;br /&gt;
|OX:SEforUCS&lt;br /&gt;
|Open-Xchange Server Edition for Univention Corporate Server&lt;br /&gt;
|Integration to in-house customer environments&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Open-Xchange App Suite ==&lt;br /&gt;
&lt;br /&gt;
=== Editions ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; width=&amp;quot;50&amp;quot;|Abbreviation&lt;br /&gt;
!align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot;|Description&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Target usage&lt;br /&gt;
|-&lt;br /&gt;
|OX App Suite&lt;br /&gt;
|Open-Xchange App Suite Community Version&lt;br /&gt;
|Need to revitalize business growth and increase your competitive advantage? OX App Suite integrates smoothly into existing infrastructures and massively scales across multi-tenant architectures securely and reliably. Offer your users a seamless messaging experience to deliver branded, app-economy services and take back the user experience. German engineered and designed for a mobile world, OX App Suite uses open API's to deliver device independent access to email and messaging, social collaboration and digital media via a rich web-based interface. Through a modular App-based portal, HTML5 interoperability gives providers a new basis to up-sell and cross-sell white-labeled services and mobile applications.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2007 2007]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2008 2008]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2009 2009]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2010 2010]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2011 2011]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2012 2012]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2013 2013]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2014 2014]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2015 2015]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2016 2016]===&lt;br /&gt;
&lt;br /&gt;
===[http://oxpedia.org/wiki/index.php?title=Versioning_and_Numbering_2017 2017]===&lt;br /&gt;
&lt;br /&gt;
===2018 ===&lt;br /&gt;
&lt;br /&gt;
'''Please Note: Minor and Major Product Releases in bold'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |GA&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Product&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Major Release&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Minor Release&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Public Patch Releases&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Shipped Packages&lt;br /&gt;
|-&lt;br /&gt;
|2018-01-08&lt;br /&gt;
|OX App Suite v7.8.3 and OX 6 Middleware v7.8.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.8.3-rev42&amp;lt;br&amp;gt;Open-Xchange App Suite Frontend v7.8.3-rev36&lt;br /&gt;
|-&lt;br /&gt;
|2018-01-08&lt;br /&gt;
|OX App Suite v7.8.4, OX 6 Middleware v7.8.4 and OX Documents v7.8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.8.4-rev20&amp;lt;br&amp;gt;Open-Xchange App Suite Frontend v7.8.4-rev18&amp;lt;br&amp;gt;Open-Xchange Documentconverter 7.8.4-rev6&lt;br /&gt;
|-&lt;br /&gt;
|2018-01-09&lt;br /&gt;
|OX Guard v2.8.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange Guard v2.8.0-rev13&lt;br /&gt;
|-&lt;br /&gt;
|2018-01-22&lt;br /&gt;
|OX App Suite v7.8.3 and OX 6 Middleware v7.8.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.8.3-rev43&amp;lt;br&amp;gt;Open-Xchange App Suite Frontend v7.8.3-rev37&lt;br /&gt;
|-&lt;br /&gt;
|2018-01-22&lt;br /&gt;
|OX App Suite v7.8.4, OX 6 Middleware v7.8.4 and OX Documents v7.8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.8.4-rev21&amp;lt;br&amp;gt;Open-Xchange App Suite Frontend v7.8.4-rev19&amp;lt;br&amp;gt;Open-Xchange Office-web v7.8.4-rev8&amp;lt;br&amp;gt;Open-Xchange Office v7.8.4-rev7&lt;br /&gt;
|-&lt;br /&gt;
|2018-02-05&lt;br /&gt;
|eM Client for OX App Suite v7.1.3&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|&lt;br /&gt;
|eM Client for OX App Suite v7.1.32056&lt;br /&gt;
|-&lt;br /&gt;
|2018-02-07&lt;br /&gt;
|OX App Suite v7.8.4, OX 6 Middleware v7.8.4 and OX Documents v7.8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.8.4-rev22&amp;lt;br&amp;gt;Open-Xchange App Suite Frontend v7.8.4-rev20&amp;lt;br&amp;gt;Open-Xchange Office-web v7.8.4-rev9&amp;lt;br&amp;gt;Open-Xchange Readerengine v7.8.4-rev4&lt;br /&gt;
|-&lt;br /&gt;
|2018-02-07&lt;br /&gt;
|OX App Suite v7.8.3, OX 6 Middleware v7.8.3 and OX Documents v7.8.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.8.3-rev44&amp;lt;br&amp;gt;Open-Xchange App Suite Frontend v7.8.3-rev38&amp;lt;br&amp;gt;Open-Xchange Office-web v7.8.3-rev12&amp;lt;br&amp;gt;Open-Xchange Readerengine v7.8.3-rev6&lt;br /&gt;
|-&lt;br /&gt;
|2018-02-07&lt;br /&gt;
|OX App Suite v7.8.2, OX 6 Middleware v7.8.2 and OX Documents v7.8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.8.2-rev39&amp;lt;br&amp;gt;Open-Xchange Frontend v7.8.2-rev30&amp;lt;br&amp;gt;Open-Xchange Readerengine v7.8.2-rev6&lt;br /&gt;
|-&lt;br /&gt;
|2018-02-07&lt;br /&gt;
|OX App Suite v7.6.3, OX 6 Middleware v7.6.3 and OX Documents v7.6.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:check.gif]]&lt;br /&gt;
|Open-Xchange App Suite / OX 6 Middleware (backend) v7.6.3-rev36&amp;lt;br&amp;gt;Open-Xchange App Suite Frontend v7.6.3-rev30&amp;lt;br&amp;gt;Open-Xchange Readerengine v7.6.3-rev3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Current Product Version Matrix ==&lt;br /&gt;
&lt;br /&gt;
Open-Xchange products comprise of two major components: Front End and Back End. Each of these components can be rev’ed independently of each other. The following table shows the most recent combinations of Front End version and Back End version that make up a complete product version.&lt;br /&gt;
&lt;br /&gt;
=== OX App Suite ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Version &lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Backend &lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Frontend&lt;br /&gt;
|-&lt;br /&gt;
|v7.8.4&lt;br /&gt;
|v7.8.4-rev22&lt;br /&gt;
|v7.8.4-rev20&lt;br /&gt;
|-&lt;br /&gt;
|v7.8.3&lt;br /&gt;
|v7.8.3-rev44&lt;br /&gt;
|v7.8.3-rev38&lt;br /&gt;
|-&lt;br /&gt;
|v7.8.2&lt;br /&gt;
|v7.8.2-rev39&lt;br /&gt;
|v7.8.2-rev30&lt;br /&gt;
|-&lt;br /&gt;
|v7.6.3&lt;br /&gt;
|v7.6.3-rev36&lt;br /&gt;
|v7.6.3-rev30&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Open-Xchange Server 6 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Version&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Backend &lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Frontend&lt;br /&gt;
|-&lt;br /&gt;
|v7.8.4 / v6.22.13&lt;br /&gt;
|v7.8.4-rev22&lt;br /&gt;
|v6.22.13-rev5&lt;br /&gt;
|-&lt;br /&gt;
|v7.8.3 / v6.22.13&lt;br /&gt;
|v7.8.3-rev44&lt;br /&gt;
|v6.22.13-rev5&lt;br /&gt;
|-&lt;br /&gt;
|v7.8.2 / v6.22.12&lt;br /&gt;
|v7.8.2-rev39&lt;br /&gt;
|v6.22.12-rev4&lt;br /&gt;
|-&lt;br /&gt;
|v7.6.3&lt;br /&gt;
|v7.6.3-rev36&lt;br /&gt;
|v6.22.9-rev16&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Please Note - Additional Information ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Product-, Release- and Component Name&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Additional Information&lt;br /&gt;
|-&lt;br /&gt;
|File Storage Integrations&lt;br /&gt;
|OX App Suite has the possibility to let users integrate their cloud storage accounts of 3rd party services with the OX Drive module of the web UI: [[AppSuite:Filestorages|File Storages]]. Access to these services is intentionally limited to web UI and will not be part of the OX Drive apps or the existing WebDAV interface.&lt;br /&gt;
|-&lt;br /&gt;
|LinkedIn Integration&lt;br /&gt;
|Regarding the integration between OX App Suite and LinkedIn, we would like to notify you about an upcoming LinkedIn API change, which is used by the App Suite app server. &lt;br /&gt;
&lt;br /&gt;
We were informed by LinkedIn this week that LinkedIn will restrict access to parts of their currently available API for all existing users and partners by May 15th. LinkedIn will only allow access to the full API, if you sign up for the LinkedIn partner program. Read More: [https://forum.open-xchange.com/showthread.php?9261 Open-Xchange Forum]&lt;br /&gt;
&lt;br /&gt;
The LinkedIn integration was removed since 7.10.0&lt;br /&gt;
|-&lt;br /&gt;
|Facebook Integration&lt;br /&gt;
|Facebook has introduced a new API Permission called “read_stream”, which allows clients of their API to retrieve the Facebook stream of a user. This data was used in the OX App Suite Portal widget to give users instant access to their Facebook data without leaving App Suite. The issue with this new API permission is that Facebook only grants it to 3rd party applications which do not run on the following platforms (All platforms where Facebook already is present): Web, TV, iOS, Android, In-Car. Read More: [https://forum.open-xchange.com/showthread.php?9403 Open-Xchange Forum]&lt;br /&gt;
|-&lt;br /&gt;
|T-Online Integration&lt;br /&gt;
|Regarding the integration between App Suite and the social network T-Online, we would like to notify you about an upcoming T-Online change, which is used by the App Suite app server. As a result of the change from a clickable HTML page to a single-page-javascript application, the Open-Xchange App Suite Integration for T-Online will stop working and removed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Maintenance expires==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Product-, Release- and Component Name&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Maintance expires&lt;br /&gt;
|-&lt;br /&gt;
|In accordance with the supported platform policy, Open-Xchange will discontinue maintenance and support for Connector for Microsoft Outlook, Open-Xchange Updater (with all components inside) with the next major release (planned beginning of 2018). Existing customers with Connector for Microsoft Outlook in their portfolio, will receive full maintenance and support until beginning 2018. To support the discontinuation, we are happy to announce that Open-Xchange will provide releases of all native apps including OX Mail App, OX Drive App, eM client for OX App Suite and OX Sync App over the coming months. This has the advantage of providing a similar user experience on all devices, to all clients, and allows us to take a holistic approach to the development of our product portfolio.&lt;br /&gt;
|Beginning 2018&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange will discontinue support for Apple iOS 9 with the next major release (planned beginning of 2018). Open-Xchange supports Apple iOS 11 now.&lt;br /&gt;
|Beginning 2018&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Maintenance expired (Archive)==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Product-, Release- and Component Name&lt;br /&gt;
!align=&amp;quot;left&amp;quot; |Maintance expired&lt;br /&gt;
|-&lt;br /&gt;
|In accordance with the supported platform policy, Open-Xchange announces the discontinuation of support for Suse Linux Enterprise Server 11 (SLES 11) and Debian Wheezy with an upcoming release of OX App Suite, planned for Q4 2016. We encourage administrators to update to the latest operating system version, Suse Linux Enterprise Server 12 (SLES 12) and Debian Jessie. For details of all supported platforms and databases please refer to the requirements page at: http://oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements#Server_Platforms &lt;br /&gt;
|Since OX App Suite v7.8.3: 2016-11-30&lt;br /&gt;
|-&lt;br /&gt;
|In accordance with the supported platform policy, Open-Xchange discontinues support for the following platform operating systems: Apple iOS 8, Apple Mac OS X 10.10 (Yosemite), Windows 7 and Windows Phone 7. &lt;br /&gt;
|Since OX App Suite v7.8.3: 2016-11-30&lt;br /&gt;
|-&lt;br /&gt;
|In accordance with the supported platform policy, Open-Xchange announces the discontinuation of Internet Explorer 10 support for OX App Suite web frontend. This comes in with the release of OX App Suite v7.8.1. For details of all supported browsers please refer to the requirements page at:&lt;br /&gt;
http://oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements#Desktop_Browser_.28Minimum_display_resolution:_1024_x_768.29&lt;br /&gt;
|Since OX App Suite v7.8.1: 2016-03-31&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange will discontinue support for Apple iOS 7 with the next major release of OX App Suite v7.8.0&lt;br /&gt;
|Since OX App Suite v7.8.0: 2015-10-07&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange will discontinue support for Debian Squeeze (Debian 6) with the next major release of OX App Suite v7.8.0. We encourage administrators to update to the latest operating system version of Debian.&lt;br /&gt;
|Since OX App Suite v7.8.0: 2015-10-07&lt;br /&gt;
|-&lt;br /&gt;
|With the v7.8.0 release, Open-Xchange will discontinue support for the Random Token login method (sometimes also called Easy Login). Specifically, this means that the &amp;quot;login?action=redirect&amp;quot; call (see http://oxpedia.org/wiki/index.php?title=HTTP_API#Redirect) will be removed. Furthermore, the &amp;quot;com.openexchange.ajax.login.randomToken&amp;quot; setting will be removed from the &amp;quot;login.properties&amp;quot; file, and the &amp;quot;login?action=login&amp;quot; call will never contain the &amp;quot;random&amp;quot; token. We strongly encourage users of the Random Token login method to change their custom login implementations and use one of the supported methods.&lt;br /&gt;
|Since OX App Suite v7.8.0: 2015-10-07&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange discontinues support for Apple Mac OS X 10.8 Mountain Lion with the minor release of OX App Suite, v7.6.2: 2015-03-11&lt;br /&gt;
|Since OX App Suite v7.6.2: 2015-03-16&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange discontinues support for Apple iOS 6 with the minor release of OX App Suite, v7.6.2&lt;br /&gt;
|Since OX App Suite v7.6.2: 2015-03-16&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange discontinued support of all old Android stock browsers on mobile and tablet devices with the release of OX App Suite v7.6.1. OX App Suite is only supported on the new official stock browser, Chrome on Android.&lt;br /&gt;
|Since OX App Suite v7.6.1: 2014-10-15&lt;br /&gt;
|-&lt;br /&gt;
|Support for AJP based communication between the HTTP server and the OX backend server. Open-Xchange already provides a new HTTP connector which is based on the Grizzly project. Download and configuration instructions are available at http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly&lt;br /&gt;
|Since OX App Suite v7.6.0: 2014-06-25&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange discontinued OX App Suite web frontend support for Internet Explorer 9 with the major release of OX App Suite v7.6.0.&lt;br /&gt;
|Since OX App Suite v7.6.0: 2014-06-25&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange discontinued Open-Xchange Server 6 and OX App Suite calendar and contact synchronization (CalDAV/CardDAV) support for Mac OS X 10.6 (Snow Leopard) and Mac OS X 10.7 (Lion) with the major release of OX App Suite v7.6.0.&lt;br /&gt;
|Since OX App Suite v7.6.0: 2014-06-25&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange discontinued Connector for Business Mobility support for Windows Mobile 6, 6.5, Symbian (Mail for Exchange 3.x), Apple iPhone iOS 5 and Blackberry with the major release of OX App Suite v7.6.0.&lt;br /&gt;
|Since OX App Suite v7.6.0: 2014-06-25&lt;br /&gt;
|-&lt;br /&gt;
|With OX App Suite v7.4.2, the name of the “Files” app was changed to “Drive”. As part of our product strategy we developed clients for different desktop and mobile devices to provide improved file handling and synchronization.&lt;br /&gt;
|Since OX App Suite v7.4.2: 2014-02-11&lt;br /&gt;
|-&lt;br /&gt;
|Debian 7 (Wheezy) was released by the Debian project on May 4th 2013. Both OX App Suite and Open-Xchange Server 6 support Debian 7 with OpenJDK 7 and MySQL 5.5 with this release of OX App Suite. Please note that the combination Debian 7 / OpenJDK 6 or Sun Java 6 will not be supported as a platform by Open-Xchange.&lt;br /&gt;
|Since OX App Suite v7.4.0: 2013-09-26&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange discontinued support for the currently available &amp;quot;showruntimestats&amp;quot; monitoring function (which fetches runtime information from the Java virtual machine and about the Open-Xchange Groupware backend). With OX App Suite v7.4.0, there is a new monitoring function using Jolokia for Open-Xchange. From v7.4.0 onwards, this is located inside the Open-Xchange Bundle and configured by jolokia.properties. Further information can be found at http://oxpedia.org/wiki/index.php?title=Jolokia&lt;br /&gt;
|Since OX App Suite v7.4.0: 2013-09-26&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange provided a new LDAP Contact Storage Integration Bundle. Open-Xchange discontinued support for the old bundle with OX App Suite v7.2.1. Further configuration information is available at the Open-Xchange Knowledgebase under: http://oxpedia.org/wiki/index.php?title=ContactStorageLDAP&lt;br /&gt;
|Since OX App Suite v7.2.1: 2013-05-27&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What version do I have installed ==&lt;br /&gt;
&lt;br /&gt;
Check [[UpdatingOXPackages#What_Service_Pack_do_I_have_installed.3F|this article]] to find out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: OX7]]&lt;br /&gt;
[[Category: AppSuite]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=OX_Permission_Level&amp;diff=23816</id>
		<title>OX Permission Level</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=OX_Permission_Level&amp;diff=23816"/>
		<updated>2018-02-08T08:19:46Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Additional Flexible Functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VersionTo|7.4.1}}&lt;br /&gt;
''Note: This represents the state of OX6 and AppSuite until v7.4.1. For the newer implementation, see [[AppSuite: Permission Level]].''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OX Permission Level Matrix=&lt;br /&gt;
&lt;br /&gt;
OX HE/SE/App Suite allows to provide different permission levels to the users. &lt;br /&gt;
&lt;br /&gt;
The levels start with pure webmail-only functionality and end with the full featured groupware product including all connectors and are described in the first table.&lt;br /&gt;
&lt;br /&gt;
* '''Webmail''' contains pure webmail functionality including a private addressbook&lt;br /&gt;
* '''PIM''' (Private Information Management) adds private calendar and private tasks, no group or sharing permissions are available&lt;br /&gt;
* '''PIM + Mobility''' adds mobile synchronisation to the PIM level&lt;br /&gt;
* '''PIM + InfoStore''' adds private InfoStore functionality to the PIM level&lt;br /&gt;
* '''Groupware Standard''' includes all group and sharing permissions as well as the InfoStore&lt;br /&gt;
* '''Groupware Premium''' adds all external connectors and mobile synchronisation to Groupware Standard&lt;br /&gt;
&lt;br /&gt;
In addition to this levels, OX HE/SE/App Suite contains several functions, which can flexible be used with every level. This functions are described in the second table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to read the Matrix ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
!  !!  Definition&lt;br /&gt;
|-&lt;br /&gt;
| '''Mandatory''' ||  This column defines the options, which must not be changed for this level. '''This is a technical requirement and necessary for the correct functioning of OX HE/SE/App Suite'''&lt;br /&gt;
|-&lt;br /&gt;
| '''Default''' ||  This column lists the options, which are activated per default for this level&lt;br /&gt;
|-&lt;br /&gt;
| '''API Parameter''' || Related parameter in the RMI, SOAP and CLT API - described in the [http://software.open-xchange.com/OX6/doc/OX6-Provisioning.pdf Provisioning Documentation]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''and/or''' || Minimum one of this options need to be activated in this level&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | &amp;amp;nbsp;|| Fields in this color define the most important differentiator to the next lower level&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix - Permission Levels ==&lt;br /&gt;
&lt;br /&gt;
This table describes the mandatory parameters for the different permission levels.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! OX Base Levels  !!  Functionality !! Mandatory (technical requirement) !! Default !! Requirements / Description !! &amp;amp;nbsp; !! API Parameter&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Webmail'''&lt;br /&gt;
Webmail only &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp;|| webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | '''PIM'''&amp;lt;br&amp;gt;Private use only&amp;lt;br&amp;gt;No sharing, no group functions. &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || rowspan=&amp;quot;3&amp;quot; | The absence of other features defines this level || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|Global Addressbook  || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|Tasks  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; | '''PIM + Mobility'''&amp;lt;br&amp;gt;Private use only&amp;lt;br&amp;gt;No sharing, no group functions&amp;lt;br&amp;gt;Enabled for mobile synchronization &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp; || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | USM ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || usm&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Active Sync ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || rowspan=&amp;quot;2&amp;quot; | This defines the level&amp;lt;br&amp;gt;At least one of these needs to be set&amp;lt;br&amp;gt;Typically &amp;quot;Active Sync&amp;quot;|| &amp;amp;nbsp; || activesync&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | SyncML ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || syncml (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|Global Addressbook  || &amp;amp;nbsp;|| [[File:Cross_gray.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|Tasks  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | '''PIM + InfoStore''' &amp;lt;br&amp;gt;Private use only&amp;lt;br&amp;gt;No sharing, no group functions&amp;lt;br&amp;gt;Enabled for document storage. &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | InfoStore ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] || This combined with the absence of other switches defines the level &amp;lt;br&amp;gt; || &amp;amp;nbsp; || infostore&lt;br /&gt;
|-&lt;br /&gt;
|Global Addressbook  || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|Tasks  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; | '''Groupware Standard'''&amp;lt;br&amp;gt;Full Groupware functionality&amp;lt;br&amp;gt;Access restricted to Web GUI &lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp; || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Tasks ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Shared Folders ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || rowspan=&amp;quot;3&amp;quot; | This defines the level&amp;lt;br&amp;gt;All need to be set together || &amp;amp;nbsp; || readcreatesharedfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Public Folders ||style=&amp;quot;background-color:#C0C0C0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || editpublicfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Task Delegation ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]] ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || delegatetask&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Global Addressbook ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|InfoStore  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || infostore&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | '''Groupware Premium'''&amp;lt;br&amp;gt;Full Groupware functionality&amp;lt;br&amp;gt;All external clients enabled (Mobility, Outlook, Mac)&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Email ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] || &amp;amp;nbsp; || &amp;amp;nbsp; || webmail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Contacts  ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || contacts&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Calendar ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || calendar&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Tasks ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]]  || &amp;amp;nbsp;|| &amp;amp;nbsp; || tasks&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Shared Folders ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || readcreatesharedfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Public Folders ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || editpublicfolders&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Task Delegation ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || delegatetask&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | Global Addressbook ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || globaladdressbookdisabled&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#F0F0F0&amp;quot; | USM ||style=&amp;quot;background-color:#F0F0F0&amp;quot; | [[File:check.gif]] ||style=&amp;quot;background-color:#F0F0F0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || &amp;amp;nbsp; || usm&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | OLOX2 ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || rowspan=&amp;quot;4&amp;quot; | This defines the level&amp;lt;br&amp;gt;At least one of these needs to be set.&amp;lt;br&amp;gt;Typically OLOX2 and Active Sync || &amp;amp;nbsp; || olox20&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | OLOX (Legacy) ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || webdavxml (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | Active Sync ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || activesync&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#C0C0C0&amp;quot; | SyncML ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  and/or ||style=&amp;quot;background-color:#C0C0C0&amp;quot; |  [[File:check.gif]]  || &amp;amp;nbsp; || syncml (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|InfoStore  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || infostore&lt;br /&gt;
|-&lt;br /&gt;
|iCal Access  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || ical (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|vCard Access  || &amp;amp;nbsp; || [[File:check.gif]] || &amp;amp;nbsp;|| &amp;amp;nbsp; || vcard (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Flexible Functions ==&lt;br /&gt;
&lt;br /&gt;
The following functions can be added flexible to each permission level.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Additional Functions  !!  Default !! Requirements / Description !! &amp;amp;nbsp; !! API Parameter&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Minimum Webmail'''&lt;br /&gt;
|Collect Emailaddresses || Email addresses typed into sent/reveived emails can be saved automatically in a dedicated folder || &amp;amp;nbsp; || collectemailaddresses&lt;br /&gt;
|-&lt;br /&gt;
|Edit Password  || If a plugin to change the own password is installed on the system, it will be displayed in the settings area || &amp;amp;nbsp; || editpassword&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | '''Minimum PIM'''&lt;br /&gt;
|Multiple Mailaccounts || The user can use  external IMAP/POP3 Mailaccounts within the OX WebGUI. Starting with 6.20 this can be configured per email service || &amp;amp;nbsp; || multiplemailaccounts&lt;br /&gt;
|-&lt;br /&gt;
|Subscriptions || The user can subscribe to external/social datasources, like LinkedIN (removed since 7.10.0), XING, Facebook, Gmail, .... Starting with 6.20 this can be configured per subscription service || &amp;amp;nbsp; || subscriptions&lt;br /&gt;
|-&lt;br /&gt;
|Publications || The user can publish his own data (contacts/documents) for other users in the internet || &amp;amp;nbsp; || publication&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''Minimum PIM + InfoStore'''&lt;br /&gt;
|WebDAV || Allows WebDAV access to InfoStore documents; Requires InfoStore || &amp;amp;nbsp; || webdav&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Minimum GW Standard'''&lt;br /&gt;
|Manage Resources || The user is allowed to create and manage resources for the whole company || &amp;amp;nbsp; || editresource&lt;br /&gt;
|-&lt;br /&gt;
|Manage Groups  || The user is allowed to create and manage groups for the whole company || &amp;amp;nbsp; || editgroup&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;  || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''Minimum GW Premium'''&lt;br /&gt;
|vCard || The user  can download all his contacts via the vCard interface || &amp;amp;nbsp; || vcard (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|iCal  || The user can download all his contacts via the iCal interface || &amp;amp;nbsp; || ical (deprecated)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=OX_HE_Tutorial_10K&amp;diff=23815</id>
		<title>OX HE Tutorial 10K</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=OX_HE_Tutorial_10K&amp;diff=23815"/>
		<updated>2018-02-08T08:17:49Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Install and configure OX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tutorial: OX HE Setup for up to 10.000 users =&lt;br /&gt;
&lt;br /&gt;
'''This article describes what you need for a typical OX HE Setup for up to 10.000 Users with minimal efforts.'''&lt;br /&gt;
&lt;br /&gt;
It contains everything you need to:&lt;br /&gt;
* Understand the design of the OX HE setup including additional services&lt;br /&gt;
* Install the whole system based on the relevant articles&lt;br /&gt;
* Find pointers to the next steps of integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
[[Image:SaaS-10k.jpg]]&lt;br /&gt;
&lt;br /&gt;
The system is designed to provide maximum functionality with a minimum of necessary hardware. All OX services are running on one single machine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core Components for OX HE ==&lt;br /&gt;
&lt;br /&gt;
* One OX HE server (HW recommendation: 16GB RAM / 4 cores)&lt;br /&gt;
* MySQL installed directly on this server &lt;br /&gt;
* Optional: NFS Server to store documents and files&lt;br /&gt;
&lt;br /&gt;
== Infrastructure Components not delivered by OX ==&lt;br /&gt;
&lt;br /&gt;
* An email system providing IMAP and SMTP&lt;br /&gt;
* A control panel for creation and administration of users&lt;br /&gt;
&lt;br /&gt;
= Overview Installation Steps =&lt;br /&gt;
&lt;br /&gt;
'''To deploy the described OX setup, the following steps need to be done. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mandatory Steps ==&lt;br /&gt;
# Initialize and configure MySQL database&lt;br /&gt;
# Install and configure OX service&lt;br /&gt;
&lt;br /&gt;
== Steps depending on your environment ==&lt;br /&gt;
# Connect Control Panel&lt;br /&gt;
# Connect Email System&lt;br /&gt;
&lt;br /&gt;
== Recommended Optional Next Steps ==&lt;br /&gt;
# Automated Frontend Tests&lt;br /&gt;
# Upsell Plugin&lt;br /&gt;
# Mobile Autoconfiguration&lt;br /&gt;
# Branding&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Mandatory Installation Steps - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The following steps need to be done in every case to get OX up and running:'''&lt;br /&gt;
&lt;br /&gt;
== Install and configure OX ==&lt;br /&gt;
&lt;br /&gt;
OX will be installed on the server.&lt;br /&gt;
&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_Debian_6.0|Download and Installation Guide for Debian GNU/Linux 6.0 (Squeeze)]]&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_Debian_7.0|Download and Installation Guide for Debian GNU/Linux 7.0 (Wheezy)]]&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_SLES11|Download and Installation Guide for SUSE Linux Enterprise Server 11]]&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_RHEL6|Download and Installation Guide for RedHat Enterprise Linux 6]]&lt;br /&gt;
* [[AppSuite:Open-Xchange_Installation_Guide_for_CentOS_6|Download and Installation Guide for CentOS 6]]&lt;br /&gt;
&lt;br /&gt;
You also should install and configure the OXtender for Business Mobility&lt;br /&gt;
&lt;br /&gt;
[[OXtender_for_Business_Mobility_Installation_Guide|Installation of the OXtender for Business Mobility]]&lt;br /&gt;
&lt;br /&gt;
Let your users connect to their data from other services like Twitter or LinkedIn (removed since 7.10.0) by configuring the &amp;quot;SocialOX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[SocialOX|SocialOX-Configuration]]&lt;br /&gt;
&lt;br /&gt;
= Installation Steps depending on your environment - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
'''The following components need to be implemented in your environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_CP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_HGP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Plesk}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Auth}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connect Email System ==&lt;br /&gt;
&lt;br /&gt;
Every email system providing IMAP and SMTP can be used as backend to OX. Best experiences are made with the widespread Linux based IMAP servers [http://dovecot.org/ Dovecot],  [http://www.cyrusimap.org/ Cyrus] or [http://www.courier-mta.org/imap/ Courier]. &lt;br /&gt;
&lt;br /&gt;
Other IMAP servers need to be tested thoroughly before going into production.&lt;br /&gt;
&lt;br /&gt;
There are several possibilities to implement the Email system:&lt;br /&gt;
&lt;br /&gt;
# You already have an email system available: Nothing needs to be done, it just needs to be configured&lt;br /&gt;
# You use Plesk Panel: Nothing special needs to be done, everything you need is contained in the OXtender for Plesk&lt;br /&gt;
# You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Dovecot}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Next}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=OX_HE_Tutorial_1M&amp;diff=23814</id>
		<title>OX HE Tutorial 1M</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=OX_HE_Tutorial_1M&amp;diff=23814"/>
		<updated>2018-02-08T08:17:14Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Install and configure OX on both servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tutorial: High Available OX HE Setup for up to 1 Milion users =&lt;br /&gt;
&lt;br /&gt;
'''This article describes what you need for a typical OX HE Setup for up to 1.000.000 Users, which is fully clustered, high available and scaling very flexible.'''&lt;br /&gt;
&lt;br /&gt;
It contains everything you need to:&lt;br /&gt;
* Understand the design of the OX HE setup including additional services&lt;br /&gt;
* Install the whole system based on the relevant articles&lt;br /&gt;
* Find pointers to the next steps of integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
[[Image:SaaS-1M.jpg]]&lt;br /&gt;
&lt;br /&gt;
The system is designed to provide maximum functionality and availability with a minimum of necessary hardware. If the services on one OX server fail, this is transparently handled by the load balancer. If one MySQL server fails, it is sufficient to take over the IP address on the other MySQL server in the cluster to stay fully in operation.&lt;br /&gt;
&lt;br /&gt;
== Core Components for OX HE ==&lt;br /&gt;
&lt;br /&gt;
* Minimum two (recommended three) OX HE servers (HW recommendation: 32GB RAM / 8 cores each)&lt;br /&gt;
* Minimum one MySQL cluster with two servers in Master-Master configuration (HW recommendation: 32GB RAM / 8 cores each)&lt;br /&gt;
* NFS Server to store documents and files&lt;br /&gt;
* Recommended for more than 500.000 mailboxes: one OX HE server dedicated for user provisioning (HW recommendation: 16GB RAM / 4 cores each)&lt;br /&gt;
&lt;br /&gt;
== Infrastructure Components not delivered by OX ==&lt;br /&gt;
&lt;br /&gt;
* An email system providing IMAP and SMTP&lt;br /&gt;
* A control panel for creation and administration of users&lt;br /&gt;
* A Load Balancer in front of the OX servers (optional, recommended)&lt;br /&gt;
&lt;br /&gt;
= Overview Installation Steps =&lt;br /&gt;
&lt;br /&gt;
'''To deploy the described OX setup, the following steps need to be done. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mandatory Steps ==&lt;br /&gt;
# Initialize and configure MySQL database servers&lt;br /&gt;
# Install and configure OX on all servers&lt;br /&gt;
&lt;br /&gt;
== Steps depending on your environment ==&lt;br /&gt;
# Implement Load Balancer&lt;br /&gt;
# Connect Control Panel&lt;br /&gt;
# Connect Email System&lt;br /&gt;
&lt;br /&gt;
== Recommended Optional Next Steps ==&lt;br /&gt;
# Automated Frontend Tests&lt;br /&gt;
# Upsell Plugin&lt;br /&gt;
# Mobile Autoconfiguration&lt;br /&gt;
# Automatic FailOver&lt;br /&gt;
# Branding&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Mandatory Installation Steps - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The following steps need to be done in every case to get OX up and running:'''&lt;br /&gt;
&lt;br /&gt;
== Initialize and configure MySQL database ==&lt;br /&gt;
&lt;br /&gt;
MySQL will be configured as redundant, highly-availabe MySQL instance to ensure data consistency on all servers. This can be implemented for example using Galera or a Master-Master replication configuration. If one machine fails, the other machine(s) will take over all functionality.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Database|Database setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
== Install and configure OX on both servers ==&lt;br /&gt;
&lt;br /&gt;
OX will be installed on minimum two servers. It will be configured to '''write''' to the '''first''' MySQL database and to '''read''' from the '''second''' MySQL database in one cluster. This will distribute the load during normal operation as smooth as possible. During FailOver the IP address of the failed MySQL server will be taken over to the working server, the system stays operable.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_OXConfiguration|Open-Xchange setup and configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
The NFS server will be mounted on all machines and registered as filestore.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Filestore|Filestore setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
When multiple Open-Xchange Servers are configured within a cluster Session and Loadbalancing needs to be set up.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_SessionLoadbalancing|Session and Loadbalancing for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_NetworkConfiguration|Network configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
You also should install and configure the OXtender for Business Mobility:&lt;br /&gt;
&lt;br /&gt;
[[OXtender_for_Business_Mobility| exchange active sync configuration for Open-Xchange]]&lt;br /&gt;
&lt;br /&gt;
Let your users connect to their data from other services like Twitter or LinkedIn (removed since 7.10.0) by configuring the &amp;quot;SocialOX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[SocialOX|SocialOX-Configuration]]&lt;br /&gt;
&lt;br /&gt;
= Installation Steps depending on your environment - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
'''The following components need to be implemented in your environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implement Load Balancer ==&lt;br /&gt;
&lt;br /&gt;
A load balancer in front of the OX servers is necessary for this deployment size. It needs to handle the requests if one OX server fails.&lt;br /&gt;
&lt;br /&gt;
If you already have a hardware load balancing solution in place, this can be used. OX is known to work with the standard load balancing solutions from BigIP, Barracuda, Foundry, ...&lt;br /&gt;
&lt;br /&gt;
If you do not have a load balancing solution already in place, we recommend to use [http://www.keepalived.org/ Keepalived] as reliable and cost effective solution.&lt;br /&gt;
&lt;br /&gt;
Read more about configuring [[Keepalived | Keepalived for Open-Xchange]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_CP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_HGP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_POA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Auth}}&lt;br /&gt;
&lt;br /&gt;
== Connect Email System ==&lt;br /&gt;
&lt;br /&gt;
Every email system providing IMAP and SMTP can be used as backend to OX. Best experiences are made with the widespread Linux based IMAP servers [http://dovecot.org/ Dovecot],  [http://www.cyrusimap.org/ Cyrus] or [http://www.courier-mta.org/imap/ Courier]. &lt;br /&gt;
&lt;br /&gt;
Other IMAP servers need to be tested thoroughly before going into production.&lt;br /&gt;
&lt;br /&gt;
There are several possibilities to implement the Email system:&lt;br /&gt;
&lt;br /&gt;
# You already have an email system available: Nothing needs to be done, it just needs to be configured&lt;br /&gt;
# You use Parallels Automation (POA): Nothing special needs to be done, everything you need is contained in the APS package&lt;br /&gt;
# You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Dovecot}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Next}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=OX_HE_Tutorial_100K&amp;diff=23813</id>
		<title>OX HE Tutorial 100K</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=OX_HE_Tutorial_100K&amp;diff=23813"/>
		<updated>2018-02-08T08:16:40Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Install and configure OX on both servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tutorial: High Available OX HE Setup for up to 100.000 users =&lt;br /&gt;
&lt;br /&gt;
'''This article describes what you need for a typical OX HE Setup for up to 100.000 Users, which is fully clustered and high available.'''&lt;br /&gt;
&lt;br /&gt;
It contains everything you need to:&lt;br /&gt;
* Understand the design of the OX HE setup including additional services&lt;br /&gt;
* Install the whole system based on the relevant articles&lt;br /&gt;
* Find pointers to the next steps of integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System Design =&lt;br /&gt;
&lt;br /&gt;
[[Image:SaaS-100k-1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The system is designed to provide maximum functionality and availability with a minimum of necessary hardware. If the services on one server fail, it is enough to take over the IP address to the other machine and service will stay up and running.&lt;br /&gt;
&lt;br /&gt;
== Core Components for OX HE ==&lt;br /&gt;
&lt;br /&gt;
* Two OX HE servers (HW recommendation: 16GB RAM / 4 cores each)&lt;br /&gt;
* MySQL installed directly on these server &lt;br /&gt;
* NFS Server to store documents and files&lt;br /&gt;
&lt;br /&gt;
== Infrastructure Components not delivered by OX ==&lt;br /&gt;
&lt;br /&gt;
* An email system providing IMAP and SMTP&lt;br /&gt;
* A control panel for creation and administration of users&lt;br /&gt;
* A Load Balancer in front of the OX servers (optional, recommended)&lt;br /&gt;
&lt;br /&gt;
= Overview Installation Steps =&lt;br /&gt;
&lt;br /&gt;
'''To deploy the described OX setup, the following steps need to be done. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mandatory Steps ==&lt;br /&gt;
# Initialize and configure MySQL database on both servers&lt;br /&gt;
# Install and configure OX on both servers&lt;br /&gt;
&lt;br /&gt;
== Steps depending on your environment ==&lt;br /&gt;
# Implement Load Balancer&lt;br /&gt;
# Connect Control Panel&lt;br /&gt;
# Connect Email System&lt;br /&gt;
&lt;br /&gt;
== Recommended Optional Next Steps ==&lt;br /&gt;
# Automated Frontend Tests&lt;br /&gt;
# Upsell Plugin&lt;br /&gt;
# Mobile Autoconfiguration&lt;br /&gt;
# Automatic FailOver&lt;br /&gt;
# Branding&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Mandatory Installation Steps - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The following steps need to be done in every case to get OX up and running:'''&lt;br /&gt;
&lt;br /&gt;
== Initialize and configure MySQL database on both servers ==&lt;br /&gt;
&lt;br /&gt;
MySQL will run on both servers. MySQL will be configured as Master-Master configuration to ensure data consistency on both servers.&lt;br /&gt;
If one machine fails, the other machine will take over all functionality.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Database|Database setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
== Install and configure OX on both servers ==&lt;br /&gt;
&lt;br /&gt;
OX will be installed on both servers. It will be configured to '''write''' to the '''first''' MySQL database and to '''read''' from the '''second''' MySQL database. This will distribute the load during normal operation as smooth as possible. During FailOver the IP address of the failed server will be taken over to the working server, the system stays operable.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_OXConfiguration|Open-Xchange setup and configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
The NFS server will be mounted on both machines and registered as filestore.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_Filestore|Filestore setup for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
When multiple Open-Xchange Servers are configured within a cluster Session and Loadbalancing needs to be set up.&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_SessionLoadbalancing|Session and Loadbalancing for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
[[OXLoadBalancingClustering_NetworkConfiguration|Network configuration for clustered environments]]&lt;br /&gt;
&lt;br /&gt;
You also should install and configure the OXtender for Business Mobility&lt;br /&gt;
&lt;br /&gt;
[[OXtender_for_Business_Mobility_Installation_Guide|Installation of the OXtender for Business Mobility]]&lt;br /&gt;
&lt;br /&gt;
Let your users connect to their data from other services like Twitter or LinkedIn (removed since 7.10.0) by configuring the &amp;quot;SocialOX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[SocialOX|SocialOX-Configuration]]&lt;br /&gt;
&lt;br /&gt;
= Installation Steps depending on your environment - Instructions &amp;amp; Recommendations =&lt;br /&gt;
&lt;br /&gt;
'''The following components need to be implemented in your environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implement Load Balancer ==&lt;br /&gt;
&lt;br /&gt;
A load balancer in front of the OX servers is recommended, but optional in this deployment size. (In small environments, DNS Round Robin may be sufficient).&lt;br /&gt;
&lt;br /&gt;
If you already have a hardware load balancing solution in place, this can be used. OX is known to work with the standard load balancing solutions from BigIP, Barracuda, Foundry, ...&lt;br /&gt;
&lt;br /&gt;
If you do not have a load balancing solution already in place, we recommend to use [http://www.keepalived.org/ Keepalived] as reliable and cost effective solution.&lt;br /&gt;
&lt;br /&gt;
Read more about configuring [[Keepalived | Keepalived for Open-Xchange]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_CP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_HGP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_POA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Auth}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connect Email System ==&lt;br /&gt;
&lt;br /&gt;
Every email system providing IMAP and SMTP can be used as backend to OX. Best experiences are made with the widespread Linux based IMAP servers [http://dovecot.org/ Dovecot],  [http://www.cyrusimap.org/ Cyrus] or [http://www.courier-mta.org/imap/ Courier]. &lt;br /&gt;
&lt;br /&gt;
Other IMAP servers need to be tested thoroughly before going into production.&lt;br /&gt;
&lt;br /&gt;
There are several possibilities to implement the Email system:&lt;br /&gt;
&lt;br /&gt;
# You already have an email system available: Nothing needs to be done, it just needs to be configured&lt;br /&gt;
# You use Parallels Automation (POA): Nothing special needs to be done, everything you need is contained in the APS package&lt;br /&gt;
# You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Dovecot}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_Next}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{OX_HE_Tutorial_FailOver}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=SupportedCrawler&amp;diff=23812</id>
		<title>SupportedCrawler</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=SupportedCrawler&amp;diff=23812"/>
		<updated>2018-02-08T08:16:03Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Social OX PlugIn Matrix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Open-Xchange Supported Social OX PlugIn Matrix =&lt;br /&gt;
Open-Xchange introduces a new groupware concept called “Social OX,” which aggregates e-mail and contact information in one place -- whether personal or business -- avoiding time-consuming searching and giving users access to information anywhere, anytime and with any device. The new concept provides &lt;br /&gt;
* The integration of any kind of existing webmail accounts (from Google, Yahoo, etc.) into a folder in Open-Xchange, including merging of data&lt;br /&gt;
* Contact details from social networks such as LinkedIn or Xing will be added automatically to the Open-Xchange address book – giving users easy access to the latest contact information within their personal network.&lt;br /&gt;
* In addition, Open-Xchange users can share their data with other users in a controlled way -- without sending the information via e-mail. For example, with Social OX published data can be shared so there is no need to send large documents as an attachment via e-mail.&lt;br /&gt;
&lt;br /&gt;
The following Matrix will show the official supported Social OX PlugIn to subscribe social networks.&lt;br /&gt;
&lt;br /&gt;
= Supported Social OX PlugIn Matrix (Status OX6 v.6.18.2)=&lt;br /&gt;
&lt;br /&gt;
==Caption of the Matrix==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Icon  !!  Definition&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Cross_gray.gif]]  || Not provided by the external service&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cross.gif]] || Not provided&lt;br /&gt;
|-&lt;br /&gt;
| [[File:check.gif]] || Available&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Social OX PlugIn Matrix==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Social Service  !!  Type !!  Subscribed fields !! .de !! .com !! .uk !! .fr !! .es !! .nl&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Google&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]] &lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]] &lt;br /&gt;
|-&lt;br /&gt;
| Contacts || display_name, first_name, middle_name, last_name, suffix, company, email1, email2, email3, telephone_business1, telephone_home1, telephone_other1, work_fax, home_fax, cellular_telephone1, birthday, street_home, postal_code_home, city_home, country_home, street_business, postal_code_business, city_business, country_business, street_other, postal_code_other, city_other, country_other, instant_messenger1, image || [[File:check.gif]]   || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]] &lt;br /&gt;
|-&lt;br /&gt;
| Calendar || title, start_date, end_date, note, Serial information || [[File:check.gif]]   || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]] &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | LinkedIn&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || first-name, last-name, telephone_business1, telephone_private1, instant_messenger1, date-of-birth, main-address, picture, positions || [[File:check.gif]]   || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; | &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;LinkedIn was removed since 7.10.0&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Xing&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || first_name, last_name, display_name, email1, street_business, postal_code_business, city_business, state_business, country_business, telephone_business1, fax_work, company, title, image || [[File:check.gif]]   || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]  || [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Yahoo&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:check.gif]] (US Pro-Account only) || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:check.gif]] (US Pro-Account only) || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || display_name, email, telephone_home1, telephone_business1, cellular_telephone1, company, title, street_business, postal_code_business, city_business, instant_messenger1, street_home, postal_code_home, city_home, birthday || [[File:check.gif]]   || [[File:check.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | MSN&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:check.gif]] || [[File:check.gif]]|| [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:Cross_gray.gif]]  || [[File:Cross_gray.gif]]  || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] ||[[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || first_name, last_name, city_home, country_home, image || [[File:check.gif]]   || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | T-Online&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:Cross_gray.gif]]   || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]|| [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:Cross_gray.gif]]  || [[File:Cross_gray.gif]]  || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] ||[[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || birthday, email2, email1, cellular_telephone2, cellular_telephone1, telephone_home1, telephone_business1, street_home, postal_code_home,  city_home,  country_home, street_business, postal_code_business, city_business, country_business || [[File:check.gif]]   || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]] || [[File:cross.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [https://www.ox.io/de/quickstart Open-Xchange]&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]|| [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]|| [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || All available contact fields of Open-Xchange  || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | GMX&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:cross.gif]]  || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]|| [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:cross.gif]]  || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]|| [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || All available contact fields of Open-Xchange  || [[File:check.gif]] ||[[File:cross.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Web.de&lt;br /&gt;
| IMAP || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:cross.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]|| [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| POP  || &amp;amp;nbsp; || [[File:check.gif]]   || [[File:cross.gif]]  || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]|| [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Contacts || All available contact fields of Open-Xchange  || [[File:check.gif]] || [[File:cross.gif]]  || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]] || [[File:check.gif]]&lt;br /&gt;
|-&lt;br /&gt;
| Calendar || &amp;amp;nbsp; || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]] || [[File:Cross_gray.gif]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Custom Social OX PlugIn Request =&lt;br /&gt;
&lt;br /&gt;
== Custom Social OX PlugIn Development ==&lt;br /&gt;
To ensure that mission critical Social OX PlugIn for single customers can be implemented into Open-Xchange products even if they do not match the requirements to be prioritized within the standard process, there is the possibility to order custom Social OX PlugIn development.&lt;br /&gt;
&lt;br /&gt;
== Social OX as Plugin ==&lt;br /&gt;
Open-Xchange products have the ability to implement additional Social OX as plugins. These Social OX PlugIn are mainly available for the interfaces between Open-Xchange and the existing infrastructure: authentication, email access, SPAM filtering, and 3rd party applications. In most cases, these plugins are developed in close cooperation with the customer from the project team. &lt;br /&gt;
&lt;br /&gt;
== Offering ==&lt;br /&gt;
Offerings for the implementation of Social OX PlugIn requests, which can be technically implemented as a plugin can be obtained from the Open-Xchange project or sales teams.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Open-Xchange_Installation_Guide_for_Debian_8.0&amp;diff=23740</id>
		<title>AppSuite:Open-Xchange Installation Guide for Debian 8.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Open-Xchange_Installation_Guide_for_Debian_8.0&amp;diff=23740"/>
		<updated>2017-11-14T09:17:33Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: Fix for documentation bug 43225&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Version|7.8.0}}&lt;br /&gt;
&lt;br /&gt;
= OX App Suite on Debian GNU/Linux 8.0 =&lt;br /&gt;
&lt;br /&gt;
{{QuickInstIntro|release=appsuite}}&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
&lt;br /&gt;
* Plain installed Debian GNU/Linux 8.0, no graphical tools required&lt;br /&gt;
* A supported Java Virtual Machine ([http://oxpedia.org/wiki/index.php?title=AppSuite:OX_System_Requirements#Server_Platforms learn more])&lt;br /&gt;
* A working internet connection&lt;br /&gt;
* vim is not installed by default on Debian. If you want to copy &amp;amp; paste the commands from this article into a shell window, you need to &amp;lt;code&amp;gt;apt-get install vim&amp;lt;/code&amp;gt; first.&lt;br /&gt;
&lt;br /&gt;
{{AddReposDebian|debname=jessie|debnameox=DebianJessie|release=appsuite}}&lt;br /&gt;
&lt;br /&gt;
= Updating repositories and install packages =&lt;br /&gt;
&lt;br /&gt;
It is highly recommended to import the Open-Xchange build key to your package systems trusted keyring in order to make sure only Open-Xchange packages with valid signing are installed on the system. Otherwise you'll encounter warnings about untrusted package sources. To import the Open-Xchange buildkey, please refer to this quick guide: [[Importing_OX_Buildkey#Importing_key_into_apt_based_systems|Importing OX Buildkey]].&lt;br /&gt;
&lt;br /&gt;
Reload the package index. This will download the package descriptions available at the software repositories and will enable the Open-Xchange repository as a valid source for signed packages:&lt;br /&gt;
&lt;br /&gt;
 $ apt-get update&lt;br /&gt;
&lt;br /&gt;
The following command starts the download and installation process of all required package for Open-Xchange deployment:&lt;br /&gt;
&lt;br /&gt;
{{OXPackageInstallation|installer=apt-get|mysql=mysql-server|javavendor=sun|release=appsuite}}&lt;br /&gt;
&lt;br /&gt;
You will be asked multiple times to enter a MySQL password, please do '''not''' enter a password at this point. You should enter a strong MySQL admin password for the user &amp;quot;mysql&amp;quot; after the installation has been finished. See: [http://dev.mysql.com/doc/refman/5.0/en/passwords.html MySQL Reference Manual]&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Some of the scripts assume you have mysql root access from the command line, therefore the advice of &amp;quot;not&amp;quot; to enter a password. If you do, you may find problems following the instructions provided in this howto.&lt;br /&gt;
&lt;br /&gt;
{{OXConfiguration|mysqlstart=systemctl start mysql}}&lt;br /&gt;
&lt;br /&gt;
{{oxinstaller|connector=http}}&lt;br /&gt;
&lt;br /&gt;
After initializing the configuration, restart the Open-Xchange Administration service by executing:&lt;br /&gt;
&lt;br /&gt;
 $ systemctl restart open-xchange&lt;br /&gt;
&lt;br /&gt;
{{OXRegister|globaldb=true}}&lt;br /&gt;
&lt;br /&gt;
= Configure services =&lt;br /&gt;
&lt;br /&gt;
{{ApacheOXModsDebian|connector=http|extramods=lbmethod_byrequests}}&lt;br /&gt;
&lt;br /&gt;
{{Template:ApacheAppSuiteConf|connector=http|connectorConf=/etc/apache2/conf-available/proxy_http.conf|apacheconf=/etc/apache2/sites-enabled/000-default.conf|docroot=/var/www/html|loadmodule=|syncProxyName=eas_oxcluster}}&lt;br /&gt;
&lt;br /&gt;
Enable the proxy configuration&lt;br /&gt;
&lt;br /&gt;
 $ a2enconf proxy_http.conf&lt;br /&gt;
&lt;br /&gt;
After the configuration is done, restart the Apache webserver&lt;br /&gt;
&lt;br /&gt;
 $ systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Upgrade from Debian 7 ==&lt;br /&gt;
&lt;br /&gt;
If you updated from Debian 7 to Debian 8 the proxy_http.conf file is still located in the &amp;lt;tt&amp;gt;conf.d&amp;lt;/tt&amp;gt; directory which is not read in Debian 8. So you have to move the file to &amp;lt;tt&amp;gt;conf-available&amp;lt;/tt&amp;gt; and execute &amp;lt;tt&amp;gt;a2enconf proxy_http&amp;lt;/tt&amp;gt; afterwards.&lt;br /&gt;
&lt;br /&gt;
== Apache Setting for more concurrent Connections ==&lt;br /&gt;
&lt;br /&gt;
By default apache2 is configured to support 150 concurrent connections. This forces all parallel requests beyond that limit to wait. Especially if, for example, active sync clients maintain a permanent connection for push events to arrive. The following article explains how that can be done&lt;br /&gt;
&lt;br /&gt;
[[Tune_apache2_for_more_concurrent_connections|Apache Setting for more concurrent Connections]]&lt;br /&gt;
&lt;br /&gt;
{{ContextUserAndLogs}}&lt;br /&gt;
&lt;br /&gt;
[[Category: AppSuite]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=23636</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=23636"/>
		<updated>2017-09-09T06:51:38Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Categories vs. Log Levels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Exception Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=23635</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=23635"/>
		<updated>2017-09-09T06:51:29Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Logging Filters vs. Loggers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers vs. Exception Categories ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=23634</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=23634"/>
		<updated>2017-09-09T06:50:05Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* logconf CLT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone). The ruby code block is only needed for Elasticsearch version 2.0 or newer.&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
    ruby {&lt;br /&gt;
      code =&amp;gt; &amp;quot;event.to_hash.keys.each { |k| event[ k.gsub('.','_') ] = event.remove(k) if k.include?'.' }&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Logging Filters vs. Loggers ===&lt;br /&gt;
&lt;br /&gt;
As already mentioned in the beginning, with this command line tool you can do multiple things, therefore there are different &amp;quot;categories&amp;quot; of data objects so to speak, i.e. Logging Filters, Loggers and Exception Categories. Hence, specific flags of the tool are explicitly used for only one of these data object categories and nowhere else (with the exception of the -l flag):&lt;br /&gt;
&lt;br /&gt;
# Manage logging filters for&lt;br /&gt;
#* Sessions&lt;br /&gt;
#* Contexts&lt;br /&gt;
#* Context/User tuples&lt;br /&gt;
#: For the above three cases the -a, -d and -lf flags are relevant&lt;br /&gt;
# Change the log level of already existing loggers of the system&lt;br /&gt;
#: For this case the -l and -ll flags are relevant&lt;br /&gt;
# Suppress the stack-traces for defined exception categories&lt;br /&gt;
#: For this case only the -oec flag is relevant&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.accountId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail account identifier used in the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The mail host used in the requst&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.mail.login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login identifier used to login to the mail server&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Context_management&amp;diff=23487</id>
		<title>AppSuite:Context management</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Context_management&amp;diff=23487"/>
		<updated>2017-06-20T07:50:52Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: Removed the WebDAV XML remnants&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== createcontext ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;createcontext&amp;lt;/code&amp;gt;''' is the tool to create new contexts. A context is an independent instance within the createcontext Open-Xchange system and holds users, groups&lt;br /&gt;
and resources and all their objects. Data from one context is not visible to other contexts. Module access (calendar, tasks, email) can be set via predefined &amp;quot;access combination names&amp;quot;. These&lt;br /&gt;
names can be configured on the server side. All users which are created during later use of the &amp;quot;createuser&amp;quot; tool will inherit the module access rights from the context. If you do not specify any&lt;br /&gt;
access rights on createcontext minimal access rights will be granted. Currently, these are Webmail and Contacts access rights.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context, when starting with 0, 0 is deleted&lt;br /&gt;
|-&lt;br /&gt;
| -q,--quota &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|Context wide filestore quota in MB. -1 = unlimited. '''Note:''' The context-associated filestore is not only used by Infostore/Drive module, but also for other features like snippets/signatures, thumbnail cache, PIM (contacts, calendar &amp;amp; tasks) attachments, etc. Thus even if you don't use the Infostore/Drive, you should always set an appropriate amount so users can e.g. store signatures or attach files to PIM items.&lt;br /&gt;
|-&lt;br /&gt;
| -u,--username &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Username for the new context admin user&lt;br /&gt;
|-&lt;br /&gt;
| -d,--displayname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Displayname for the new context admin user&lt;br /&gt;
|-&lt;br /&gt;
| -g,--givenname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Given name for the new context admin user&lt;br /&gt;
|-&lt;br /&gt;
| -s,--surname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Surname/last name for the new context Admin user&lt;br /&gt;
|-&lt;br /&gt;
| -p,--password &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Password for the new context Admin user&lt;br /&gt;
|-&lt;br /&gt;
| -e,--email &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Primary E-Mail address for the new context Admin user&lt;br /&gt;
|-&lt;br /&gt;
| -l,--lang &amp;amp;lt;lang&amp;amp;gt;&lt;br /&gt;
|Language for the new context Admin user&lt;br /&gt;
|-&lt;br /&gt;
| -t,--timezone &amp;amp;lt;timezone&amp;amp;gt;&lt;br /&gt;
|Timezone for the new context Amin user&lt;br /&gt;
|-&lt;br /&gt;
| -N,--contextname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context name&lt;br /&gt;
|-&lt;br /&gt;
| -L,--addmapping &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Add login mappings separated by &amp;quot;,&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -F,--destination-store-id &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|Specifies the optional file store identifier to which the context gets assigned; if missing the file store gets auto-detected&lt;br /&gt;
|-&lt;br /&gt;
| -D,--destination-database-id &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|Specifies the optional database identifier to which the context gets assigned; if missing the database gets auto-detected&lt;br /&gt;
|-&lt;br /&gt;
| --access-combination-name &amp;amp;lt;access-combination-name&amp;amp;gt;&lt;br /&gt;
|Access combination name&lt;br /&gt;
|-&lt;br /&gt;
| --access-denied-portal &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Denies portal access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --csv-import &amp;amp;lt;CSV file&amp;amp;gt; &lt;br /&gt;
| Full path to CSV file with user data to import. This option makes mandatory options obsolete, except credential options (if needed). &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== --csv-import &amp;lt;CSV file&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Full path to CSV file with user data to import. This option makes mandatory command line options obsolete, except credential options (if needed). But they&lt;br /&gt;
have to be set in the CSV file.&lt;br /&gt;
&lt;br /&gt;
With this option you can specify a csv file (a full pathname must be given) with the data which should be imported. The columnnames in the CSV file must be&lt;br /&gt;
the same as the long-options of the command line tools, without the prefix &amp;quot;--&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This option will normally be used to fill new large installations with the new data. So instead of calling&lt;br /&gt;
the command line tools in a shell script every time, just a csv file needs to be created, containing the whole data.&lt;br /&gt;
&lt;br /&gt;
Note that the credentials of the masteradmin in the createcontext call&lt;br /&gt;
must be given on the command line with the -A and -P options nevertheless - if authentication is enabled. If the createuser command line tool is used, the credentials are part of the csv file, and&lt;br /&gt;
cannot be set as options on the command line itself. The reason for this different behavior is that different contexts have different credentials for the admin user, so they must be set in every&lt;br /&gt;
line of the csv file. Opposed to this the credentials of the masteradmin are always the same.&lt;br /&gt;
&lt;br /&gt;
==== Extra parameters when authentication is enabled ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;contextid {adminuser adminpass} quota username displayname givenname surname password email&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; created&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On&lt;br /&gt;
failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; could not be created: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/createcontext&lt;br /&gt;
-c 123 -q 1000 -N CompanyA -u &amp;quot;admin&amp;quot; -d &amp;quot;Admin of CompanyA&amp;quot; -g John -s Example -p newpw -e john@example.com&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context 123&lt;br /&gt;
created&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== deletecontext ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;deletecontext&amp;lt;/code&amp;gt;''' is the tool to delete contexts and all data stored that belong to it. This includes all database entries and files in the infostore but no&lt;br /&gt;
E-Mail components.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;contextid&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -N,--contextname &amp;amp;lt;contextname&amp;amp;gt;&lt;br /&gt;
|Context name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;(contextid or contexname) {adminuser adminpass}&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; deleted&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context&lt;br /&gt;
&amp;amp;lt;contextid&amp;amp;gt; could not be deleted: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/deletecontext -c&lt;br /&gt;
123&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context 123 deleted&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== listcontext ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;listcontext&amp;lt;/code&amp;gt;''' is the tool to list and search for contexts.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -s,--searchpattern &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Search/List pattern, default “*”&lt;br /&gt;
|-&lt;br /&gt;
| --csv&lt;br /&gt;
|Command output as csv&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;adminuser&amp;amp;gt;&lt;br /&gt;
|Master Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;{adminuser adminpass}&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
Standard output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cid fid fname enabled qmax qused name&lt;br /&gt;
lmappings . . ... ... ... ... ... ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
csv output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;id,filestore_id,filestore_name,enabled,max_quota,used_quota,name,lmappings&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;root@oxhe:/opt/open-xchange/sbin# ./listcontexts cid fid fname&lt;br /&gt;
enabled qmax qused name lmappings 6 3 6_ctx_store true 1000 0 customerA 6,customerA,secondlogin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== disablecontext ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;disablecontext&amp;lt;/code&amp;gt;''' is the tool to disable contexts. Whenever a customer tries to log in to a disabled context, the login is denied.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -N,--contextname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on&lt;br /&gt;
failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;(contextid or&lt;br /&gt;
contextname) {adminuser adminpass}&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On&lt;br /&gt;
success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; could not be disabled:&lt;br /&gt;
&amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/disablecontext -c 123&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context 123&lt;br /&gt;
disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== disableallcontexts ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;disableallcontexts&amp;lt;/code&amp;gt;''' is the tool to disable all contexts. Whenever a customer tries to log in to a disabled context, the login is denied.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin user&lt;br /&gt;
name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on&lt;br /&gt;
failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;{adminuser&lt;br /&gt;
adminpass}&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;all contexts disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;all contexts could not be disabled: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/disableallcontexts&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;all contexts disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== enablecontext ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;enablecontext&amp;lt;/code&amp;gt;''' is the tool to enable a disabled context.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from&lt;br /&gt;
output&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -N,--contextname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;adminuser&amp;amp;gt;&lt;br /&gt;
|Master Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;(contextid or contextname) {adminuser adminpass}&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; could not be enabled: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~#&lt;br /&gt;
&amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/enablecontext -c 123&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== enableallcontexts ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;enableallcontexts&amp;lt;/code&amp;gt;''' is the tool to enable all disabled contexts.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from&lt;br /&gt;
output&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass&lt;br /&gt;
&amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;{adminuser adminpass}&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;all contexts enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On&lt;br /&gt;
failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;all contexts could not be enabled: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/enableallcontexts&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;all contexts enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== getcontextcapabilities ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;getcontextcapabilities&amp;lt;/code&amp;gt;''' is the tool to list available capabilities for a certain context.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -N,--contextname &amp;amp;lt;contextname&amp;amp;gt;&lt;br /&gt;
|context name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&amp;lt;code&amp;gt;contextid adminuser adminpass&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;There are no capabilities set for context &amp;amp;lt;context-id&amp;amp;gt;&amp;quot;&lt;br /&gt;
or a line-wise listing of identifiers for available capabilities&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; root@oxhe:~# /opt/open-xchange/sbin/getcontextcapabilities -c 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== changecontext ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;changecontext&amp;lt;/code&amp;gt;''' makes context-wide changes.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you specify module access options; e.g. &amp;quot;--access-edit-password on&amp;quot;; then please be aware that basic module access set is the one from context's administrator. Meaning any option not explicitly specified as CLI argument will fall-back to context administrator setting for _every_ user in associated context.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use changecontext to change the current quota for a given context. When the context has more changecontext space in use than the new quota allows,&lt;br /&gt;
the customer is only able to delete files until the usage is below quota. Module access (calendar,tasks,email) can be set via predefined &amp;quot;access combination names&amp;quot;. These names can be configured on&lt;br /&gt;
the server side. All users which are created during later use of the &amp;quot;createuser&amp;quot; tool will inherit the module access rights from the context. If you do not specify any access rights on&lt;br /&gt;
createcontext minimal access rights will be granted. Currently, these are Webmail and Contacts access rights.&lt;br /&gt;
&lt;br /&gt;
There are some default combinations in the ModuleAccessDefinitions.properties&lt;br /&gt;
file on the admin server, like:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|webmail=webmail, contacts, globaladdressbookdisabled, collectemailaddresses, editpassword&lt;br /&gt;
|-&lt;br /&gt;
|pim=webmail, ''calendar'', contacts, ''tasks'', globaladdressbookdisabled, collectemailaddresses, ''multiplemailaccounts'', ''subscription'', ''publication'', editpassword&lt;br /&gt;
|-&lt;br /&gt;
|pim_infostore=webmail, calendar, contacts, tasks, ''infostore'', ''webdav'', globaladdressbookdisabled, collectemailaddresses, multiplemailaccounts, subscription, publication&lt;br /&gt;
|-&lt;br /&gt;
|pim_mobility=webmail, calendar, contacts, tasks, syncml, ''usm'', activesync, globaladdressbookdisabled, collectemailaddresses, multiplemailaccounts, subscription, publication, ''editpassword''&lt;br /&gt;
|-&lt;br /&gt;
|groupware_standard=webmail, calendar, contacts, infostore, tasks, webdav, ical, vcard, readcreatesharedfolders, delegatetask, editpublicfolders, editgroup, editresource, editpassword, collectemailaddresses, multiplemailaccounts, subscription, publication (Groupware Standard always gets new features except mobility and OXtender. ) &lt;br /&gt;
|-&lt;br /&gt;
|groupware_premium=webmail, calendar, contacts, infostore, tasks, webdav, ical, vcard, ''syncml, ''usm'', ''olox20'', ''activesync'', readcreatesharedfolders, delegatetask, editpublicfolders, editgroup, editresource, editpassword, collectemailaddresses, multiplemailaccounts, subscription, publication&lt;br /&gt;
|-&lt;br /&gt;
|all=webmail, calendar, contacts, infostore, tasks, webdav, ical, vcard, syncml, usm, olox20, activesync, readcreatesharedfolders, delegatetask, editpublicfolders, editgroup, editresource, editpassword, ''publicfoldereditable'', collectemailaddresses, multiplemailaccounts, subscription, publication (This is a right tailored to a context administrator)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Italics denote additional rights in comparison to the previous set where applicable.&lt;br /&gt;
&lt;br /&gt;
When having changed the access rights of the context and its users with &amp;quot;changecontext&amp;quot; the &amp;quot;downgrade&amp;quot; command should be called on the admin server. All unnecessary data are removed from&lt;br /&gt;
the data base via &amp;quot;groupware api&amp;quot;. If e. g. the context 1 is changed from &amp;quot;pim_infostore&amp;quot; to &amp;quot;webmail&amp;quot;, the &amp;quot;downgrade&amp;quot; command has to be called for this context then. Then, all unnecessary&lt;br /&gt;
folders for this context are removed from the data base.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,- -help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,- -contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -N,- -contextname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|The name of the context&lt;br /&gt;
|-&lt;br /&gt;
| -L,- -addmapping &amp;amp;lt;string(s)&amp;amp;gt;&lt;br /&gt;
|Add login mappings. Separated by &amp;quot;,&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -R,- -removemapping &amp;amp;lt;stirng(s)&amp;amp;gt;&lt;br /&gt;
|Remove login mappings. Separated by &amp;quot;,&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -q,- -quota &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|Quota for the context filestore in MB&lt;br /&gt;
|-&lt;br /&gt;
| --access-combination-name &amp;amp;lt;access-combination-name&amp;amp;gt;&lt;br /&gt;
|Access combination name&lt;br /&gt;
|-&lt;br /&gt;
| --capabilities-to-add &amp;amp;lt;capabilities-to-add&amp;amp;gt;&lt;br /&gt;
| The capabilities to add as a comma-separated string (from 7.2.0 on)&lt;br /&gt;
|-&lt;br /&gt;
| --capabilities-to-remove &amp;amp;lt;capabilities-to-remove&amp;amp;gt;&lt;br /&gt;
| The capabilities to remove as a comma-separated string  (from 7.2.0 on)&lt;br /&gt;
|-&lt;br /&gt;
| --capabilities-to-drop &amp;amp;lt;capabilities-to-drop&amp;amp;gt;&lt;br /&gt;
|The capabilities to drop; e.g. cleanse from storage; as a comma-separated string (from 7.6.0 on)&lt;br /&gt;
|-&lt;br /&gt;
| --quota-module &amp;amp;lt;quota-module&amp;amp;gt;&lt;br /&gt;
|The identifier of the module to which to apply the quota value (from 7.2.0 on)&lt;br /&gt;
|-&lt;br /&gt;
| --quota-value &amp;amp;lt;quota-value&amp;amp;gt;&lt;br /&gt;
| from v7.2.0 on: The quota value; zero is unlimited&amp;lt;br&amp;gt;from v7.6.0 on: The numeric quota value specifying the max. number of items allowed for context. Zero is unlimited. A value less than zero deletes the quota entry (and falls back to configured behavior)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,- -adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,- -adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Master Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on&lt;br /&gt;
failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;(contextid or&lt;br /&gt;
contextname) {adminuser adminpass} and at minimum one attribute to change&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context &amp;amp;lt;contextid&amp;amp;gt; changed&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context&lt;br /&gt;
&amp;amp;lt;contextid&amp;amp;gt; could not be changed: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/changecontext -c 123 -q&lt;br /&gt;
500&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;context 123 changed&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== getAdminId ==&lt;br /&gt;
&lt;br /&gt;
Returns the ID of the context administrator.&lt;br /&gt;
&lt;br /&gt;
[[Category: Administrator]]&lt;br /&gt;
&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: AdminGuide]]&lt;br /&gt;
[[Category: CommandLineTools]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:User_management&amp;diff=23486</id>
		<title>AppSuite:User management</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:User_management&amp;diff=23486"/>
		<updated>2017-06-20T07:39:55Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: Removed the WebDAV XML remnants&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== createuser ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;createuser&amp;lt;/code&amp;gt;''' is the tool to create new users in a given context. The displayname must be unique in one context.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show infoabout commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| --extendedoptions &lt;br /&gt;
|Set this if you want to see all options, use this instead of help option&lt;br /&gt;
|-&lt;br /&gt;
|csv-import &amp;amp;lt;CSV file&amp;amp;gt; &lt;br /&gt;
| Full path to CSV file with user data to import. This option makes mandatory options obsolete, except credential options (if needed). &lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -u,--username &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Username of the user&lt;br /&gt;
|-&lt;br /&gt;
| -d,--displayname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Display name of the user&lt;br /&gt;
|-&lt;br /&gt;
| -g,--givenname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Given name for the user&lt;br /&gt;
|-&lt;br /&gt;
| -s,--surname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Surname of the user&lt;br /&gt;
|-&lt;br /&gt;
| -p,--password &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Password for the user &lt;br /&gt;
|-&lt;br /&gt;
| -e,--email &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Primary mail address &lt;br /&gt;
|-&lt;br /&gt;
| -l,--language &amp;amp;lt;lang&amp;amp;gt;&lt;br /&gt;
|Language for the user (de_DE,en_US,fr_FR)&lt;br /&gt;
|-&lt;br /&gt;
| -t,--timezone &amp;amp;lt;timezone&amp;amp;gt;&lt;br /&gt;
|Timezone of the user (Europe/Berlin)&lt;br /&gt;
|-&lt;br /&gt;
| -x,--department &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Department of the user &lt;br /&gt;
|-&lt;br /&gt;
| -z,--company &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Company of the user &lt;br /&gt;
|-&lt;br /&gt;
| -a,--aliases &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|E-Mail aliases of the user, separated by &amp;quot;,&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| --access-combination-name &amp;amp;lt;access-combination-name&amp;amp;gt;&lt;br /&gt;
|Access combination name&lt;br /&gt;
|-&lt;br /&gt;
| --addguipreferences &amp;amp;lt;addguipreferences&amp;amp;gt;&lt;br /&gt;
|Add a GUI setting (key=value)&lt;br /&gt;
|}&lt;br /&gt;
For the GUI preferences please also see [http://oxpedia.org/wiki/index.php?title=Gui_path]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== --csv-import &amp;lt;CSV file&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Full path to CSV file with user data to&lt;br /&gt;
import. This option makes mandatory command line options obsolete, except credential options (if needed). But they have to be set in the CSV file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this option you can specify a csv file&lt;br /&gt;
(a full pathname must be given) with the data which should be imported. The columnnames in the CSV file must be the same as the long-options of the command line tools, without the prefix&lt;br /&gt;
&amp;quot;--&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This option will normally be used to fill new large installations with the new data. So instead of calling the command line tools in a shell script every time, just a csv file needs to&lt;br /&gt;
be created, containing the whole data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the credentials of the masteradmin in the createcontext call must be given on the command line with the -A and -P options nevertheless - if&lt;br /&gt;
authentication is enabled. If the createuser command line tool is used, the credentials are part of the csv file, and cannot be set as options on the command line itself. The reason for this&lt;br /&gt;
different behavior is that different contexts have different credentials for the admin user, so they must be set in every line of the csv file. Opposed to this the credentials of the masteradmin&lt;br /&gt;
are always the same.&lt;br /&gt;
&lt;br /&gt;
=== Extended options ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| --email1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Email1&lt;br /&gt;
|-&lt;br /&gt;
| --birthday &amp;amp;lt;datevalue&amp;amp;gt;&lt;br /&gt;
|Birthday&lt;br /&gt;
|-&lt;br /&gt;
| --anniversary &amp;amp;lt;datevalue&amp;amp;gt;&lt;br /&gt;
|Anniversary&lt;br /&gt;
|-&lt;br /&gt;
| --branches &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Branches&lt;br /&gt;
|-&lt;br /&gt;
| --business_category &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Business_category&lt;br /&gt;
|-&lt;br /&gt;
| --postal_code_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Postal_code_business&lt;br /&gt;
|-&lt;br /&gt;
| --state_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|State_business&lt;br /&gt;
|-&lt;br /&gt;
| --street_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Street_business&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_callback &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_callback&lt;br /&gt;
|-&lt;br /&gt;
| --city_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|City_home&lt;br /&gt;
|-&lt;br /&gt;
| --commercial_register &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Commercial_register&lt;br /&gt;
|-&lt;br /&gt;
| --country_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Country_home&lt;br /&gt;
|-&lt;br /&gt;
| --email2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Email2&lt;br /&gt;
|-&lt;br /&gt;
| --email3 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Email3&lt;br /&gt;
|-&lt;br /&gt;
| --employeetype &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|EmployeeType&lt;br /&gt;
|-&lt;br /&gt;
| --fax_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Fax_business&lt;br /&gt;
|-&lt;br /&gt;
| --fax_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Fax_home&lt;br /&gt;
|-&lt;br /&gt;
| --fax_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Fax_other&lt;br /&gt;
|-&lt;br /&gt;
| --imapserver &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|ImapServer&lt;br /&gt;
|-&lt;br /&gt;
| --imaplogin &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|ImapLogin&lt;br /&gt;
|-&lt;br /&gt;
| --smtpserver &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|SmtpServer&lt;br /&gt;
|-&lt;br /&gt;
| --instant_messenger1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Instant_messenger1&lt;br /&gt;
|-&lt;br /&gt;
| --instant_messenger2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Instant_messenger2&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_ip &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_ip&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_isdn &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_isdn&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_drafts_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_drafts_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_sent_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_sent_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_spam_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_spam_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_trash_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_trash_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_archive_full_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_archive_full_name&lt;br /&gt;
|-&lt;br /&gt;
| --manager_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Manager_name&lt;br /&gt;
|-&lt;br /&gt;
| --marital_status &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Marital_status&lt;br /&gt;
|-&lt;br /&gt;
| --cellular_telephone1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Cellular_telephone1&lt;br /&gt;
|-&lt;br /&gt;
| --cellular_telephone2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Cellular_telephone2&lt;br /&gt;
|-&lt;br /&gt;
| --info &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Info&lt;br /&gt;
|-&lt;br /&gt;
| --nickname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Nickname&lt;br /&gt;
|-&lt;br /&gt;
| --number_of_children &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Number_of_children&lt;br /&gt;
|-&lt;br /&gt;
| --note &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Note&lt;br /&gt;
|-&lt;br /&gt;
| --number_of_employee &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Number_of_employee&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_pager &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_pager&lt;br /&gt;
|-&lt;br /&gt;
| --password_expired &amp;amp;lt;booleanvalue&amp;amp;gt;&lt;br /&gt;
|Password_expired&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_assistant &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_assistant&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_business1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_business1&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_business2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_business2&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_car &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_car&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_company &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_company&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_home1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_home1&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_home2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_home2&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_other&lt;br /&gt;
|-&lt;br /&gt;
| --postal_code_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Postal_code_home&lt;br /&gt;
|-&lt;br /&gt;
| --profession &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Profession&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_radio &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_radio&lt;br /&gt;
|-&lt;br /&gt;
| --room_number &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Room_number&lt;br /&gt;
|-&lt;br /&gt;
| --sales_volume &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Sales_volume&lt;br /&gt;
|-&lt;br /&gt;
| --city_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|City_other&lt;br /&gt;
|-&lt;br /&gt;
| --country_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Country_other&lt;br /&gt;
|-&lt;br /&gt;
| --middle_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Middle_name&lt;br /&gt;
|-&lt;br /&gt;
| --postal_code_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Postal_code_other&lt;br /&gt;
|-&lt;br /&gt;
| --state_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|State_other&lt;br /&gt;
|-&lt;br /&gt;
| --street_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Street_other&lt;br /&gt;
|-&lt;br /&gt;
| --spouse_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Spouse_name&lt;br /&gt;
|-&lt;br /&gt;
| --state_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|State_home&lt;br /&gt;
|-&lt;br /&gt;
| --street_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Street_home&lt;br /&gt;
|-&lt;br /&gt;
| --suffix &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Suffix&lt;br /&gt;
|-&lt;br /&gt;
| --tax_id &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Tax_id&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_telex &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_telex&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_ttytdd &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_ttytdd&lt;br /&gt;
|-&lt;br /&gt;
| --uploadFileSizeLimitPerFile &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|uploadFileSizeLimitPerFile&lt;br /&gt;
|-&lt;br /&gt;
| --uploadFileSizeLimit &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|uploadFileSizeLimit&lt;br /&gt;
|-&lt;br /&gt;
| --url &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Url&lt;br /&gt;
|-&lt;br /&gt;
| --userfield01 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield01&lt;br /&gt;
|-&lt;br /&gt;
| --userfield02 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield02&lt;br /&gt;
|-&lt;br /&gt;
| --userfield03 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield03&lt;br /&gt;
|-&lt;br /&gt;
| --userfield04 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield04&lt;br /&gt;
|-&lt;br /&gt;
| --userfield05 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield05&lt;br /&gt;
|-&lt;br /&gt;
| --userfield06 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield06&lt;br /&gt;
|-&lt;br /&gt;
| --userfield07 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield07&lt;br /&gt;
|-&lt;br /&gt;
| --userfield08 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield08&lt;br /&gt;
|-&lt;br /&gt;
| --userfield09 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield09&lt;br /&gt;
|-&lt;br /&gt;
| --userfield10 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield10&lt;br /&gt;
|-&lt;br /&gt;
| --userfield11 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield11&lt;br /&gt;
|-&lt;br /&gt;
| --userfield12 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield12&lt;br /&gt;
|-&lt;br /&gt;
| --userfield13 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield13&lt;br /&gt;
|-&lt;br /&gt;
| --userfield14 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield14&lt;br /&gt;
|-&lt;br /&gt;
| --userfield15 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield15&lt;br /&gt;
|-&lt;br /&gt;
| --userfield16 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield16&lt;br /&gt;
|-&lt;br /&gt;
| --userfield17 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield17&lt;br /&gt;
|-&lt;br /&gt;
| --userfield18 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield18&lt;br /&gt;
|-&lt;br /&gt;
| --userfield19 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield19&lt;br /&gt;
|-&lt;br /&gt;
| --userfield20 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield20&lt;br /&gt;
|-&lt;br /&gt;
| --city_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|City_business&lt;br /&gt;
|-&lt;br /&gt;
| --country_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Country_business&lt;br /&gt;
|-&lt;br /&gt;
| --assistant_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Assistant_name&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_primary &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_primary&lt;br /&gt;
|-&lt;br /&gt;
| --categories &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Categories&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_confirmed_ham_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_confirmed_ham_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_confirmed_spam_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_confirmed_spam_name&lt;br /&gt;
|-&lt;br /&gt;
| --gui_spam_filter_capabilities_enabled &amp;amp;lt;booleanvalue&amp;amp;gt;&lt;br /&gt;
|GUI_spam_filter_capabilities_enabled&lt;br /&gt;
|-&lt;br /&gt;
| --mailenabled &amp;amp;lt;true/false&amp;amp;gt;&lt;br /&gt;
|Mailenabled&lt;br /&gt;
|-&lt;br /&gt;
| --defaultsenderaddress &amp;amp;lt;stringvalue&amp;amp;gt;&lt;br /&gt;
|DefaultSenderAddress&lt;br /&gt;
|-&lt;br /&gt;
| --title &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Title&lt;br /&gt;
|-&lt;br /&gt;
| --position &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Position&lt;br /&gt;
|-&lt;br /&gt;
| --access-calendar &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Calendar module (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-contacts &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Contact module access (Default is on)&lt;br /&gt;
|-&lt;br /&gt;
| --access-delegate-tasks &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Delegate tasks access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-public-folder &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit public folder access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-ical &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Ical module access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-infostore &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Infostore module access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-read-create-shared-Folders &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Read create shared folder access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-syncml &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Syncml access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-active-sync &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Exchange Active Sync access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-usm &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Universal Sync Module access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-tasks &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Tasks access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-vcard &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Vcard access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
--access-webmail &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Webmail access (Default is on)&lt;br /&gt;
|-&lt;br /&gt;
| --access-publication &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Publication permission (Default is on). Note: access-publication needs access-infostore and is optional for Groupware+ and premium&lt;br /&gt;
|-&lt;br /&gt;
| --access-subscription &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Subscription permission (Default is on)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-group &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit group access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-resource &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit resource access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-password &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit password access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-collect-email-addresses &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit collect email addresses (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-multiple-mail-accounts &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Use multiple mail account feature (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-global-address-book-disabled &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Access to global address book (Default is off). Note: Setting this option to true is only allowed in combination with PIM and Webmail rights. Note: There is a 'restoregaddefaults' script to restore the default permissions of the global address book folder. &lt;br /&gt;
|-&lt;br /&gt;
| --access--voipnow &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Access to VoiceOverIP feature.&lt;br /&gt;
|-&lt;br /&gt;
| --access-public-folder-editable &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Access to public folders. Allows or denies to see public folders. &lt;br /&gt;
|-&lt;br /&gt;
| --foldertree &amp;amp;lt;0/1&amp;amp;gt;&lt;br /&gt;
|0 sets the OX standard folder tree and 1 sets the Outlook-like folder tree.&lt;br /&gt;
|-&lt;br /&gt;
| --access-olox20 &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
| Access to Olox2.0&lt;br /&gt;
|-&lt;br /&gt;
| --default-folder-mode&lt;br /&gt;
| The mode how the default folders should be created. 'default', 'default-deletable', 'no-default-folders'. If not selected, 'default' is applied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Open-Xchange module access ===&lt;br /&gt;
&lt;br /&gt;
With Open-Xchange it is&lt;br /&gt;
possible to limit the access to the available modules per context i. e., all users in one context per default get the same access rights. The rights though can be changed per user. Currently,&lt;br /&gt;
following modules are implemented: access-calendar, access-contacts, access-delegate-tasks, access-edit-public-folder, access-ical, access-infostore, access-read-create-shared-Folders,&lt;br /&gt;
access-tasks, access-vcard, access-webdav, access-syncml and access-webmail. There are several combinations possible and four are supported (not mentioned modules need to be&lt;br /&gt;
disabled). This limitation is needed because some modules depend on access to others. There are different Open-Xchange packages available for the customer: Webmail+, PIM+, Groupware+, Premium.&lt;br /&gt;
These packages have to be configured per context i. e., all users in a context need to use the same package. Each package consists of a combination of modules that has to be set up appropriately.&lt;br /&gt;
The following sections quickly introduce the packages and their module configuration. Open-Xchange also provides the possibility to use &amp;quot;access combination names&amp;quot; when creating and changing&lt;br /&gt;
contexts/users. If you want to change the package acess rights for a context, you can simply add the &amp;quot;access-combination-name&amp;quot; switch to the appropriate tool&lt;br /&gt;
(createcontext,createuser,changecontext etc.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Webmail+ ====&lt;br /&gt;
&lt;br /&gt;
If there are no access rights specified when creating a new user Webmail+ is used as default. Webmail+ is a base package that allows access to the&lt;br /&gt;
webmail interface and a personal address book. To grant access to this package, the following modules have to be set to &amp;quot;on&amp;quot; for all users in a context:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|access-contacts&lt;br /&gt;
|Access combination name: webmail_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-webmail&lt;br /&gt;
|Access combinationname: webmail_plus&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== PIM+ ====&lt;br /&gt;
&lt;br /&gt;
PIM+&lt;br /&gt;
is another base package that gives access to the webmailer, personal address book, calendar and tasks. Group appointments and delegating tasks are not supported. To grant access to this package,&lt;br /&gt;
the following modules have to be set to &amp;quot;on&amp;quot; for all users in a context:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|access-contacts&lt;br /&gt;
|Access combination name: pim_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-webmail&lt;br /&gt;
|Access combination name: pim_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-calendar&lt;br /&gt;
|Access combination name: pim_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-delegate-tasks&lt;br /&gt;
|Access combination name: pim_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-tasks&lt;br /&gt;
|Access combination name: pim_plus&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Groupware+ ====&lt;br /&gt;
&lt;br /&gt;
Groupware+ is an upsell package that provides full groupware functionality: private, shared and public folders, conflict handling for appointments, team view. Furthermore, the InfoStore is&lt;br /&gt;
available. To grant access to this package, the following modules have to be set to &amp;quot;on&amp;quot; for all users in a context:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|access-contacts&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-webmail&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-calendar&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-delegate-tasks&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-tasks&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-edit-public-folder&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-infostore&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|-&lt;br /&gt;
|access-read-create-shared-Folders&lt;br /&gt;
|Access combination name: groupware_plus&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Premium ====&lt;br /&gt;
&lt;br /&gt;
Premium is a desktop integration package. It provides the functionality of the &amp;quot;Groupware+&amp;quot; package and comes with interfaces to integrate with other software: The OXtender for MS Outlook and the&lt;br /&gt;
WebDAV interface to integrate the InfoStore with desktops. To grant access to this package, the following modules have to be set to &amp;quot;on&amp;quot; for all users in a context:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|access-contacts&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-webmail&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-calendar&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-delegate-tasks&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-tasks&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-edit-public-folder&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-infostore&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-read-create-shared-Folders&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-ical&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-vcard&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|-&lt;br /&gt;
|access-webdav&lt;br /&gt;
|Access combination name: premium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== All ====&lt;br /&gt;
The setting &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; is equivalent to &amp;lt;code&amp;gt;premium&amp;lt;/code&amp;gt; for ordinary users. For context administrators, it adds the right &amp;lt;code&amp;gt;publicfoldereditable&amp;lt;/code&amp;gt;, which allows the admin to change the access rights to public folders for groups.&lt;br /&gt;
&lt;br /&gt;
==== Package access configuration ====&lt;br /&gt;
&lt;br /&gt;
This section provides a quick overview about the different packages that can be configured per context and the&lt;br /&gt;
required access configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Module&lt;br /&gt;
|Webmail+&lt;br /&gt;
|PIM+&lt;br /&gt;
|Groupware+&lt;br /&gt;
|Premium&lt;br /&gt;
|-&lt;br /&gt;
| -access-calendar&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-contacts&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-delegate-tasks&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-edit-public-folder&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-ical&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-infostore&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-read-create-shared-Folders&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-syncml&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|–access-tasks&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-vcard&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-webdav&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
| -access-webmail&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;contextid {adminuser adminpass} username displayname givenname surname password email&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user &amp;amp;lt;userid&amp;amp;gt; in context &amp;amp;lt;contextid&amp;amp;gt; created&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user in context &amp;amp;lt;contextid&amp;amp;gt; could not be created: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt;/opt/open-xchange/sbin/createuser -c 123 -u jd -d &amp;quot;john doe&amp;quot;&lt;br /&gt;
-g John -s Doe -p userpw -e jd@example.com&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user 3 in context 123 created&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== deleteuser ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;deleteuser&amp;lt;/code&amp;gt;''' is the tool to delete a user in a given context. If you delete a user the public folder entries of this user are&lt;br /&gt;
transferred to the admin user. All other data are deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of them context&lt;br /&gt;
|-&lt;br /&gt;
| -i,--userid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|Id of the user&lt;br /&gt;
|-&lt;br /&gt;
| -u,--username &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Username ofthe user&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&amp;lt;code&amp;gt;contextid {adminuser adminpass} (userid or username)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user &amp;amp;lt;userid&amp;amp;gt; in context &amp;amp;lt;contextid&amp;amp;gt; deleted&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user &amp;amp;lt;userid&amp;amp;gt; in context &amp;amp;lt;contextid&amp;amp;gt; could not be deleted: &amp;amp;lt;reason from&lt;br /&gt;
server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~# &amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt; /opt/open-xchange/deleteuser -c 123 -i 3&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user 3 in context 123 deleted&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== listuser ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;listuser&amp;lt;/code&amp;gt;''' is the tool to list and search for users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -s,--searchpattern &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Search/List pattern, default “*”&lt;br /&gt;
|-&lt;br /&gt;
| --csv&lt;br /&gt;
|Command output as csv&lt;br /&gt;
|-&lt;br /&gt;
| -i,--ignorecase &lt;br /&gt;
|Do a case-insensitive search with the given search pattern&lt;br /&gt;
|-&lt;br /&gt;
| --includeguests&lt;br /&gt;
|Add guest users to listing '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| --excludeusers&lt;br /&gt;
|Exclude usual users from listing '''Available with v7.8.0'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&amp;lt;code&amp;gt;contextid adminuser adminpass&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
Standard output (only a subset of available attributes are printed also only disabled&lt;br /&gt;
modules):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|id&lt;br /&gt;
|enabled&lt;br /&gt;
|imapServer&lt;br /&gt;
|smtpserver&lt;br /&gt;
|language&lt;br /&gt;
|Webdav&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|true&lt;br /&gt;
|localhost&lt;br /&gt;
|localhost&lt;br /&gt;
|en_US&lt;br /&gt;
|false&lt;br /&gt;
|false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
csv output: &lt;br /&gt;
Name,Language,Id,Display_name,PrimaryEmail,MaxQuota,UsedQuota,Email1,Mailenabled,Password,Sur_name,Given_name,&lt;br /&gt;
FilestoreId,FilestoreOwner,Filestore_name,Birthday,Anniversary,Branches,Business_category,Postal_code_business,&lt;br /&gt;
State_business,Street_business,Telephone_callback,City_home,Commercial_register,Country_home,Company,Department,&lt;br /&gt;
Email2,Email3,EmployeeType,Fax_business,Fax_home,Fax_other,ImapServer,ImapLogin,SmtpServer,Instant_messenger1,&lt;br /&gt;
Instant_messenger2,Telephone_ip,Telephone_isdn,Mail_folder_drafts_name,Mail_folder_sent_name,&lt;br /&gt;
Mail_folder_spam_name,Mail_folder_trash_name,Mail_folder_archive_full_name,Manager_name,Marital_status,Cellular_telephone1,Cellular_telephone2,&lt;br /&gt;
Info,Nickname,Number_of_children,Note,Number_of_employee,Telephone_pager,Password_expired,Telephone_assistant,&lt;br /&gt;
Telephone_business1,Telephone_business2,Telephone_car,Telephone_company,Telephone_home1,Telephone_home2,&lt;br /&gt;
Telephone_other,Position,Postal_code_home,Profession,Telephone_radio,Room_number,Sales_volume,City_other,&lt;br /&gt;
Country_other,Middle_name,Postal_code_other,State_other,Street_other,Spouse_name,State_home,Street_home,Suffix,&lt;br /&gt;
Tax_id,Telephone_telex,Timezone,Title,Telephone_ttytdd,UploadFileSizeLimit,UploadFileSizeLimitPerFile,Url,&lt;br /&gt;
Userfield01,Userfield02,Userfield03,Userfield04,Userfield05,Userfield06,Userfield07,Userfield08,Userfield09,&lt;br /&gt;
Userfield10,Userfield11,Userfield12,Userfield13,Userfield14,Userfield15,Userfield16,Userfield17,Userfield18,&lt;br /&gt;
Userfield19,Userfield20,Aliases,City_business,Country_business,Assistant_name,Telephone_primary,Categories,&lt;br /&gt;
PasswordMech,Mail_folder_confirmed_ham_name,Mail_folder_confirmed_spam_name,GUI_Spam_filter_capabilities_enabled,&lt;br /&gt;
DefaultSenderAddress,FolderTree,UserAttributes,GuiPreferences,access-calendar,access-contacts,&lt;br /&gt;
access-delegate-tasks,access-edit-public-folder,access-ical,access-infostore,&lt;br /&gt;
access-read-create-shared-Folders,access-syncml,access-tasks,access-vcard,access-webdav,&lt;br /&gt;
access-webmail,access-edit-group,access-edit-resource,access-edit-password,access-collect-email-addresses,&lt;br /&gt;
access-multiple-mail-accounts,access-subscription,access-publication,access-active-sync,access-usm,&lt;br /&gt;
access-olox20,access-denied-portal,access-global-address-book-disabled,access-public-folder-editable&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; root@oxhe:~# /opt/open-xchange/sbin/listuser -c 6 Id Name Displayname Email 2 admin admin admin@example.com 3 holger Holger&lt;br /&gt;
holger@example.com &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== getusercapabilities ==&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;getusercapabilities&amp;lt;/code&amp;gt;''' is the tool to list available capabilities for a certain user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -i,--userid &amp;amp;lt;userid&amp;amp;gt;&lt;br /&gt;
|Id of the user&lt;br /&gt;
|-&lt;br /&gt;
| -u,--username &amp;amp;lt;username&amp;amp;gt;&lt;br /&gt;
|Username of the user&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin user name&lt;br /&gt;
|-&lt;br /&gt;
| -P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&amp;lt;code&amp;gt;contextid userid adminuser adminpass&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;There are no capabilities set for user &amp;amp;lt;user-id&amp;amp;gt; in context &amp;amp;lt;context-id&amp;amp;gt;&amp;quot;&lt;br /&gt;
or a line-wise listing of identifiers for available capabilities&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; root@oxhe:~# /opt/open-xchange/sbin/getusercapabilities -c 6 -i 345&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== changeuser ==&lt;br /&gt;
&lt;br /&gt;
The '''&amp;lt;code&amp;gt;changeuser&amp;lt;/code&amp;gt;''' tool allows to modify attributes of an existing user in a given context. The displayname must be unique in&lt;br /&gt;
one context.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
|Prints a help text&lt;br /&gt;
|-&lt;br /&gt;
| --environment&lt;br /&gt;
|Show info about commandline environment&lt;br /&gt;
|-&lt;br /&gt;
| --nonl&lt;br /&gt;
|Remove all newlines (\n) from output&lt;br /&gt;
|-&lt;br /&gt;
| --responsetimeout &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|response timeout in seconds for reading response from the backend (default 0s; infinite) '''Available with v7.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| --extendedoptions &lt;br /&gt;
|Set this if you want to see all options, use this instead of help option&lt;br /&gt;
|-&lt;br /&gt;
| -c,--contextid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|The id of the context&lt;br /&gt;
|-&lt;br /&gt;
| -i,--userid &amp;amp;lt;integer&amp;amp;gt;&lt;br /&gt;
|Id of the user&lt;br /&gt;
|-&lt;br /&gt;
| -u,--username &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Username of the user &lt;br /&gt;
|-&lt;br /&gt;
| -d,--displayname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Display name of the user &lt;br /&gt;
|-&lt;br /&gt;
| -g,--givenname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Given name for the user &lt;br /&gt;
|-&lt;br /&gt;
| -s,--surname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Surname of the user&lt;br /&gt;
|-&lt;br /&gt;
| -p,--password &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Password for the user &lt;br /&gt;
|-&lt;br /&gt;
| -e,--email &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Primary mail address &lt;br /&gt;
|-&lt;br /&gt;
| -l,--language &amp;amp;lt;lang&amp;amp;gt;&lt;br /&gt;
|Language for the user (de_DE,en_US, fr_FR)&lt;br /&gt;
|-&lt;br /&gt;
| -t,--timezone &amp;amp;lt;timezone&amp;amp;gt;&lt;br /&gt;
|Timezone of the user (Europe/Berlin)&lt;br /&gt;
|-&lt;br /&gt;
| -x,--department &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Department of the user&lt;br /&gt;
|-&lt;br /&gt;
| -z,--company &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Company of the user &lt;br /&gt;
|-&lt;br /&gt;
| -a,--aliases &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|E-Mail aliases of the user, separated by &amp;quot;,&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| --access-combination-name &amp;amp;lt;access-combination-name&amp;amp;gt;&lt;br /&gt;
|Access combination name &lt;br /&gt;
|-&lt;br /&gt;
| --addguipreferences &amp;amp;lt;addguipreferences&amp;amp;gt;&lt;br /&gt;
|Add a GUI setting (key=value)&lt;br /&gt;
|-&lt;br /&gt;
| --removeguipreferences &amp;amp;lt;removeguipreferences&amp;amp;gt;&lt;br /&gt;
|Remove a GUI setting &lt;br /&gt;
|-&lt;br /&gt;
| --access-denied-portal &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Denies portal access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --capabilities-to-add &amp;amp;lt;capabilities-to-add&amp;amp;gt;&lt;br /&gt;
| The capabilities to add as a comma-separated string (from 7.2.0 on)&lt;br /&gt;
|-&lt;br /&gt;
| --capabilities-to-remove &amp;amp;lt;capabilities-to-remove&amp;amp;gt;&lt;br /&gt;
|The capabilities to remove as a comma-separated string (from 7.2.0 on)&lt;br /&gt;
|-&lt;br /&gt;
| --capabilities-to-drop &amp;amp;lt;capabilities-to-drop&amp;amp;gt;&lt;br /&gt;
|The capabilities to drop; e.g. cleanse from storage; as a comma-separated string (from 7.6.0 on)&lt;br /&gt;
|}&lt;br /&gt;
For the GUI preferences please also see http://www.open-xchange.com/wiki/index.php?title=Gui_path&lt;br /&gt;
&lt;br /&gt;
=== Extended options ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| --email1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Email1&lt;br /&gt;
|-&lt;br /&gt;
| --mailenabled &amp;amp;lt;booleanvalue &amp;amp;gt;&lt;br /&gt;
|Mailenabled&lt;br /&gt;
|-&lt;br /&gt;
| --birthday &amp;amp;lt;datevalue&amp;amp;gt;&lt;br /&gt;
|Birthday&lt;br /&gt;
|-&lt;br /&gt;
| --anniversary &amp;amp;lt;datevalue&amp;amp;gt;&lt;br /&gt;
|Anniversary&lt;br /&gt;
|-&lt;br /&gt;
| --branches &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Branches&lt;br /&gt;
|-&lt;br /&gt;
| --business_category &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Business_category&lt;br /&gt;
|-&lt;br /&gt;
| --postal_code_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Postal_code_business&lt;br /&gt;
|-&lt;br /&gt;
| --state_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|State_business&lt;br /&gt;
|-&lt;br /&gt;
| --street_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Street_business&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_callback &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_callback&lt;br /&gt;
|-&lt;br /&gt;
| --city_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|City_home&lt;br /&gt;
|-&lt;br /&gt;
| --commercial_register &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Commercial_register&lt;br /&gt;
|-&lt;br /&gt;
| --country_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Country_home&lt;br /&gt;
|-&lt;br /&gt;
| --email2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Email2&lt;br /&gt;
|-&lt;br /&gt;
| --email3 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Email3&lt;br /&gt;
|-&lt;br /&gt;
| --employeetype &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|EmployeeType&lt;br /&gt;
|-&lt;br /&gt;
| --fax_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Fax_business&lt;br /&gt;
|-&lt;br /&gt;
| --fax_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Fax_home&lt;br /&gt;
|-&lt;br /&gt;
| --fax_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Fax_other&lt;br /&gt;
|-&lt;br /&gt;
| --imapserver &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|ImapServer&lt;br /&gt;
|-&lt;br /&gt;
| --imaplogin &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|ImapLogin&lt;br /&gt;
|-&lt;br /&gt;
| --smtpserver &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|SmtpServer&lt;br /&gt;
|-&lt;br /&gt;
| --instant_messenger1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Instant_messenger1&lt;br /&gt;
|-&lt;br /&gt;
| --instant_messenger2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Instant_messenger2&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_ip &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_ip&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_isdn &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_isdn&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_drafts_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_drafts_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_sent_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_sent_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_spam_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_spam_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_trash_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_trash_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_archive_full_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_archive_full_name&lt;br /&gt;
|-&lt;br /&gt;
| --manager_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Manager_name&lt;br /&gt;
|-&lt;br /&gt;
| --marital_status &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Marital_status&lt;br /&gt;
|-&lt;br /&gt;
| --cellular_telephone1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Cellular_telephone1&lt;br /&gt;
|-&lt;br /&gt;
| --cellular_telephone2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Cellular_telephone2&lt;br /&gt;
|-&lt;br /&gt;
| --info &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Info&lt;br /&gt;
|-&lt;br /&gt;
| --nickname &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Nickname&lt;br /&gt;
|-&lt;br /&gt;
| --number_of_children &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Number_of_children&lt;br /&gt;
|-&lt;br /&gt;
| --note &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Note&lt;br /&gt;
|-&lt;br /&gt;
| --number_of_employee &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Number_of_employee&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_pager &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_pager&lt;br /&gt;
|-&lt;br /&gt;
| --password_expired &amp;amp;lt;booleanvalue&amp;amp;gt;&lt;br /&gt;
|Password_expired&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_assistant &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_assistant&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_business1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_business1&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_business2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_business2&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_car &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_car&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_company &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_company&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_home1 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_home1&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_home2 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_home2&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_other&lt;br /&gt;
|-&lt;br /&gt;
| --postal_code_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Postal_code_home&lt;br /&gt;
|-&lt;br /&gt;
| --profession &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Profession&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_radio &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_radio&lt;br /&gt;
|-&lt;br /&gt;
| --room_number &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Room_number&lt;br /&gt;
|-&lt;br /&gt;
| --sales_volume &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Sales_volume&lt;br /&gt;
|-&lt;br /&gt;
| --city_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|City_other&lt;br /&gt;
|-&lt;br /&gt;
| --country_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Country_other&lt;br /&gt;
|-&lt;br /&gt;
| --middle_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Middle_name&lt;br /&gt;
|-&lt;br /&gt;
| --postal_code_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Postal_code_other&lt;br /&gt;
|-&lt;br /&gt;
| --state_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|State_other&lt;br /&gt;
|-&lt;br /&gt;
| --street_other &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Street_other&lt;br /&gt;
|-&lt;br /&gt;
| --spouse_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Spouse_name&lt;br /&gt;
|-&lt;br /&gt;
| --state_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|State_home&lt;br /&gt;
|-&lt;br /&gt;
| --street_home &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Street_home&lt;br /&gt;
|-&lt;br /&gt;
| --suffix &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Suffix&lt;br /&gt;
|-&lt;br /&gt;
| --tax_id &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Tax_id&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_telex &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_telex&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_ttytdd &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_ttytdd&lt;br /&gt;
|-&lt;br /&gt;
| --url &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Url&lt;br /&gt;
|-&lt;br /&gt;
| --userfield01 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield01&lt;br /&gt;
|-&lt;br /&gt;
| --userfield02 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield02&lt;br /&gt;
|-&lt;br /&gt;
| --userfield03 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield03&lt;br /&gt;
|-&lt;br /&gt;
| --userfield04 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield04&lt;br /&gt;
|-&lt;br /&gt;
| --userfield05 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield05&lt;br /&gt;
|-&lt;br /&gt;
| --userfield06 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield06&lt;br /&gt;
|-&lt;br /&gt;
| --userfield07 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield07&lt;br /&gt;
|-&lt;br /&gt;
| --userfield08 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield08&lt;br /&gt;
|-&lt;br /&gt;
| --userfield09 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield09&lt;br /&gt;
|-&lt;br /&gt;
| --userfield10 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield10&lt;br /&gt;
|-&lt;br /&gt;
| --userfield11 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield11&lt;br /&gt;
|-&lt;br /&gt;
| --userfield12 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield12&lt;br /&gt;
|-&lt;br /&gt;
| --userfield13 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield13&lt;br /&gt;
|-&lt;br /&gt;
| --userfield14 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield14&lt;br /&gt;
|-&lt;br /&gt;
| --userfield15 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield15&lt;br /&gt;
|-&lt;br /&gt;
| --userfield16 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield16&lt;br /&gt;
|-&lt;br /&gt;
| --userfield17 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield17&lt;br /&gt;
|-&lt;br /&gt;
| --userfield18 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield18&lt;br /&gt;
|-&lt;br /&gt;
| --userfield19 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield19&lt;br /&gt;
|-&lt;br /&gt;
| --userfield20 &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Userfield20&lt;br /&gt;
|-&lt;br /&gt;
| --city_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|City_business&lt;br /&gt;
|-&lt;br /&gt;
| --country_business &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Country_business&lt;br /&gt;
|-&lt;br /&gt;
| --assistant_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Assistant_name&lt;br /&gt;
|-&lt;br /&gt;
| --telephone_primary &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Telephone_primary&lt;br /&gt;
|-&lt;br /&gt;
| --categories &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Categories&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_confirmed_ham_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_confirmed_ham_name&lt;br /&gt;
|-&lt;br /&gt;
| --mail_folder_confirmed_spam_name &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Mail_folder_confirmed_spam_name&lt;br /&gt;
|-&lt;br /&gt;
| --gui_spam_filter_capabilities_enabled &amp;amp;lt;booleanvalue&amp;amp;gt;&lt;br /&gt;
|GUI_Spam_filter_capabilities_enabled&lt;br /&gt;
|-&lt;br /&gt;
| --defaultsenderaddress&amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|DefaultSenderAddress&lt;br /&gt;
|-&lt;br /&gt;
| --title &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Title&lt;br /&gt;
|-&lt;br /&gt;
| --position &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Position&lt;br /&gt;
|-&lt;br /&gt;
| --access-calendar&lt;br /&gt;
&amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Calendar module (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-contacts &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Contact module access (Default is on)&lt;br /&gt;
|-&lt;br /&gt;
| --access-delegate-tasks &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Delegate tasks access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-public-folder &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit public folder access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-ical &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Ical module access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-infostore &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Infostore module access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-read-create-shared-Folders &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Read create shared folder access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-syncml &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Syncml access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-active-sync &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Exchange Active Sync access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-usm &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Universal Sync Module access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-tasks &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Tasks access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-vcard &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Vcard access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-webdav &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Webdav access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-webmail &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Webmail access (Default is on)&lt;br /&gt;
|-&lt;br /&gt;
| --access-publication &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Publication permission (Default is on). Note: access-publication needs access-infostore and is optional for Groupware+ and premium&lt;br /&gt;
|-&lt;br /&gt;
| --access-subscription &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Subscription permission (Default is on)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-group &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit group access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-resource &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit resource access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-edit-password &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit password access (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-collect-email-addresses &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Edit collect email addresses (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-multiple-mail-accounts &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Use multiple mail account feature (Default is off)&lt;br /&gt;
|-&lt;br /&gt;
| --access-global-address-book-disabled &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Access to global address book (Default is off). Note: Setting this option to true is only allowed in combination with PIM and Webmail rights. Note: There is a 'restoregaddefaults' script to restore the default permissions of the global address book folder. &lt;br /&gt;
|-&lt;br /&gt;
| --access--voipnow &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Access to VoiceOverIP feature.&lt;br /&gt;
|-&lt;br /&gt;
| --access-public-folder-editable &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
|Access to public folders. Allows or denies to see public folders. &lt;br /&gt;
|-&lt;br /&gt;
| --foldertree &amp;amp;lt;0/1&amp;amp;gt;&lt;br /&gt;
|0 sets the OX standard folder tree and 1 sets the Outlook-like folder tree. &lt;br /&gt;
|-&lt;br /&gt;
| --access-olox20 &amp;amp;lt;on/off&amp;amp;gt;&lt;br /&gt;
| Access to Olox2.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Access changes for existing users ===&lt;br /&gt;
&lt;br /&gt;
Changes to module access must be done for all users in a given context. On downgrade i. e., to revoke former given access, the data for objects will still be present in the database and on the filestore but is not visible to the customer any more. Please note that only the specified modules are changed. That is why it is required to explicitly turn modules off. A list of packages and the required module configuration is provided in [[the section called “Package access configuration”]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extra parameters when authentication is enabled ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|-A,--adminuser &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin user name&lt;br /&gt;
|-&lt;br /&gt;
|-P,--adminpass &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
|Context Admin password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Return value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; on success&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt;0&amp;lt;/code&amp;gt; on failure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mandatory parameters ===&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;contextid {adminuser adminpass} (userid or username) and at minimum one attribute to change&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
primaryMail, Email1 and defaultSenderAddress must be present in set of aliases i. e., whenever you want to change one of&lt;br /&gt;
* --email&lt;br /&gt;
* --email1&lt;br /&gt;
* --defaultsenderaddress&lt;br /&gt;
you MUST take care, that the address you want to set is already contained in the aliases of the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So when user has aliases: foo, bar and you want to change email to anotheraddr, you&lt;br /&gt;
must add anotheraddr to the aliases, first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If needed, this can be done with one commandline call, e.g.:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;/changeuser -A oxadmin -P secret -c 666 -i 4 -e&lt;br /&gt;
anotheraddr -a foo,bar,anotheraddr&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
On success:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user &amp;amp;lt;userid&amp;amp;gt; in &amp;amp;lt;contextid&amp;amp;gt; changed&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On failure:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user&lt;br /&gt;
&amp;amp;lt;userid&amp;amp;gt; in &amp;amp;lt;contextid&amp;amp;gt; could not be changed: &amp;amp;lt;reason from server&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;root@oxhe~#&amp;lt;/code&amp;gt;'''&amp;lt;code&amp;gt; changeuser -c 123 -i 3 -p newpwd&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user 3 in context 123 changed&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Administrator]]&lt;br /&gt;
&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: AdminGuide]]&lt;br /&gt;
[[Category: CommandLineTools]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Configuration_properties_7.6.1&amp;diff=23480</id>
		<title>AppSuite:Configuration properties 7.6.1</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Configuration_properties_7.6.1&amp;diff=23480"/>
		<updated>2017-06-13T10:14:57Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: Undo revision 23479 by Ioannis.chouklis (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Version|7.6.1}}&lt;br /&gt;
This is an overview of all configuration parameters for the AppSuite backend. By default, this list is sorted by the .properties files they appear in.&lt;br /&gt;
Yet for most parameters, it does not really matter in which file are found. This does not apply to some core configuration files which are explicitly loaded by name. For these, you cannot re-define the value in another file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;AdminUser.properties, filestorage.properties, Group.properties, mailfilter.properties, ModuleAccessDefinitions.properties, recaptcha.properties, recaptcha_options.properties, Resource.properties, RMI.properties, Sql.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; style=&amp;quot;table-layout: fixed&amp;quot; class='wikitable sortable properties-table' border='1'&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;30%&amp;quot; class=&amp;quot;key&amp;quot; | Key&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;20%&amp;quot; class=&amp;quot;value&amp;quot;| Default value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;35%&amp;quot; class=&amp;quot;comment&amp;quot;| Comment&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; class=&amp;quot;location&amp;quot;| File&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXUserMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;GROUP_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXGroupMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RESOURCE_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXResourceMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONCURRENT_JOBS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;how many jobs should be executed concurrently &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MASTER_AUTHENTICATION_DISABLED&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Disabling authentication for system calls like context/server etc. creation! ONLY USE THIS SWITCH IF YOU EXACTLY KNOW WHAT YOU DO!!! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXT_AUTHENTICATION_DISABLED&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Disabling authentication for context calls like user/group etc. creation! This also disables authentication for calls which a &amp;amp;quot;normal&amp;amp;quot; user can make like change his own data or get his own data! ONLY USE THIS SWITCH IF YOU EXACTLY KNOW WHAT YOU DO!!! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_USER_UID_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[$@%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elementy wys\u0142ane&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Kosz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:103&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Szkice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:104&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:105&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potwierdzony spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:106&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potwierdzony nie-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:107&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta inviata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:111&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cestino&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:112&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bozze&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:113&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta Indesiderata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:114&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta indesiderata accertata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta attendibile accertata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:116&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5df2\u53d1\u9001\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:120&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5783\u573e\u7b52&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:121&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u8349\u7a3f&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:122&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5783\u573e\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:123&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5df2\u786e\u8ba4\u7684\u5783\u573e\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:124&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5df2\u786e\u8ba4\u7684\u6b63\u5e38\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:125&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Odeslan\u00e9 polo\u017eky&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:129&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTO_TO_LOWERCASE_UID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will lowercase the uid &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Ko\u0161&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:130&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Koncepty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:131&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:132&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrzen\u00fd spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:133&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrzen\u00e1 norm\u00e1ln\u00ed po\u0161ta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:134&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elk\u00fcld\u00f6tt elemek&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:138&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;T\u00f6r\u00f6lt elemek&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:139&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Piszkozatok&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Lev\u00e9lszem\u00e9t&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:141&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elfogadott k\u00e9retlen&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:142&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elfogadott \u00e1l-k\u00e9retlen&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:143&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Odoslan\u00e9 polo\u017eky&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:147&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;K\u00f4\u0161&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:148&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Rozp\u00edsan\u00e9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:149&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:150&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrden\u00fd spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:151&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrden\u00e9 ako nie spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:152&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nos\u016Bt\u012Bt\u0101s vien\u012Bbas&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:156&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Atkritumi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:157&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Melnraksti&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:158&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;M\u0113stules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:159&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Apstiprin\u0101ta &amp;amp;quot;m\u0113stule&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:160&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Apstiprin\u0101ts &amp;amp;quot;ham&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:161&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USERNAME_CHANGEABLE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING: Changing the username might have impact on external systems like imap server that allows acls to be set. Imap ACLS usually use symbolic names so when changing the user name without changing the ACL breaks the ACL. open-xchange-admin will NOT change those ACLS, so DO NOT CHANGE THIS SETTING ON OX Express &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PRIMARY_MAIL_UNCHANGEABLE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Here you can set whether the primary mail address can be changed or not. If set to false, it is possible to change the primary mail address. Only change, if you know what you are doing (Outlook might not work anymore under certain circumstances) Default is: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFAULT_PASSWORD_MECHANISM&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SHA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;specify the default password mechanism to use possible values: CRYPT / SHA / BCRYPT &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Gesendete Objekte&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;default mail folder fallback if not sent by rmi client: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Papierkorb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Entw\u00fcrfe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SentMail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Trash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Drafts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sent Items&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Trash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Drafts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:50&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Objets envoy\u00e9s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Corbeille&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:58&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Brouillons&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:59&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UID_NUMBER_START&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set to &amp;amp;gt; 0 to use the uidnumber feature &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Pourriel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pourriel-confirme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;non-pourriel-confirme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:62&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Verzonden items&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Prullenbak&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:67&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Concepten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:68&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bevestigde spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:70&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bevestigde ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:71&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Skickat&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Papperskorgen&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:76&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Utkast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:77&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Skr\u00E4ppost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:78&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bekr\u00E4ftad-skr\u00E4ppost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:79&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;felaktigt-bekr\u00E4ftad-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:80&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elementos enviados&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Papelera&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:85&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Borradores&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:86&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Correo no deseado&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:87&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;correo basura confirmado&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:88&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;correo leg\u00EDtimo confirmado&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:89&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_USER_UID_FOR_NOT_ALLOWED_CHARS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will check the user name using the check below &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u9001\u4FE1\u6E08\u30A2\u30A4\u30C6\u30E0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:93&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u524A\u9664\u6E08\u307F\u30A2\u30A4\u30C6\u30E0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:94&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u4E0B\u66F8\u304D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:95&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u8FF7\u60D1\u30E1\u30FC\u30EB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:96&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u8FF7\u60D1\u30E1\u30FC\u30EB\uFF08\u78BA\u8A8D\u6E08\uFF09&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:97&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u4E00\u822C\u30E1\u30FC\u30EB\uFF08\u78BA\u8A8D\u6E08\uFF09&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:98&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;verbosity&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;verbosity: The level of messages for status/debug (messages go to standard output). The setting here is for your own local catalogs. The verbosity of Forrest&amp;amp;#39;s core catalogs is controlled via main/webapp/WEB-INF/cocoon.xconf  The following messages are provided ... 0 = none 1 = ? (... not sure yet) 2 = 1+, Loading catalog, Resolved public, Resolved system 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem 10 = 3+, List all catalog entries when loading a catalog (Cocoon also logs the &amp;amp;quot;Resolved public&amp;amp;quot; messages.) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| CatalogManager.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;catalogs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;../resources/schema/catalog.xcat&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;catalogs ... list of additional catalogs to load (Note that Apache Forrest will automatically load its own default catalog from main/webapp/resources/schema/catalog.xcat) Use either full pathnames or relative pathnames. pathname separator is always semi-colon (;) regardless of operating system directory separator is always slash (/) regardless of operating system &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| CatalogManager.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;relative-catalogs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;no&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;relative-catalogs If false, relative catalog URIs are made absolute with respect to the base URI of the CatalogManager.properties file. This setting only applies to catalog URIs obtained from the catalogs property in the CatalogManager.properties file Example: relative-catalogs=[yes|no] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| CatalogManager.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;GID_NUMBER_START&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set to higher than 0 to enable gid number feature &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_GROUP_UID_FOR_NOT_ALLOWED_CHARS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will check the group name using the check below &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_GROUP_UID_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[ $@%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTO_TO_LOWERCASE_UID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will lowercase the uid &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this are the deprecated definitions of module access combinations. please use the newly defined sets. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail,calendar,tasks&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail,calendar,delegatetask,tasks,editpublicfolders,infostore,publicfoldereditable,readcreatesharedfolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;premium&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail,calendar,delegatetask,tasks,editpublicfolders,infostore,publicfoldereditable,readcreatesharedfolders,ical,vcard,webdav,webdavxml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;calendar,contacts,delegatetask,editpublicfolders,ical,infostore,publicfoldereditable,readcreatesharedfolders,tasks,vcard,webdav,webdavxml,webmail,editresource,editgroup,editpassword,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PLEASE Update accordingly when UPDATING &amp;amp;quot;all&amp;amp;quot; level! Includes all modules except mobility, &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,contacts,globaladdressbookdisabled,collectemailaddresses,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:50&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,tasks,globaladdressbookdisabled,collectemailaddresses,multiplemailaccounts,subscription,publication,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim_infostore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,tasks,infostore,webdav,globaladdressbookdisabled,collectemailaddresses,multiplemailaccounts,subscription,publication,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim_mobility&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,tasks,syncml,usm,activesync,globaladdressbookdisabled,collectemailaddresses,multiplemailaccounts,subscription,publication,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware_standard&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,infostore,tasks,webdav,ical,vcard,readcreatesharedfolders,delegatetask,editpublicfolders,editgroup,editresource,editpassword,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Groupware Standard always gets new features except mobility and OXtender. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware_premium&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,infostore,tasks,webdav,webdavxml,ical,vcard,syncml,usm,olox20,activesync,readcreatesharedfolders,delegatetask,editpublicfolders,editgroup,editresource,editpassword,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;all&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,infostore,tasks,webdav,webdavxml,ical,vcard,syncml,usm,olox20,activesync,readcreatesharedfolders,delegatetask,editpublicfolders,editgroup,editresource,editpassword,publicfoldereditable,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;By default &amp;amp;#39;all&amp;amp;#39; is the same as &amp;amp;#39;groupware_premium&amp;amp;#39;, except the right &amp;amp;#39;publicfoldereditable&amp;amp;#39;. As this right only applies to context administrators, &amp;amp;#39;all&amp;amp;#39; is internally equivalent to &amp;amp;#39;groupware_premium&amp;amp;#39; for normal users. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:59&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_RES_UID_FOR_NOT_ALLOWED_CHARS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will check the resource name using the check below &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Resource.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_RES_UID_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[ $@%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Resource.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTO_TO_LOWERCASE_UID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will lowercase the uid &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Resource.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SERVLET_POOL_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;initial number of instances held in memory for each available single threaded servlet (single threaded servlets are deprecated and are not used by the open-xchange server) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_SERVER_THREAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of AJP server threads which create a client socket on an incoming request. This is the number of threads processing new opened AJP sockets. AJP sockets are kept alive by default therefore only one thread is recommended &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_LISTENER_POOL_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP listener pool size number of initially created AJP listeners for processing incoming AJP requests This pool does grow dynamically but does not go below. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_LISTENER_READ_TIMEOUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The amount of time in milliseconds a listener is going to wait (or block) while waiting to read the initial bytes from web server from input stream 0 stands for unlimited and should not be changed because if the server does close connections here the sticky sessions would break. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_KEEP_ALIVE_TIME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFINE THE AJP KEEP-ALIVE TIME. IF An INCOMIN REQUEST&amp;amp;#39;S PROCESSING TIME EXCEEDS THIS VALUE, A KEEP-ALIVE IS FLUSHED TO WEB SERVER TO AVOID POSSIBLE TIMEOUTS ON SOCKET CONNECTION. A VALUE OF ZERO OR LESS DISABLES KEEP-ALIVE HEART BEAT &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_SERVLET_CONFIG_DIR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; null&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFINE THE DIRECTORY PATH THAT CARRIES SERVLETS&amp;amp;#39; CONFIGURATION PROPERTIES. THE PROPERTIES DEFINED FOR A SERVLET CONSIST OF THREE PARTS: 1. THE GLOBAL PROPERTIES DIRECTLY LOCATED IN DIRECTORY PATH SPECIFIED BY THIS PROPERTY. THESE PROPERTIES APPLY TO ALL SERVLET INSTANCES 2. THE PATH-SPECIFIC PROPERTIES DEFINED IN A SUBDIRECTORY EQUAL TO SERVLET&amp;amp;#39;S PATH 3. THE CLASS-SPECIFIC PROPERTIES DEFINED IN A FILE WHOSE NAMING IS EQUAL TO SERVLET CLASS&amp;amp;#39; CANONICAL NAME WITH THE COMMON &amp;amp;quot;.properties&amp;amp;quot; PROPERTY FILE EXTENSION IF THIS VALUE IS LEFT TO &amp;amp;quot;null&amp;amp;quot; THIS PROPERTY FALLS BACK TO DEFAULT PATH: &amp;amp;quot;/opt/open-xchange/etc/servletConfig&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_LOG_FORWARD_REQUEST&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; FALSE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Logs corresponding AJP forward request if an unexpected empty body request is detected &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_BACKLOG&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the backlog for opened AJP server socket Default is zero; meaning using JVM&amp;amp;#39;s default backlog setting &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;basedir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;build&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;base directory for the build scripts &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ant.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;io.ox/core//theme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| appsuite.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;io.ox/core/settingOptions//themes/default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Default Theme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| appsuite.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.get_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.IdListTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Translator configuration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;get_request.id_field &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; uuid&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.all_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.AllTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.custom &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.attachments.translators.CustomTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;field.param6 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; id&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Field configuration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.simple &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; simpleSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Handler configuration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.custom &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; customSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.get_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; getSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.all_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; allSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.persons_and_topics &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; personsAndTopics&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10485760&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the sum of all uploaded files (for contacts, appointments or tasks) in one request is larger than this value, the upload will be rejected. If this value is not set or 0, the more general MAX_UPLOAD_SIZE configured in server.properties will be used. If that value is also 0 or not set, uploads will be unrestricted. The size is in Bytes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.FileAccessLogging.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set to true to enable logging of file accesses and downloads &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.pattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange/audit.log&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.limit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2097152&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.count&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;99&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.formatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.SimpleFormatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.append&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_HOST&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_BASE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;dc=example,dc=org&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_PORT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;389&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_SEARCH&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;(&amp;amp;amp;(objectClass=oxdbObject)(uid=@USER@))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;search query to get the users ldap dn ,@USER@ will be replaced by the username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_ATTRIBUTE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mailPrimaryAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;which attribute should be parsed for the email adress (context=domainpart) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USE_POOL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTOCID_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.autocontextid.storage.mysqlStorage.OXAutoCIDMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| autocid.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.autoconfig.path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/ispdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Path to the local configuration files for mail domains. See https://developer.mozilla.org/en/Thunderbird/Autoconfiguration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| autoconfig.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.autoconfig.ispdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://live.mozillamessaging.com/autoconfig/v1.1/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The ISPDB is a central database, currently hosted by Mozilla Messaging, but free to use for any client. It contains settings for the world&amp;amp;#39;s largest ISPs. We hope that the database will soon have enough information to autoconfigure approximately 50% of our user&amp;amp;#39;s email accounts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| autoconfig.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.blackwhitelist/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property enables the Black-/Whitelist GUI-Plugin &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| blackwhitelist_gui.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LTCP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;It&amp;amp;#39;s important that cache entries don&amp;amp;#39;t get invalidated, since the cache may not be deterministic for LDAP contacts. Therefore, the properties &amp;amp;#39;MaxMemoryIdleTimeSeconds&amp;amp;#39;, &amp;amp;#39;MaxLifeSeconds&amp;amp;#39; and &amp;amp;#39;IdleTime&amp;amp;#39; should be set to &amp;amp;#39;-1&amp;amp;#39;, while &amp;amp;#39;MaxObjects&amp;amp;#39; should be configured large enough to hold all contacts from the directory. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.jcs.engine.CompositeCacheAttributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MaxObjects&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MemoryCacheName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.jcs.engine.memory.lru.LRUMemoryCache&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.UseMemoryShrinker&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MaxMemoryIdleTimeSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.ShrinkerIntervalSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MaxSpoolPerRun&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.jcs.engine.ElementAttributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsEternal&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.MaxLifeSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsSpool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsRemote&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsLateral&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caching.jcs.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether JCS-based caching should be enabled Default is &amp;amp;quot;true&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caching.jcs.eventInvalidation&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures how remote cache invalidation is done. Set to &amp;amp;#39;true&amp;amp;#39; for cache events via the cache event messaging service, or to &amp;amp;#39;false&amp;amp;#39; to stick with the JCS-internal lateral auxiliary cache configuration. Defaults to &amp;amp;#39;true&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.interval.start&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;one_month&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Appointments and tasks are available via the CalDAV interface if they fall into a configurable timeframe. This value specifies the start time of this interval, i.e. how far past appointments should be considered. More formal, this value defines the negative offset relative to the current date representing the minimum end time of appointments to be synchronized. Possible values are &amp;amp;quot;one_month&amp;amp;quot; (default), &amp;amp;quot;one_year&amp;amp;quot; and &amp;amp;quot;six_months&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether CalDAV is enabled or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.interval.end&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;one_year&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Appointments and tasks are available via the CalDAV interface if they fall into a configurable timeframe. This value specifies the end time of this interval, i.e. how far future appointments should be considered. More formal, this value defines the positive offset relative to the current date representing the maximum start time of appointments to be synchronized. Possible values are &amp;amp;quot;one_year&amp;amp;quot; (default) and &amp;amp;quot;two_years&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://[hostname]/caldav/[folderId]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Tells users where to find a caldav folder. This can be displayed in frontends. You can use the variables [hostname] and [folderId] If you chose to deploy caldav as a virtual host (say &amp;amp;#39;dav.open-xchange.com&amp;amp;#39;) use https://dav.open-xchange.com/caldav/[folderId] as the value If you are using user-agent sniffing use https://[hostname]/caldav/[folderId] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.tree&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the ID of the folder tree used by the CalDAV interface &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_dayview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_monthview_list.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_monthview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_weekview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_workweekview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.tree&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the ID of the folder tree used by the CardDAV interface &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether CardDAV is enabled or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.exposedCollections&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Controls which collections are exposed via the CardDAV interface. Possible values are &amp;amp;#39;0&amp;amp;#39;, &amp;amp;#39;1&amp;amp;#39; and &amp;amp;#39;2&amp;amp;#39;. A value of &amp;amp;#39;1&amp;amp;#39; makes each visible folder available as a resource collection, while &amp;amp;#39;2&amp;amp;#39; only exposes an aggregated collection containing  all contact resources from all visible folders. The default value &amp;amp;#39;0&amp;amp;#39; exposes either an aggregated collection or individual collections for each folder, depending on the client&amp;amp;#39;s user-agent that is matched against the pattern in &amp;amp;#39;userAgentForAggregatedCollection&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.userAgentForAggregatedCollection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.*CFNetwork.*Darwin.*|.*AddressBook.*CardDAVPlugin.*Mac_OS_X.*|.*Mac OS X.*AddressBook.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Regular expression to match against the client&amp;amp;#39;s user-agent to decide whether the aggregated collection is exposed or not. The default pattern matches all known varieties of the Mac OS Addressbook client, that doesn&amp;amp;#39;t support multiple collections. Only used if &amp;amp;#39;exposedCollections&amp;amp;#39; is set to &amp;amp;#39;0&amp;amp;#39;. The pattern is used case insensitive. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.reducedAggregatedCollection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies if all visible folders are used to create the aggregated collection, or if a reduced set of folders only containing the global addressbook and the personal contacts folders should be used. This setting only influences the aggregated collection that is used for clients that don&amp;amp;#39;t support multiple collections. Possible values are &amp;amp;#39;true&amp;amp;#39; and &amp;amp;#39;false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.ignoreFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A comma-separated list of folder IDs to exclude from the synchronization. Use this to disable syncing of very large folders (e.g. the global address list in large contexts, which always has ID 6). By default, no folders are excluded. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.script.shellscript&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/bin/changepwd.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Script which updates the users passwd Must be executable (+x) and correct interpreter set (#!/bin/bash)  Following values are passed by the servlet to the script:  1. --cid - Context ID 2. --username - Username of the logged in user 3. --userid - User ID of the logged in user 4. --oldpassword - Old user password 5. --newpassword - New user password  see http://oxpedia.org/wiki/index.php?title=ChangePasswordExternal for some examples  If script does not exit with status code 0 , an io-error is shown in the GUI.  the following exit codes will display a defined error:  1: Cannot change password &amp;amp;lt; %s &amp;amp;gt;, see logfiles for details. 2: New password is too short 3: New password is too weak 4: Cannot find user 5: LDAP error  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| change_pwd_script.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.database.replicationMonitor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property allows to disable the replication monitor. This option is only useful if you have a MySQL master and slave setup. If the application code releases a connection to the MySQL master, a writing operation on the database is assumed. To be able to monitor the replication to the slave, a counter is increased after releasing the connection. Reading this counter from the slave indicates, the write operation is not replicated yet and instead of a slave connection a master connection is then used to read data. This prevents data reading inconsistencies. Unfortunately will this produce additional IO load on MySQL master and slave. This mechanism can be disabled with the following property. This saves IO load but it may cause data inconsistencies. Especially newly created objects can disappear in the following refresh requests. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.database.checkWriteCons&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If com.openexchange.database.checkWriteCons is set to true, a warning will be logged every time when a writable connection is used to perform only SELECT queries. Default is &amp;amp;#39;false&amp;amp;#39; to avoid flooding of log files. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:106&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user=openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;username for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password=secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useUnicode=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The driver properties should be kept at their defaults. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;characterEncoding=UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;autoReconnect=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useServerPrepStmts=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.7&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useTimezone=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serverTimezone=UTC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;connectTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;socketTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeDriverClass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;the write connection must point to the database master &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeUrl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jdbc:mysql://localhost/configdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeURL holds the database host and the used schema name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user=openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;username for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password=secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useUnicode=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The driver properties should be kept at their defaults &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;characterEncoding=UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;autoReconnect=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useServerPrepStmts=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.7&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useTimezone=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serverTimezone=UTC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;connectTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;socketTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cleanerInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Timeinterval of cleaner thread in milliseconds. This thread removes idle timed out database connections and removes not used database connection pools. after each cleanerInterval. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxIdle&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of maximum idle connections. More connections aren&amp;amp;#39;t pooled and closed. -1 stands for unlimited. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:54&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxIdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum time in milliseconds a connection can be idle. If this time is exceeded, the connection gets closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:58&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxActive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If exhaustedAction is set to BLOCK, not more than maxActive connections will be opened to the mysql database. This value is overwritten for OX databases from configdb. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:63&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxWait&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If exhaustedAction is set to BLOCK, a thread will not wait for more than maxWait milliseconds. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:67&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readDriverClass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;the read connection must point to the database slave &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxLifeTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum time in milliseconds a connection will be used. After this time the connection get closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:71&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;exhaustedAction&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;BLOCK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;BLOCK: If maxActive number of connections is reached threads have to wait for a connection. FAIL: If maxActive number of connections is reached an exception is thrown. GROW: Open more connections even if maxActive is already reached. This value is overwritten for OX databases from configdb. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:77&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testOnActivate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Validate connections if they are activated. This is not necessary because the activation already includes a check if the connection isn&amp;amp;#39;t closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:81&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testOnDeactivate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Check if connections can be reused after they are returned to the pool. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testOnIdle&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Not useful for connections. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:87&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readUrl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jdbc:mysql://localhost/configdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readURL holds the database host and the used schema name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testThreads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if testThreads is set to true, more information is logged to the Open-Xchange log files about database connections.  If this option is enabled the performance may degrade dramatically. The JVM has to generate then a lot of method call stack dumps. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:93&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;URL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://localhost/?cid=%c&amp;amp;amp;login=%u&amp;amp;amp;pass=%p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;URL to the config interface. %c is replaced with context login information. %u is replaced with user login information. %p is replaced with user password. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configjump.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;validate_contact_email&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Check the entered email address from a new contact for correctness (syntactic check user@domain.tld) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;max_image_size&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4194304&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum size in bytes for the upload of contact images. Remember: If you decrease the size after some images where uploaded already, you might trigger errors, for example when trying to modify the contact without adding an image of the correct size. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contact.mailAddressAutoSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Determines if a search is triggered if the dialog for searching for emailable contacts is opened. This dialog is used for selecting recipients for an email and for creating distribution lists. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contact.singleFolderSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Searching for contacts can be done in a single folder or globally across all folders. Searching across all folders can cause high server and database load because first all visible folders must be determined and if a user has object read permissions in that folders. Software internal default is true to prevent high load if the property is not defined. Default here is false because it is easier for the user to find contacts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contacts.characterSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables/Disables the start letter based quick select of contacts &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contacts.allFoldersForAutoComplete&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The auto complete search for email addresses may be triggered easily and quite often if a new email is written and a part of a recipients address is written. This can lead to high load on the database system if a context has a lot of users and a lot of contacts. Therefore the scope if this search can be configured. Set this parameter to true and the auto complete search looks in every readable contact folder for contacts with emails addresses matching the already typed letters. If this parameter is configured to false, only three folders are considered for the search: the users private default contact folder, his contact folder for collected contacts and the global address book if that is enabled for the user. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contact.scaleVCardImages&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;200x200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the maximum image dimension to use when serializing contacts to vCards in the format [max_width]x[max_height]. Larger images will be resized dynamically to fit the specified rectangular area. If left empty, images are not resized at all and serialized as-is. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contact_first_letter_field&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;field02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;First Letter Field, the field you sort in when you hit one of the start letters field02 Last name field03 First name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contactcollector.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether enabled or disabled regardless of bundle start-up Enabled by default (provided that bundle is installed and properly started) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contactcollector.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contactcollector.folder.deleteDenied&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether deletion of contact collector folder will be denied &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contactcollector.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXT_RESTORE_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.contextrestore.storage.mysqlStorage.OXContextRestoreMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the storage implementation here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contextrestore.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/themes/default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cool Water (Default)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property defines the default theme of the AJAX GUI. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cool-water-theme.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.google.calendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.t-online.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.gmx.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.msn.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncontacts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncalendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suntasks&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.yahoocom&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.googlemail.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;As an enhancement to the subscription module, we allow to configure that subscriptions should run automatically on login if a certain time interval between the last refresh run has elapsed (defaults to 1 day). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.webde.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.google.calendar.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.gmx.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.t-online.de.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.gmx.de.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.msn.de.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncontacts.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncalendar.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suntasks.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;crawlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Points to the directory containing the workflow definitions of crawlers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.googlemail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable / Disable individual crawlers (true / false) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.web.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.groupware.dataRetrieval.lifetime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Lifetime of a token in milliseconds. If this value is not set or negative the token only expires at the end of the session. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataRetrieval.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.groupware.dataRetrieval.onetime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the token expires after the first access or not. Defaults to true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataRetrieval.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.sourceID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX_mail_01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The string identifying the data source; e.g. &amp;amp;quot;OX_mail_01&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.location&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DE/Olpe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The location of the system generating the retention data &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.timeZone&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;GMT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The time zone of the location &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.dir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The directory where the CSV file is held &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.rotateLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the max. output resource&amp;amp;#39;s length (in bytes) before it gets rotated. This option is only useful for implementations which output data to a file or to any limited resource. This value should have a reasonable size since multiple write accesses may occur at same time. Therefore small sizes (&amp;amp;lt;= 200KB) cannot be guaranteed being obeyed. Moreover it is only an approximate limit which can vary about 8KB. A value less than or equal to zero means no rotation. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.versionNumber&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The format version appended to each record type; e.g &amp;amp;quot;H1&amp;amp;quot; meaning &amp;amp;quot;Header version 1&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.clientID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The string identifying the tenant; e.g &amp;amp;quot;Open-Xchange&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.defaultspamhandler.createConfirmedHam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Indicates whether to create the confirmed-ham folder during check for default mail folders # during login if spam is enabled for logged-in user. # Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| defaultspamhandler.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.defaultspamhandler.unsubscribeSpamFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Indicates whether the confirmed-spam/confirmed-ham folders shall automatically be unsubscribed during login. # Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| defaultspamhandler.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.defaultspamhandler.createConfirmedSpam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Indicates whether to create the confirmed-spam folder during check for default mail folders # during login if spam is enabled for logged-in user. # Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| defaultspamhandler.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.capability.drive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables the &amp;amp;quot;drive&amp;amp;quot; module capability globally. The capability can also be set more fine-grained via config cascade. Per default it is only enabled for users that have the &amp;amp;quot;infostore&amp;amp;quot; permission set. This is configured in /opt/open-xchange/etc/contextSets/drive.yml. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.directLinkHelp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[protocol]://[hostname]/[uiwebpath]/help-drive/l10n/[locale]/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the pattern for a direct link to the online help. This serves as target for the &amp;amp;quot;Help&amp;amp;quot; section in the client applications. Text in brackets is replaced dynamically during link generation in the backend, however, it&amp;amp;#39;s still possible to overwrite them here with a static value, or even define an arbitrary URL here. [protocol] is replaced automatically with the protocol used by the client (typically &amp;amp;quot;http&amp;amp;quot; or &amp;amp;quot;https&amp;amp;quot;). [hostname] should be replaced with the server&amp;amp;#39;s canonical host name (if not, the server tries to determine the hostname on it&amp;amp;#39;s own), [uiwebpath] is replaced with the value of &amp;amp;quot;com.openexchange.UIWebPath&amp;amp;quot; as defined in &amp;amp;quot;server.properties&amp;amp;quot;, while [dispatcherPrefix] is replaced with the value of &amp;amp;quot;com.openexchange.dispatcher.prefix&amp;amp;quot; (&amp;amp;quot;server.properties&amp;amp;quot;, too). [contextid], [userid] and [login] are replaced to reflect the values of the current user. Defaults to &amp;amp;quot;[protocol]://[hostname]/[uiwebpath]/help/[locale]/index.html&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:110&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables push event notifications to clients using the Apple Push Notification service (APNS) for iOS devices. This requires a valid configuration for the APNS certificate and keys, see either options below, or install the restricted components packages for drive. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:120&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.keystore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the path to the local keystore file (PKCS #12) containing the APNS certificate and keys for the iOS application, e.g. &amp;amp;quot;/opt/open-xchange/etc/drive-apns.p12&amp;amp;quot;. Required if &amp;amp;quot;com.openexchange.drive.events.apn.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the password used when creating the referenced keystore containing the certificate of the iOS application. Note that blank or null passwords are in violation of the PKCS #12 specifications. Required if &amp;amp;quot;com.openexchange.drive.events.apn.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:134&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.production&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates which APNS service is used when sending push notifications to iOS devices. A value of &amp;amp;quot;true&amp;amp;quot; will use the production service, a value of &amp;amp;quot;false&amp;amp;quot; the sandbox service. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:139&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.feedbackQueryInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the interval between queries to the APN feedback service for the subscribed iOS devices. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). Leaving this parameter empty disables the feedback queries on this node. Since each received feedback is processed cluster-wide, only one node in the cluster should be enabled here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:147&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.shortProductName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX Drive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Short product name as used in the version comment string inserted for drive uploads, e.g. &amp;amp;quot;Uploaded with OX Drive (Ottos Laptop)&amp;amp;quot;. Defaults to &amp;amp;quot;OX Drive&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables push event notifications to clients using the Apple Push Notification service (APNS) for Mac OS devices. This requires a valid configuration for the APNS certificate and keys, see either options below, or install the restricted components packages for drive. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:154&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.keystore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the path to the local keystore file (PKCS #12) containing the APNS certificate and keys for the Mac OS application, e.g. &amp;amp;quot;/opt/open-xchange/etc/drive-apns.p12&amp;amp;quot;. Required if &amp;amp;quot;com.openexchange.drive.events.apn.macos.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:161&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the password used when creating the referenced keystore containing the certificate of the Mac OS application. Note that blank or null passwords are in violation of the PKCS #12 specifications. Required if &amp;amp;quot;com.openexchange.drive.events.apn.macos.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:168&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.production&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates which APNS service is used when sending push notifications to Mac OS devices. A value of &amp;amp;quot;true&amp;amp;quot; will use the production service, a value of &amp;amp;quot;false&amp;amp;quot; the sandbox service. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:173&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.feedbackQueryInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the interval between queries to the APN feedback service for the subscribed Mac OS devices. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). Leaving this parameter empty disables the feedback queries on this node. Since each received feedback is processed cluster-wide, only one node in the cluster should be enabled here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:181&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.gcm.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables push event notifications to clients using the Google Cloud Messaging (GCM) service. This requires a valid configuration for the GCM API key, see options below. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:186&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.gcm.key&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the API key of the server application. Required if &amp;amp;quot;com.openexchange.drive.events.gcm.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:191&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.blockingLongPolling.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether blocking long polling for pushing synchronization events to clients may be used as fallback when no other long polling handlers are available due to missing support of the HTTP service. Handling long polling in a blocking manner consumes a server thread, and should therefore only be enabled for testing purposes. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:198&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.useTempFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether the synchronization logic will make use of a folder named &amp;amp;quot;.drive&amp;amp;quot; below the root synchronization folder or not. If enabled, this folder is used to store temporary uploads and removed files, which usually leads to a better user experience since previously synchronized files can be restored from there for example. If not, removed files are not kept, and uploads are performed directly in the target folder. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.cleaner.interval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the interval between runs of the cleaner process for the temporary &amp;amp;quot;.drive&amp;amp;quot; folder. A cleaner run is only initiated if the synchronization is idle, i.e. the last synchronization resulted in no actions to be performed, and the last run was before the configured interval. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.cleaner.maxAge&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the maximum age of files and directories to be kept inside the temporary &amp;amp;quot;.drive&amp;amp;quot; folder. Files or directories that were last modified before the configured age are deleted during the next run of the cleaner process. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.maxBandwidth&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows to limit the maximum used bandwidth for all downloads. If configured, downloads via the drive module handled by this backend node will not exceed the configured bandwidth. The available bandwidth is defined as the number of allowed bytes per second, where the byte value can be specified with one of the units &amp;amp;quot;B&amp;amp;quot; (bytes), &amp;amp;quot;kB&amp;amp;quot; (kilobyte), &amp;amp;quot;MB&amp;amp;quot; (Megabyte) or &amp;amp;quot;GB&amp;amp;quot; (Gigabyte), e.g. &amp;amp;quot;10 MB&amp;amp;quot;. Must fit into the &amp;amp;quot;Integer&amp;amp;quot; range, i.e. the configured number of bytes has to be be smaller than 2^31. Defaults to &amp;amp;quot;-1&amp;amp;quot; (no limitations). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.maxBandwidthPerClient&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows to limit the maximum used bandwidth for client downloads within the same session. If configured, downloads originating in the same session via the drive module handled by this backend node will not exceed the configured bandwidth. The available bandwidth is defined as the number of allowed bytes per second, where the byte value can be specified with one of the units &amp;amp;quot;B&amp;amp;quot; (bytes), &amp;amp;quot;kB&amp;amp;quot; (kilobyte), &amp;amp;quot;MB&amp;amp;quot; (Megabyte) or &amp;amp;quot;GB&amp;amp;quot; (Gigabyte), e.g. &amp;amp;quot;500 kB&amp;amp;quot;. Must fit into the &amp;amp;quot;Integer&amp;amp;quot; range, i.e. the configured number of bytes has to be be smaller than 2^31. Defaults to &amp;amp;quot;-1&amp;amp;quot; (no limitations). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.maxConcurrentSyncOperations&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the maximum allowed number of synchronization operations, i.e. all requests to the &amp;amp;quot;drive&amp;amp;quot; module apart from up- and downloads, that the server accepts concurrently. While the limit is reached, further synchronization requests are rejected in a HTTP 503 manner (service unavailable), and the client is instructed to try again at a later time. Defaults to &amp;amp;quot;-1&amp;amp;quot; (no limitations). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:74&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.directLinkQuota&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[protocol]://[hostname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the pattern for a direct link to manage a user&amp;amp;#39;s quota. Text in brackets is replaced dynamically during link generation in the backend, however, it&amp;amp;#39;s still possible to overwrite them here with a static value, or even define an arbitrary URL here. [protocol] is replaced automatically with the protocol used by the client (typically &amp;amp;quot;http&amp;amp;quot; or &amp;amp;quot;https&amp;amp;quot;). [hostname] should be replaced with the server&amp;amp;#39;s canonical host name (if not, the server tries to determine the hostname on it&amp;amp;#39;s own), [uiwebpath] is replaced with the value of &amp;amp;quot;com.openexchange.UIWebPath&amp;amp;quot; as defined in &amp;amp;quot;server.properties&amp;amp;quot;, while [dispatcherPrefix] is replaced with the value of &amp;amp;quot;com.openexchange.dispatcher.prefix&amp;amp;quot; (&amp;amp;quot;server.properties&amp;amp;quot;, too). [contextid], [userid] and [login] are replaced to reflect the values of the current user. Defaults to &amp;amp;quot;[protocol]://[hostname]&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:93&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PUT_YOUR_APP_SECRET_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropbox.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropbox.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PUT_YOUR_APP_KEY_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropbox.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropboxoauth.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropboxoauth.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropboxoauth.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.urlencoding&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the URL encoding which will be used to modify the given URL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.from&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the FROM address of the email which will be sent to the user when he has selected the email transport as provisioning method. Possible values are: 1. A valid eMail address (eg.: admin@example.com) 2. user (Then the from address will be the standard address from the user who sends the provisioning message) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_US.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange Mobility Provisioning&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the subject and the mailtext of the provisioning eMail which will be send to the user if he has chosen eMail as provisioning method. You can set a subject and text per language. If you want to add a new language code provide the following two configuration options: com.openexchange.mobile.configuration.mail.message.$languagecode_$LANDCODE.subject com.openexchange.mobile.configuration.mail.message.$languagecode_$LANDCODE.text &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_US.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_GB.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange Mobility Provisioning&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_GB.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.de_DE.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange Mobility-Provisionierung&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.de_DE.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bitte auf den folgenden Link klicken, um die Open-Xchange Mobility Provisionierungs-Applikation zu \u00F6ffnen: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.fr_FR.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Pr\u00E9paration de la mobilit\u00E9 Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.fr_FR.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Veuillez cliquer sur le lien suivant pour ouvrir l&amp;amp;#39;application de pr\u00E9paration de la mobilit\u00E9 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.nl_NL.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange-mobility-initialisatie&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.nl_NL.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Klik op de volgende link om de initialisatietoepasssing voor Open-Xchange-mobility te starten: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.es_ES.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configuraci\u00F3n m\u00F3vil de Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.es_ES.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Por favor, haga clic en el siguiente enlace para ejecutar la aplicaci\u00F3n de configuraci\u00F3n m\u00F3vil de Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.it_IT.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Fornitura in mobilit\u00E0 Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.it_IT.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Fai clic sul seguente collegamento per aprire l&amp;amp;#39;applicazione di fornitura in mobilit\u00E0 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.en_US.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the text of the provisioning SMS which will be send to the user if he has chosen SMS as provisioning method. You can set a text per language. If you want to add a new language code provide the following configuration option: com.openexchange.mobile.configuration.sms.message.$languagecode_$LANDCODE.text &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.en_GB.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.de_DE.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bitte auf den folgenden Link klicken, um die Open-Xchange Mobility Provisionierungs-Applikation zu \u00F6ffnen: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:50&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.fr_FR.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Veuillez cliquer sur le lien suivant pour ouvrir l&amp;amp;#39;application de pr\u00E9paration de la mobilit\u00E9 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.nl_NL.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Klik op de volgende link om de initialisatietoepasssing voor Open-Xchange-mobility te starten: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.es_ES.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Por favor, haga clic en el siguiente enlace para ejecutar la aplicaci\u00F3n de configuraci\u00F3n m\u00F3vil de Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.it_IT.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Fai clic sul seguente collegamento per aprire l&amp;amp;#39;applicazione di fornitura in mobilit\u00E0 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:54&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://%h/servlet/mobileconfig?l=%p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the URL which will be send to the device via the transport. The following placeholders will be replaced by: %h : The Hostname taken from the URL of the user %l : The login which the user has entered on the login page %c : The context ID %u : The user login %p : Users primary email address &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.json.action.sms.sipgat.api.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://samurai.sipgate.net/RPC2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Properties for the ACTION SMS Provisioning Plugin   Currently only SIPGATE is supported as SMS provider via XML-RPC API    Sipgate API URL  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-sms.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.json.action.sms.sipgat.api.username&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Sipgate API Username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-sms.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.json.action.sms.sipgat.api.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Sipgate API Password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-sms.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/fr_FR/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/fr_FR/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-French.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_US/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_US/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_GB/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_GB/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/nl_NL/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/nl_NL/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-Dutch.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/es_ES/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/es_ES/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-Spanish.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/de_DE/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Blackberry configuration description:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/de_DE/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-German.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/fr_FR/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/fr_FR/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-French.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_US/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_US/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_GB/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_GB/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/nl_NL/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/nl_NL/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-Dutch.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/es_ES/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/es_ES/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-Spanish.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/de_DE/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Android configuration description:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/de_DE/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-German.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/fr_FR/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/fr_FR/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-French.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_US/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_US/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_GB/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_GB/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/nl_NL/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/nl_NL/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-Dutch.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/es_ES/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/es_ES/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-Spanish.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/de_DE/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following options will display the detailed setup descriptions from devices which don&amp;amp;#39;t support autoconfiguration emails.  Nokia S60 configuration description:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/de_DE/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-German.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.OpensslBinary&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The location of the openssl binary (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.OpensslTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The timeout for the openssl binary in milliseconds (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.CertFile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The cert file (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.KeyFile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The key file (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.iPhoneRegex&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;^.*(iPhone|iPad).*$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RegEx for iPhone browser detection &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.WinMobRegex&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;^.*Windows Phone.*$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RegEx for Windows Mobile browser detection &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.OnlySecureConnect&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If only https should be used &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.SignConfig&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If signing is used or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;read_cl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ONE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Consistency Levels. It can be defined on a per-column-family basis. Since we only have one column family, it only applies to that.  Possible values (CaSe sensitive): ONE, TWO, THREE, QUORUM, ALL, ANY, EACH_QUORUM, LOCAL_QUORUM &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;write_cl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ONE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replication_factor &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Replication factor of the keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Keyspace name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cf_xt_props &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ExtendedProperties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Extended Properties column family name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.event.eventQueueDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This parameter set the delay in milliseconds when events are sent to the subscribed services. Events for example are triggered when deleting an appointment with attachment. The event then is for deleting the attachment. If this value is increased more events may be in the queue that must be executed. This can cause longer runtime delivering all those events. Lowering this value may cause too often look into the queue without finding events there to process. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| event.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.event.isEventQueueEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option enables or disable the complete event handling for OX The event handling is a essential Open-Xchange component which needs to always run. This should only be set to false for debugging purposes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| event.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.loginPageBaseURL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.facebook.com/login.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the base URL of facebook&amp;amp;#39;s login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.actionOfLoginForm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://login.facebook.com/login.php?login_attempt=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the action of the facebook login form located at login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.linkAfterLogin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;\\Qhttp://www.facebook.com/profile.php?ref=profile&amp;amp;amp;id=\\E([0-9]+)&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the regular expression (in quotes) for the link of the expected page after successfully passing facebook&amp;amp;#39;s login page Note: The (optional) capturing group is checked against facebook&amp;amp;#39;s user identifier. If no group is specified, no check is performed &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.apiVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1.0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the version of facebook&amp;amp;#39;s API &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.nameOfUserField&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;email&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the login field on facebook&amp;amp;#39;s login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.nameOfPasswordField&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the password field on facebook&amp;amp;#39;s login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.renewalFrequence&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Frequence for facebook session renewal in milliseconds. Default is 300000 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.facebook&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable Facebook OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookoauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.facebook.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INSERT_YOUR_API_KEY_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the API key obtained from facebook &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookoauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.facebook.secretKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INSERT_YOUR_API_SECRET_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the secret key obtained from facebook &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookoauth.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.facebook&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebooksubscribe.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.facebook.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebooksubscribe.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.append&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.append&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;possible log levels are ALL INFO FINE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;possible log levels are ALL INFO FINE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.login.internal.LoginPerformer.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Important note: The following option ensures, that all login relevant information is logged correctly. Such information is essential to detect and to address session issues, pontentially caused by 3rd parties. Open-Xchange strongly suggests NOT to modify this configuration setting unless you are forced to do so by specific legal requirements, e.g. privacy regulations.  Please note: If these settings are changed, Open-Xchange will take no responsibility and will exclude support regarding any session issues and potential security breaches arising thereof. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.login.internal.LoginPerformer.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Important note: The following option ensures, that all login relevant information is logged correctly. Such information is essential to detect and to address session issues, pontentially caused by 3rd parties. Open-Xchange strongly suggests NOT to modify this configuration setting unless you are forced to do so by specific legal requirements, e.g. privacy regulations.  Please note: If these settings are changed, Open-Xchange will take no responsibility and will exclude support regarding any session issues and potential security breaches arising thereof. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.impl.SessionHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.impl.SessionHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.rmi.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.rmi.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.management.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.management.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.jmdns.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.jmdns.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.hazelcast.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.hazelcast.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.glassfish.grizzly.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.glassfish.grizzly.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.cxf.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set to FINE to log SOAP requests for debugging purpose &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.cxf.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set to FINE to log SOAP requests for debugging purpose &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.logger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.logger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.jaudiotagger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SEVERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set org.jaudiotagger to SEVERE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.jaudiotagger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SEVERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set org.jaudiotagger to SEVERE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.impl.Manager.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set global documentconverter logging level to WARNING &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.impl.Manager.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set global documentconverter logging level to WARNING &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.gargoylesoftware.htmlunit.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Reduce log level for htmlunit.jar &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.gargoylesoftware.htmlunit.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Reduce log level for htmlunit.jar &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.requesthandler.DispatcherServlet.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A switch to control which exceptions are logged to the log file Set this to ALL to log all exceptions &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.requesthandler.DispatcherServlet.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A switch to control which exceptions are logged to the log file Set this to ALL to log all exceptions &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.pattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange/open-xchange.log&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.pattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange/open-xchange.log&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.limit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2097152&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.limit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2097152&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.count&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;99&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.count&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;99&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.formatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.SimpleFormatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.formatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.SimpleFormatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;distributedFiles-0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].endpoint&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the endpoint (e.g. &amp;amp;quot;ec2.amazonaws.com&amp;amp;quot;) or a full URL, including the protocol (e.g. &amp;amp;quot;https://ec2.amazonaws.com&amp;amp;quot;) of the region specific AWS endpoint this client will communicate with. Defaults to &amp;amp;quot;s3.amazonaws.com&amp;amp;quot; if not defined. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].region&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;us-west-2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the Amazon S3 region to use when creating new buckets. This value is also used to pre-configure the client when no specific endpoint is set. Possible values are &amp;amp;quot;us-gov-west-1&amp;amp;quot;, &amp;amp;quot;us-east-1&amp;amp;quot;, &amp;amp;quot;us-west-1&amp;amp;quot;, &amp;amp;quot;us-west-2&amp;amp;quot;, &amp;amp;quot;eu-west-1&amp;amp;quot;, &amp;amp;quot;ap-southeast-1&amp;amp;quot;, &amp;amp;quot;ap-southeast-2&amp;amp;quot;, &amp;amp;quot;ap-northeast-1&amp;amp;quot; and &amp;amp;quot;sa-east-1&amp;amp;quot;. Defaults to &amp;amp;quot;us-west-2&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].accessKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the AWS access key to use. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].secretKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the AWS secret key to use. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].encryption&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;none&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Optionally specifies which client-side encryption should be used. Current options include &amp;amp;quot;none&amp;amp;quot; for no encryption, or &amp;amp;quot;rsa&amp;amp;quot; for an RSA-based asymmetric encryption. Defaults to &amp;amp;quot;none&amp;amp;quot;. Please note that depending on the used key length and Java runtime, one might need to replace the so-called &amp;amp;quot;JCE Unlimited Strength Jurisdiction Policy Files&amp;amp;quot; accordingly. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].encryption.rsa.keyStore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the path to the local keystore file (PKCS #12) containing the public-/private-key pair to use for encryption, e.g. &amp;amp;quot;/opt/open-xchange/etc/cert/awss3.p12&amp;amp;quot;. Required if &amp;amp;quot;com.openexchange.aws.s3.[filestoreID].encryption&amp;amp;quot; is set to &amp;amp;quot;rsa&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].encryption.rsa.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the password used when creating the referenced keystore containing public-/private-key pair to use for encryption. Note that blank or null passwords are in violation of the PKCS #12 specifications. Required if &amp;amp;quot;com.openexchange.aws.s3.[filestoreID].encryption&amp;amp;quot; is set to &amp;amp;quot;rsa&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].bucketName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the name of the parent bucket to use. The bucket will be created &lt;br /&gt;
automatically if it not yet exists, however, it's still possible to use an &lt;br /&gt;
already existing one. There are some naming restrictions, please refer to &lt;br /&gt;
http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html for &lt;br /&gt;
details. Required.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].pathStyleAccess&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines if path-style-access should be used when accessing the S3 API. If not set to &amp;quot;true&amp;quot;, virtual-hosted-style access is used. Please refer to &lt;br /&gt;
http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html for &lt;br /&gt;
details. Defaults to true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.find.basic.mail.searchmailbody &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Denotes if mail search queries should be matched against mail bodies. This improves the search experience within the mail module, if your mail backend supports fast full text search. Otherwise it can slow down the search requests significantly.  Change the value to &amp;amp;#39;true&amp;amp;#39;, if fast full text search is supported. Default is &amp;amp;#39;false&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| findbasic.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.find.basic.mail.allMessagesFolder &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Some mail backends provide a virtual folder that contains all messages of a user to enable cross-folder mail search. Open-Xchange can make use of this feature to improve the search experience.  Set the value to the name of the virtual mail folder containing all messages. Leave blank if no such folder exists. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| findbasic.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IGNORE_SHARED_ADDRESSBOOK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Determine whether to ignore &amp;amp;#39;shared addressbook&amp;amp;#39; folder or not. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ENABLE_INTERNAL_USER_EDIT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if users are allowed to edit their own contact object contained in folder &amp;amp;#39;Global Address Book&amp;amp;#39; aka &amp;amp;#39;Internal Users&amp;amp;#39;. Switching this parameter only has an effect for new created contexts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folderstorage.outlook.showPersonalBelowInfoStore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether a user&amp;amp;#39;s default InfoStore folder should appear below InfoStore root folder:  - Infostore -- My files -- Public infostore -- Userstore -- Other infstore folders &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folderstorage.database.preferDisplayName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether default InfoStore folders are labeled with owning user&amp;amp;#39;s display name or name is read from folder storage (database) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ENABLE_DB_GROUPING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define where to perform folder grouping. This filters the database results for duplicate folders in the where clause of the db statement or afterwards in the application. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ENABLE_FOLDER_CACHE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable or disable folder caching. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folder.json.module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;folders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Define the module which also serves as the appendix for registered servlet: # If module is set to &amp;amp;quot;myfolders&amp;amp;quot;, the servlet path is changed to &amp;amp;quot;/ajax/myfolders&amp;amp;quot; # Default is &amp;amp;quot;folders&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| folderjson.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;project.required.plugins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.forrest.plugin.output.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The names of plugins that are required to build the project comma separated list (no spaces) You can request a specific version by appending &amp;amp;quot;-VERSION&amp;amp;quot; to the end of the plugin name. If you exclude a version number the latest released version will be used, however, be aware that this may be a development version. In a production environment it is recomended that you specify a known working version. Run &amp;amp;quot;forrest available-plugins&amp;amp;quot; for a list of plug-ins currently available &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| forrest.properties:125&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;project.skin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;lucene&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies name of Forrest skin to use See list at http://forrest.apache.org/docs/skins.html &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| forrest.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The password to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.detailed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether the detailed free/busy-view including subject and location of the appointments is requested from EWS or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.emailSuffixes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows the definition of a comma-separated list of e-mail-address suffixes (e.g. domain parts like &amp;amp;quot;@example.org&amp;amp;quot;) that are used to pre-filter the requested participants before passing them to EWS. Optional, but strongly recommended to reduce the amount of transferred data. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.validEmailsOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether only valid e-mail addresses are used in the free/busy lookup or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.trustAllCerts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to skip certificate validation and trust all server certificates. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.skipHostVerification&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to bypass hostname verification. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.hostname.verifier&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.exchangeVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;EXCHANGE_2010&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the requested Exchange Server version. Possible values include &amp;amp;quot;EXCHANGE_2007_SP_1&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010_SP_1&amp;amp;quot; and &amp;amp;quot;EXCHANGE_2010_SP_2&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the URL to the Exchange Web Service (usually something like http://exchange.example.com/EWS/Exchange.asmx). Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.userName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The user name to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.emailSuffixes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;@gmail.com,@googlemail.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows the definition of a comma-separated list of e-mail-address suffixes (e.g. domain parts like &amp;amp;quot;@googlemail.com&amp;amp;quot;) that are used to pre-filter the requested participants before passing them to Google. Optional, but strongly recommended to reduce the amount of transferred data. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.validEmailsOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether only valid e-mail addresses are used in the free/busy lookup or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.apiEndpoint&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://www.googleapis.com/calendar/v3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the URI of the Google Calendar API endpoint and should normally not be changed. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{YOUR_API_KEY}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sets the Google API key to be used for requests to the Google Calendar API. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.userID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the user ID of the user in whose name the internal free/busy data is requested from the server (should normally be the internal user ID of the context administrator). Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the URL to the Exchange Web Service (usually something like http://exchange.example.com/EWS/Exchange.asmx). Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.userName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The user name to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The password to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.publishMonths&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the amount of free/busy data to be published. The period always starts at the first of the current month. Defaults to &amp;amp;#39;3&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.delay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the time in minutes between publication cycles, i.e. configures the free/busy data update interval. Defaults to &amp;amp;#39;15&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.initialDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the time in minutes before starting the first publication cycle upon bundle startup. Defaults to &amp;amp;#39;5&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.chunkSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the number of users that are processed in a chunk when publishing free/busy data. Default to &amp;amp;#39;50&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.exchangeVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;EXCHANGE_2010&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the requested Exchange Server version. Possible values include &amp;amp;quot;EXCHANGE_2007_SP_1&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010_SP_1&amp;amp;quot; and &amp;amp;quot;EXCHANGE_2010_SP_2&amp;amp;quot;. Defaults to &amp;amp;#39;EXCHANGE_2010&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.trustAllCerts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to skip certificate validation and trust all server certificates. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.contextID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the context ID of the users whose free/busy data is published to the Exchange server. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.skipHostVerification&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to bypass hostname verification. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.hostname.verifier&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies how the legacyExchangeDN for free/busy users is retrieved. May be one of &amp;amp;#39;static&amp;amp;#39; or &amp;amp;#39;ldap&amp;amp;#39;. A static lookup uses existing user attributes to construct the legacyExchangeDN path, while &amp;amp;#39;ldap&amp;amp;#39; queries the &amp;amp;#39;legacyExchangeDN&amp;amp;#39; attribute from the Active Directory using one or more user attributes. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:58&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.static&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the template to construct the legacyExchangeDN path. Required if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;static&amp;amp;#39;. All occurrences of the following user attributes are replaced: [displayName], [contactId], [givenName], [surName], [userId], [imapLogin], [imapServer], [mailDomain], [mail], [loginInfo]. An example template would be &amp;amp;quot;/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/ cn=Recipients/cn=[displayName]&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:67&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.filter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the LDAP filter used to query the Active Directory for the legacyExchangeDN of a user. Required if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. Within the search filter, all occurrences of the following user attributes are replaced dynamically: [displayName], [contactId], [givenName], [surName], [userId], [imapLogin], [imapServer], [mailDomain], [mail], [loginInfo]. For example: &amp;amp;quot;(&amp;amp;amp;(objectClass=contact)(cn=[displayName]))&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:76&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.uri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The URI of the LDAP server, should be in the format ldap://myserver.example.com:389. For SSL access, use the ldaps protocol and the appropriate port, e.g. ldaps://myserver.example.com:636. Required if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:82&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.baseDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures a base LDAP path. If defined, all Distinguished Names supplied to and received from LDAP operations will be relative to the LDAP path supplied. If not defined, the default naming context of the RootDSE is used as baseDN. Only used if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:89&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.bindDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the bind DN used for LDAP authentication here. Only used if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. If left empty, anonymous authentication is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:94&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.bindPW&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the bind password used for LDAP authentication here. Only used if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39; and &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup.ldap.bindDN&amp;amp;#39; is defined. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:99&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasCometEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comet is an umbrella term used to describe a technique allowing web browser to receive almost real time updates from the server. The two most common approaches are long polling and streaming. Long polling differs from streaming in that each update from the server ultimately results in another follow up request from the client. Default value: true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasWebSocketsEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bi-directional, full-duplex communications channels over a single TCP connection. Default value: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasJMXEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Do you want to enable grizzly monitoring via JMX? Default value: true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasAJPEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Grizzly is able to communicate via AJP besides its default prototcol HTTP. Do you want to use AJP instead of HTTP? Default value: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.ping&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PROCESSING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the ping mechanism to use. Currently supported values: * NONE -- No ping at all * PROCESSING -- Ping through 102 Processing interim response * CONTINUE -- Ping through 100 Continue interim response * WHITESPACE -- Ping through transmitting a whitespace character (and implicitly committing HTTP response) Default is PROCESSING. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.pingDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;90000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The ping delay aka frequency in milliseconds. Default is 90000. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.maxPingCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of pings allowed being initiated before quit A value of zero or less means unlimited (actually 2^31 - 1) Default is 9 (because Apache has a hard-coded limit of 10) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.halo.linkedin.enabledMailCapableKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether LinkedIn API key/secret are allowed to access E-Mail-sensitive data &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| halo-linkedin.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.portAutoIncrement&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures if automatically the next port should be tried if the incoming port is already in use. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.outboundPortDefinitions&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;By default, Hazelcast lets the system to pick up an ephemeral port during socket bind operation. But security policies/firewalls may require to restrict outbound ports to be used by Hazelcast enabled applications. To fulfill this requirement, you can configure Hazelcast to use only defined outbound ports. You can use port ranges and/or comma separated ports, e.g. &amp;amp;quot;35000-35100&amp;amp;quot; or &amp;amp;quot;36001, 36002, 36003&amp;amp;quot;. Defaults to &amp;amp;quot;&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:110&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.enableIPv6Support&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables support for IPv6.  IPv6 support is switched off by default, since some platforms have issues in use of IPv6 stack, and some other platforms such as Amazon AWS have no support at all. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:116&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.socket.bindAny&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether to bind the server- and client-sockets to any local interface or not. Defaults to &amp;amp;quot;false&amp;amp;quot;, which restricts the bind operation to the picked interface address based on the value of &amp;amp;quot;com.openexchange.hazelcast.network.interfaces&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:122&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables symmetric encryption. When enabled, the entire communication between the hazelcast members is encrypted at socket level. Ensure that all symmetric encryption settings are equal on all participating nodes in the cluster. More advanced options (including asymmetric encryption and SSL) may still be configured via the &amp;amp;quot;hazelcast.xml&amp;amp;quot; file, see instructions on top of this file. Defaults to &amp;amp;quot;false&amp;amp;quot;.  /!\ ---==== Additional note ====--- /!\ If symmetric encryption is enabled, it might have impact on Hazelcast cluster stability. Hazelcast nodes start loosing cluster connectivity under high load scenarios  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.algorithm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PBEWithMD5AndDES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the name of the symmetric encryption algorithm to use, such as &amp;amp;quot;DES/ECB/PKCS5Padding&amp;amp;quot;, &amp;amp;quot;PBEWithMD5AndDES&amp;amp;quot;, &amp;amp;quot;Blowfish&amp;amp;quot; or &amp;amp;quot;DESede&amp;amp;quot;. The available cipher algorithms may vary based on the underlying JCE. Defaults to &amp;amp;quot;PBEWithMD5AndDES&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:146&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.salt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2mw67LqNDEb3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the salt value to use when generating the secret key for symmetric encryption. Defaults to &amp;amp;quot;2mw67LqNDEb3&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:150&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;D2xhL8mPkjsF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the pass phrase to use when generating the secret key for symmetric encryption. Defaults to &amp;amp;quot;D2xhL8mPkjsF&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:154&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.iterationCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;19&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the iteration count to use when generating the secret key for symmetric encryption. Defaults to &amp;amp;quot;19&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:158&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.logging.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether Hazelcast&amp;amp;#39;s internal logging system is enabled or not. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:165&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.maxOperationTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the implicit maximum operation timeout in milliseconds for operations on distributed data structures, if no explicit timeout is specified for an operation. Defaults to &amp;amp;quot;5000&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:170&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.jmx&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables JMX monitoring for hazelcast components such as statistics about distributed data structures. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:174&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.jmxDetailed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether detailed JMX monitoring is enabled or not, i.e. detailed information about entries in distributed data structures. Only taken into account if &amp;amp;quot;com.openexchange.hazelcast.jmx&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot;. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:179&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.memcache.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables Hazelcast&amp;amp;#39;s internal Memcache client request listener service. Defaults to &amp;amp;quot;false&amp;amp;quot;, as it&amp;amp;#39;s not needed by the backend. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:183&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.rest.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables Hazelcast&amp;amp;#39;s internal REST client request listener service. Defaults to &amp;amp;quot;false&amp;amp;quot;, as it&amp;amp;#39;s not needed by the backend. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:187&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables Hazelcast. Setting this property to &amp;amp;quot;false&amp;amp;quot; will result in no Hazelcast instance being created for this node, and all other dependent features will be disabled. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.group.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the name of the cluster. Only nodes using the same group name will join each other and form the cluster. Required if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is not &amp;amp;quot;empty&amp;amp;quot; (see below). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.group.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;wtV6$VQk8#+3ds!a&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The password used when joining the cluster. Defaults to &amp;amp;quot;wtV6$VQk8#+3ds!a&amp;amp;quot;. Please change this value, and ensure it&amp;amp;#39;s equal on all nodes in the cluster. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies which mechanism is used to discover other backend nodes in the cluster. Possible values are &amp;amp;quot;empty&amp;amp;quot; (no discovery for single-node setups), &amp;amp;quot;static&amp;amp;quot; (fixed set of cluster member nodes) or &amp;amp;quot;multicast&amp;amp;quot; (automatic discovery of other nodes via multicast). Defaults to &amp;amp;quot;empty&amp;amp;quot;. Depending on the specified value, further configuration might be needed, see &amp;amp;quot;Networking&amp;amp;quot; section below. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join.static.nodes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures a comma-separated list of IP addresses / hostnames of possible nodes in the cluster, e.g. &amp;amp;quot;10.20.30.12, 10.20.30.13:5701, 192.178.168.110&amp;amp;quot;. Only used if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is set to &amp;amp;quot;static&amp;amp;quot;. It doesn&amp;amp;#39;t hurt if the address of the local host appears in the list, so that it&amp;amp;#39;s still possible to use the same list throughout all nodes in the cluster. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join.multicast.group&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;224.2.2.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the multicast address used to discover other nodes in the cluster dynamically. Only used if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is set to &amp;amp;quot;multicast&amp;amp;quot;. If the nodes reside in different subnets, please ensure that multicast is enabled between the subnets. Defaults to &amp;amp;quot;224.2.2.3&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join.multicast.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;54327&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the multicast port used to discover other nodes in the cluster dynamically. Only used if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is set to &amp;amp;quot;multicast&amp;amp;quot;. Defaults to &amp;amp;quot;54327&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:71&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.merge.firstRunDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the time until the first check if the cluster needs to merge is scheduled. This takes a timespan parameter with &amp;amp;quot;ms&amp;amp;quot; denoting milliseconds, &amp;amp;quot;s&amp;amp;quot; denoting seconds, &amp;amp;quot;m&amp;amp;quot; denoting minutes. The value is passed to the hazelcast property &amp;amp;quot;hazelcast.merge.first.run.delay.seconds&amp;amp;quot;. Defaults to &amp;amp;quot;120s&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:78&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.merge.runDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the time between each check if the cluster needs to merge. This takes a timespan parameter with &amp;amp;quot;ms&amp;amp;quot; denoting milliseconds, &amp;amp;quot;s&amp;amp;quot; denoting seconds, &amp;amp;quot;m&amp;amp;quot; denoting minutes. The value is passed to the hazelcast property &amp;amp;quot;hazelcast.merge.next.run.delay.seconds&amp;amp;quot;. Defaults to &amp;amp;quot;120s&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.interfaces&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comma-separated list of interface addresses hazelcast should use. Wildcards (*) and ranges (-) can be used. Leave blank to listen on all interfaces Especially in server environments with multiple network interfaces, it&amp;amp;#39;s recommended to specify the IP-address of the network interface to bind to explicitly. Defaults to &amp;amp;quot;127.0.0.1&amp;amp;quot; (local loopback only), needs to be adjusted when building a cluster of multiple backend nodes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:95&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5701&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The port Hazelcast will listen for incoming connections. Defaults to &amp;amp;quot;5701&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:98&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXT_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXContextMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CREATE_CONTEXT_USE_UNIT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;context&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;what to count when distributing contexts over db engines possible values: context or user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_CONTEXT_LOGIN_MAPPING_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[$%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pattern of allowed chars in login mapping names &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;NEW_CONTEXT_DEFAULT_ACCESS_COMBINATION_NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Default access combination template name for newly created contexts! See also &amp;amp;quot;ModuleAccessDefinitions&amp;amp;quot; file for details! If the name is NOT defined in &amp;amp;quot;ModuleAccessDefinitions&amp;amp;quot; file , fallback will be used! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTIL_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AVERAGE_CONTEXT_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Misc properties average size of a context in MB &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXTS_PER_SCHEMA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;amount of contexts per database schema &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.storeContainerType&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;boundary-aware&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;An IMAP connection cache acts a temporary keep-alive cache for already connected resources to an IMAP server&amp;amp;#39;s account. Meaning it keeps a resource open/connected for a short amount of time (see &amp;amp;quot;com.openexchange.mail.mailAccessCacheIdleSeconds&amp;amp;quot;) and performs a &amp;amp;quot;close elapsed ones&amp;amp;quot; run periodically (see &amp;amp;quot;com.openexchange.mail.mailAccessCacheShrinkerSeconds&amp;amp;quot;).  In addition to that behavior there are two modes of operation - bounded and unbounded.  For an unbounded cache, set this property to &amp;amp;quot;unbounded&amp;amp;quot;. Thus a user is allowed to establish as many connections to his IMAP account as demanded by his active clients (Web UI, EAS, Outlook OXtender, etc.).  A bounded cache allows only as many concurrently opened resources as specified through &amp;amp;quot;com.openexchange.imap.maxNumConnections&amp;amp;quot; property. Taking the wording &amp;amp;quot;resource&amp;amp;quot; was chosen by intention, since two types of resource abstractions exist: IMAP store and IMAP protocol (an authenticated login&amp;amp;#39;s socket connection).  The default setting &amp;amp;quot;boundary-aware&amp;amp;quot; considers an &amp;amp;quot;IMAP store&amp;amp;quot; as limited resources to an IMAP server. The vague thing about IMAP store is that it maintains a connection pool internally by itself. Thus it is possible that there are actually more active socket connections open than specified, because an IMAP store is allowed to open further connections when needed; e.g. when accessing another IMAP folder while INBOX has been opened, too. Practical experience showed that there will be at max.: &amp;amp;quot;com.openexchange.imap.maxNumConnections&amp;amp;quot; + 1  The setting &amp;amp;quot;non-caching&amp;amp;quot; does an exact mapping of resource to an established/authenticated socket connection to the IMAP account. It is named &amp;amp;quot;non-caching&amp;amp;quot; as it does no caching on its own, but delegates it to a custom queuing &amp;amp;#39;com.sun.mail.imap.IMAPStore&amp;amp;#39; class. Thus an exact limitation of connected socket connections (&amp;amp;#39;com.sun.mail.imap.protocol.IMAPProtocol&amp;amp;#39; instances) is achieved. Specifying a quite small limitation - let&amp;amp;#39;s say &amp;amp;quot;1&amp;amp;quot; - arises the possibility that JavaMail gets dead-locked by itself. E.g. an IMAP store attempts to create a second connection. That attempt may get stalled as it waits for itself to free the already acquired connection which never happens. So, please use this exact mapping only if you specify a reasonable limitation.  Default is &amp;amp;quot;boundary-aware&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.maxNumExternalConnections&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap.gmail.com:2,imap.googlemail.com:2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configure the max. number of concurrent connections which are allowed being established to a subscribed/external IMAP account. Notation is a comma-separated list of: &amp;amp;lt;host&amp;amp;gt; + &amp;amp;#39;:&amp;amp;#39; + &amp;amp;lt;max-count&amp;amp;gt;; e.g.: com.openexchange.imap.maxNumExternalConnections=imap.host1.com:4, imap.host2.com:6 For convenience a max-count can be specified which applies to all subscribed/external IMAP accounts; e.g.: com.openexchange.imap.maxNumExternalConnections=4 Zero or less is interpreted as unlimited. If not set, unlimited concurrent connections are allowed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:124&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.enableTls&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.notifyRecent&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Notify about recent messages using mail push events. This is a poll-based alternative for any connection-keeping mail push bundle. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:130&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.notifyFrequencySeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The frequency when a check for recent mails is enforced. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:133&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.notifyFullNames&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INBOX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The full names of the folders to consider. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:136&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define where to search for emails: - Use value &amp;amp;quot;imap&amp;amp;quot; to let the IMAP Server search. The search is done on IMAP server if a mailbox&amp;amp;#39; size exceeds the mailFetchLimit as defined in mail.properties. - Use value &amp;amp;quot;force-imap&amp;amp;quot; to let the IMAP Server search in every case. - Leave blank or fill in value &amp;amp;quot;application&amp;amp;quot; to search within application. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.maxMailboxNameLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. length of a mailbox name Default is 60 characters &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.invalidMailboxNameCharacters&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies a space-separated list of characters that are not allowed to be contained in a mailbox name; e.g. &amp;amp;gt;&amp;amp;gt;com.openexchange.imap.invalidMailboxNameCharacters=&amp;amp;quot;; / . | \\&amp;amp;quot;&amp;amp;lt;&amp;amp;lt; Default is empty. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:145&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.allowFolderCaches&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables/disables caching of IMAP folders. Default is true. Note: Only disable IMAP folder cache if you certainly know what you are doing. Disabling that cache may result in noticeable performance decrease. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:151&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.ssl.protocols&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SSLv3 TLSv1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace separated list of tokens. Default value is: SSLv3 TLSv1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:155&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.ssl.ciphersuites&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL cipher suites that will be enabled for SSL connections. The property value is a whitespace separated list of tokens.  Check &amp;amp;quot;http://&amp;amp;lt;ox-grizzly-hostname&amp;amp;gt;:&amp;amp;lt;ox-grizzly-port&amp;amp;gt;/stats/diagnostic?param=ciphersuites&amp;amp;quot; to check available cipher suites.  Default value is empty (fall-back to current JVM&amp;amp;#39;s default SSL cipher suite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:162&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.umlautFilterThreshold&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the threshold for number of search results returned by IMAP server for which manual umlauts-filtering will be applied. If less than or equal to zero, no manual filtering will be applied. Default value is 50. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapFastFetch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property determines whether a fast fetch is performed on large mail folders or not. Although the fetch is fast on IMAP side, a lot of data is transfered during reading response which cause a temporary memory peak. If disabled only the necessary fields are used as command arguments, which is slower but needs less memory. NOTE: See property &amp;amp;quot;imapMessageFetchLimit&amp;amp;quot; to know which mail folders are treated as large mail folders &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapSupportsACL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;auto&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if IMAP server supports ACLs. Possible values: true/false/auto NOTE: Value &amp;amp;quot;auto&amp;amp;quot; means to use server-defined ACL support as indicated through response to IMAP command &amp;amp;quot;CAPABILITY&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket I/O timeout value in milliseconds. A value less than or equal to zero is infinite timeout. See also mail.imap.timeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapConnectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket connection timeout value in milliseconds. A value less or equal to zero is infinite timeout. See also mail.imap.connectiontimeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapTemporaryDown&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds an IMAP server is treated as being temporary down. An IMAP server is treated as being temporary down if a socket connect fails. Further requests to the affected IMAP server are going to be denied for the specified amount of time. A value less or equal to zero disables this setting. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.failedAuthTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of milliseconds a failed authentication attempt is cached to faster handle subsequent authentication attempts Default is 10 seconds. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapAuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for IMAP authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.User2ACLImpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;auto&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the class that implements User2ACL, their alias or &amp;amp;quot;auto&amp;amp;quot; to use auto-detection. Currently known aliases: Cyrus, Courier, Dovecot, and Sun (Sun Java(tm) System Messaging Server) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:59&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.blockSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP operations which shall be applied to a number of messages which exceeds the block size are performed in blocks. Example: A folder containing thousands of messages shall be cleared. To avoid the risk of an IMAP timeout when trying to delete all messages at once, the messages are deleted in block size portions. A block size equal to or less than zero means no block size. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.spamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DefaultSpamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the registration name of the appropriate spam handler to use &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapSort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define where to sort emails: Value &amp;amp;quot;imap&amp;amp;quot; to let the  IMAP Server sort (faster but less reliable). Leave blank or fill in value &amp;amp;quot;application&amp;amp;quot; to sort within application (slower but good quality). The sorting is done on IMAP server if a mailbox&amp;amp;#39; size exceeds the mailFetchLimit as defined in mail.properties. NOTE: This value is going to be set to &amp;amp;quot;application&amp;amp;quot; if IMAP server capabilities do not contain string &amp;amp;quot;SORT&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.propagateClientIPAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether client&amp;amp;#39;s IP address should be propagated by a NOOP command; e.g. &amp;amp;quot;A01 NOOP &amp;amp;lt;CLIENT_IP&amp;amp;gt;&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:72&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.propagateHostNames&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configure a comma-separated list of external IMAP server&amp;amp;#39;s host names which should receive client&amp;amp;#39;s IP address by a NOOP command, too &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.maxNumConnections&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. number of connection allowed being established for a user to an IMAP server. Less than or equal to zero means infinite. Please also consider &amp;amp;quot;com.openexchange.imap.storeContainerType&amp;amp;quot;.  Note: This setting overrides possibles restrictions specified through property &amp;amp;quot;com.openexchange.imap.maxNumExternalConnections&amp;amp;quot; if this property&amp;amp;#39;s value is less than the other one.  Default is 0 (zero). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.namespacePerUser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option controls whether there it is expected to have a dedicated NAMESPACE per user or not. In case of &amp;quot;true&amp;quot; each mailbox account on associated IMAP server is allowed to have its own NAMESPACE set; might be &amp;quot;&amp;quot; (root) or &amp;quot;INBOX.&amp;quot;. Otherwise for &amp;quot;false&amp;quot; every mailbox is assumed to have the same NAMESPACE set. &lt;br /&gt;
This influences the way Open-Xchange Server detects &amp;amp; caches NAMESPACE information; either on a per user basis (more IMAP traffic) or globally (only requested once). &lt;br /&gt;
It should not be changed/touched unless IMAP server behavior is well know.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_TIMEOUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Socket I/O timeout value in milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_CONNECTIONTIMEOUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Socket connection timeout value in milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_SERVER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap server ip or fqdn &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USE_FULL_LOGIN_INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;############################################# Set to true to auth with &amp;amp;quot;user@domain&amp;amp;quot; instead of just &amp;amp;quot;user&amp;amp;quot; against imap server. If true the &amp;amp;quot;domain&amp;amp;quot; part will be used as the context name of the ox system. so add &amp;amp;quot;domain&amp;amp;quot; as a login mapping to be able to login. If false, the plugin react as only 1 context exists in the ox system, and this context has the mapping &amp;amp;quot;defaultcontext&amp;amp;quot; added. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USE_MULTIPLE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;######## MULTIPLE IMAP SERVERS #############  If set to true the IMAP authentication plugin gets all IMAP server information from the OX database instead of reading configuration from this file.  Following information is fetched from DB and will be used to authenticate against the server:  - server - port - ssl/tls  Moreover the proper login name is detected as configured by property &amp;amp;quot;com.openexchange.mail.loginSource&amp;amp;quot;.  To use this feature, set the correct values while provisioning an OX user.  Useful if you have many IMAP Servers to connect to. ##### INFO: Domain part of the login is used as context name.  Example: test@test.org Username of the OX account must be &amp;amp;quot;test&amp;amp;quot; and name of the OX context must be &amp;amp;quot;test.org&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_PORT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;143&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;port on which the imap server is listening &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.authentication.imap.imapAuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for IMAP authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_USE_SECURE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set to true if connecting via imaps:// &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.index.allowedModules &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify all modules that may be indexed as a comma-separated list of module identifiers (these are numbers defined in http://oxpedia.org/wiki/index.php?title=HTTP_API#LinkObject). The default value is empty and disables indexing as a whole.  This value takes effect on server granularity and can be overwritten for sets of contexts, single contexts and single users. See http://oxpedia.org/wiki/index.php?title=ConfigCascade and /ox-config-path/contextSets/index.yml for more information on this.  Possible modules: E-Mail:       19  As of now only E-Mail can be enabled. Enabling other modules may lead to unforseen errors during runtime. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| index.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.service.indexing.workerThreads &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of worker threads for the clustered job scheduler instance that executes the indexing jobs. More worker threads allow it to run more indexing jobs at the same time, but will also increase the load of the worker node. It is recommended to start with a number not higher than the nodes number of CPU cores. Increasing the number afterwards always requires a restart of the node. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| indexing-service.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.get_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.IdListTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore-querybuilder.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;get_request.id_field &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; uuid&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore-querybuilder.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.all_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.AllTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore-querybuilder.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.infostore.zipDocumentsCompressionLevel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the used compression level that is applied to .zip containers when downloading multiple documents at once. Possible values are &amp;amp;quot;-1&amp;amp;quot; for the built-in default level, &amp;amp;quot;0&amp;amp;quot; for no compression, or any number between &amp;amp;quot;1&amp;amp;quot; (best speed) and &amp;amp;quot;9&amp;amp;quot; (best compression). Defaults to &amp;amp;quot;-1&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10485760&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the sum of all uploaded files in one request is larger than this value, the upload will be rejected. If this value is not set or 0, the more general MAX_UPLOAD_SIZE configured in server.properties will be used. If that value is also 0 or not set, uploads will be unrestricted. The size is in Bytes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.servlet.name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /monitoring/jolokia&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Under what servlet name jolokia will be published, please bear in mind that this should not be forwarded by apache and kept internal &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;User used for authentication with HTTP Basic Authentication. If not set, jolokia won&amp;amp;#39;t start &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Password used for authentification with HTTP Basic Authentication. If not set, jolokia won&amp;amp;#39;t start &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.maxDepth &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum depth when traversing bean properties. If set to 0, depth checking is disabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.maxObjects &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 100000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of objects which are traversed when serializing a single response. Use this as an airbag to avoid boosting your memory and network traffic. Nevertheless, when set to 0 no limit is imposed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.restrict.to.localhost &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This setting will restrict jolokia access to localhost. It is completly ignored when a jolokia-access.xml is present. It is also a second guard and bound to com.openexchange.connector.networkListenerHost inside server.properties As Jolokia uses the http / ajp interface, it is bound to the host for the connector&amp;amp;#39;s (ajp, http) network listener which is configured by com.openexchange.connector.networkListenerHost. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.start &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Start jolokia &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.proxyDelimiter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define a delimiter to be used to separate proxy authentication from normal user login on the frontend login screen. If defined, a proxy user can login on behalf of a user using the form &amp;amp;lt;PROXYACCOUNT&amp;amp;gt;&amp;amp;lt;DELIMITER&amp;amp;gt;&amp;amp;lt;USERACCOUNT&amp;amp;gt;. NOTE: Login to the mail server is not supported. The implementation for mail filter implementation based on SIEVE protocol does not support a proxy authentication, so it will raise error messages. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.proxyUser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comma separated list of proxy user logins allowed to login as a proxy user for every other user account. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.security.auth.login.config&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/kerberosLogin.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;path to the Java authentication and authorization configuration file &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.security.krb5.debug&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;enable kerberos debugging &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.security.krb5.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/krb5.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;path to the krb5.conf configuration file java.security.krb5.conf=/etc/krb5.conf &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.moduleName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the module in the authentication and authorization configuration file. Must be an entry in the file named by java.security.auth.login.config. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.userModuleName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange-User-Auth&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the module in the authentication and authorization configuration file used for username and password authentication. Must be an entry in the file named by java.security.auth.login.config &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.langdetect.languageModelsDir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;languageModels&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The path to the directory containing the language models &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| lang-detect.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.langdetect.languageCodesFile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;language-codes.properties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maps language to their code &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| lang-detect.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.jndi.ldap.connect.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Timeouts are useful to get quick responses for login requests. This timeout is used if a new connection is established. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.jndi.ldap.read.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This timeout only works since Java 6 SE to time out waiting for a response. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;uidAttribute&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;uid&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This attribute is used login. E.g. uid=&amp;amp;lt;login&amp;amp;gt;,baseDN &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;baseDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ou=Users,ou=OxObjects,dc=open-xchange,dc=com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the base distinguished name where the user are located. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ldapReturnField&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If you do not want to pass on the user id, used for authentication, to the groupware but another field entry of the LDAP user object, then you can specify the field here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;adsBind&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option activates a special ADS bind. It allows the user to authenticate at the ADS with only the displayName or by using the syntax DOMAIN\Samaccountname. Note that &amp;amp;quot;\&amp;amp;quot; cannot be used in user names when this option is activated. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;subtreeSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set subtreeSearch to true if the user entries are not directly below the baseDN, and e.g. distributed over one or more subtrees. The bindDN to authenticate the user will then determined using a search over the complete tree below baseDN NOTE: When two users exist with the same uidAttribute, authentication will be refused, though. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;searchFilter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;(objectclass=posixAccount)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;specify the filter to limit the search of user entries (used in combination with subtreeSearch=true. the filter will be ANDed with the attributed specified in uidAttribute. Example: (&amp;amp;amp;(objectclass=posixAccount)(uid=foo)) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.naming.provider.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ldap://localhost:389/dc=example,dc=com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;URL of the LDAP server to connect to for authenticating users. ldaps is supported. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bindDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if your LDAP server does not allow to do searches without any authentication, specify a dn here to bind in order to search (used in combination with subtreeSearch=true). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bindDNPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;the password required for the bindDN &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;referral&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;follow&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option configures how to handle the chasing of referrals in LDAP (see http://java.sun.com/products/jndi/tutorial/ldap/referral/overview.html). possible values: ignore, follow, throw &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.naming.security.authentication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;simple&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the authentication security that should be used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.licensekey.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX-AS-MK-123456-789&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| licensekeys.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/themes/light_breeze&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Light Breeze&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property defines the light breeze theme of the AJAX GUI. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| light-breeze-theme.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.linkedin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable LinkedIn OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinoauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.socialplugin.linkedin.apikey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_THE_KEY_FROM_YOUR_LINKEDIN_APP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;These keys are either pre-filled or need to be replaced by ones gotten from an application managed at linkedIn for information how to create this application please see http://oxpedia.org/wiki/index.php?title=LinkedIn_Bundles &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinoauth.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.socialplugin.linkedin.apisecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_THE_SECRET_FROM_YOUR_LINKEDIN_APP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinoauth.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.linkedin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinsubscribe.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.linkedin.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinsubscribe.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.rootLogger&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ERROR, console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.rootLogger&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ERROR, console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.ConsoleAppender&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.ConsoleAppender&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.ConsoleAppender&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.PatternLayout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.PatternLayout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.PatternLayout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout.ConversionPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; %d{dd.MM.yyyy HH:mm:ss} [%t] %-5p %c{1} - %m%n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout.ConversionPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; %d{dd.MM.yyyy HH:mm:ss} [%t] %-5p %c{1} - %m%n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout.ConversionPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; %d{dd.MM.yyyy HH:mm:ss} [%t] %-5p %c{1} - %m%n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.de.kippdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.org.apache.solr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARN,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.openexchange.realtime.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.openexchange.realtime.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.org.apache.solr.analysis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ERROR,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.login.internal.LoginPerformer.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Important note: The following option ensures, that all login relevant information is logged correctly. Such information is essential to detect and to address session issues, pontentially caused by 3rd parties. Open-Xchange strongly suggests NOT to modify this configuration setting unless you are forced to do so by specific legal requirements, e.g. privacy regulations.  Please note: If these settings are changed, Open-Xchange will take no responsibility and will exclude support regarding any session issues and potential security breaches arising thereof. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.impl.SessionHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.rmi.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;possible log levels are ALL INFO DEBUG &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.management.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.hazelcast.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SEVERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.impl.IManager.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.ConsoleHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.ConsoleHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.http-auth.client&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ox.gui.dhtml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Every client tells the backend through the client parameter on the login request his identity. This is not possible when using the HTTP authorization header based login. So the client identifier for that request is defined here. It must be the same identifier that the web frontend uses, if you set com.openexchange.cookie.hash to calculate and want the previously configured autologin to work. Identifier for web UI is: com.openexchange.ox.gui.dhtml &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.http-auth.version&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;HTTP Auth&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The version of the client when using the HTTP Authorization Header based login. This should not be the normal web frontend version because a different version can be used to distinguish logins through HTTP authorization header and normal login request. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.insecure&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether an insecure login is allowed. Meaning if local IP and/or user-agent strings are replaced in associated user session on login redirect or login redeem requests. To create a session from a server for some client you have to pass the clients IP address when creating the session. WARNING! Setting this parameter to true may result in users seeing a different users content if the infrastructure around OX does not work correctly. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.redirect.changeIPAllowed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option has only an effect if com.openexchange.ajax.login.insecure is configured to true. This option allows to enable the IP check for /ajax/login?action=redirect requests. This request is mostly used to create a session without using the OX web UI login screen. The previous behavior allowed to change the IP for this request. Configure this option to false to have an IP check during this request. Additionally you can white list IP addresses from that an IP change is still allowed. This is useful if other systems in the infrastructure around OX want to create the session. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.randomToken&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The Random-Token is a one time token with a limited lifetime, which is used to initiate sessions through 3rd party applications or websites. It is a UUID, generated by the backend via default Java UUID implementation. This token is deprecated and disabled by default. Setting this to false will prevent a random token from being written as part of the login response and prevent logins via a random token. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.formatstring.login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the format for a logged login. Default format string &amp;amp;quot;$login $ip $auth $agent $client $c $u $s&amp;amp;quot;  $s - session information $c - context information $u - user information $login - login string $ip - IP $auth - auth ID $agent - User-Agent $client - client identifier (and version) $iface - associated interface  e.g. &amp;amp;quot;$u - $c - $s - $agent - $client&amp;amp;quot;  Default is empty; meaning default format string. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.formatstring.logout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the format for a logged logout. Default format string &amp;amp;quot;Logout $c $u $s&amp;amp;quot;  $s - session information $c - context information $u - user information  e.g. &amp;amp;quot;$u - $c - $s&amp;amp;quot;  Default is empty; meaning default format string. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:73&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.http-auth.autologin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures if some user is able to reenter his existing session after closing the browser tab or the complete browser. Setting this to true may be a security risk for clients running on unsafe computers. If this is configured to true, check that the parameter client contains the same identifier the UI sends as client parameter on normal login request. Otherwise the backend will not be able to rediscover the users session after closing the browser tab. This parameter only applies to the HTTP authorization header based login request. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;strategy &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; SimpleStrategy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;two options here either SimpleStrategy or NetworkTopologyStrategy &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;node &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 192.168.33.37:9160&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;node ip with port eg. node = 127.0.0.1:9160 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;keyspace name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replication_factor &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replication factor of the keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.allowedClients&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;USM-EAS*&amp;amp;quot;, &amp;amp;quot;USM-JSON*&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the comma-separated list of clients which are allowed to receive notifications about new mails. Wild-card notation is allowed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail-push.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define exceeding time in milliseconds for mail connections. If use time of an mail connection exceeds this value it is logged. Thus unclosed connections can be detected. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:104&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherShallClose&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if watcher is allowed to close exceeded mail connections &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:107&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.JavaMailProperties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javamail.properties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JavaMail Properties &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:110&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.phishingHeader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A comma-separated list of headers which identifies phishing headers; e.g. X-Phishing1,X-Phishing2,etc. Leave empty for no phishing header. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.adminMailLoginEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define whether a context admin is allowed to login to mail system or not. Note that a mail account is supposed to exist if set to true; if not an authentication error will occur. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:120&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.addClientIPAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set whether client&amp;amp;#39;s IP address should be added to mail headers on delivery as custom header &amp;amp;quot;X-Originating-IP&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:124&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.rateLimitPrimaryOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if the rateLimit and maxToCcBcc settings below will only affect the primary account or all accounts &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:128&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.rateLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the time (in milliseconds) which must pass by before a new mail can be sent A value of 0 disables the limit. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:132&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.maxToCcBcc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the allowed maximum number of recipients in a mail A value of 0 disables the limit. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:136&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.passwordSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;session&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the password source for primary mail/transport account; meaning which source is taken to determine a user&amp;amp;#39;s password to login into mailing system. If &amp;amp;#39;session&amp;amp;#39; is set, then user&amp;amp;#39;s individual system&amp;amp;#39;s password is taken. If &amp;amp;#39;global&amp;amp;#39; is set, then the value specified through property &amp;amp;#39;com.openexchange.mail.masterPassword&amp;amp;#39; is taken. Currently known values: session and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.hidePOP3StorageFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether folders which carry a POP3 account shall not be displayed. This property affects primary account only. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.deleteDraftOnTransport&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to delete draft messages when sent out Note: Client MUST provide appropriate value in &amp;amp;quot;sendtype&amp;amp;quot; field; see http://oxpedia.org/wiki/index.php?title=HTTP_API#Send_a_mail &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:145&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.supportMsisdnAddresses&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if MSISDN addresses are supported or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:148&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.translateDefaultFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If set to &amp;amp;#39;false&amp;amp;#39;, translation of names of the mail default folders is not performed, if naming differs from pre-defined default values. Thus custom set names can be specified for Trash, Drafts, Sent &amp;amp;amp; Spam folder. By default this value is &amp;amp;#39;true&amp;amp;#39;.  Pre-defined names are: &amp;amp;quot;Trash&amp;amp;quot; &amp;amp;quot;Drafts&amp;amp;quot; &amp;amp;quot;Sent objects&amp;amp;quot; &amp;amp;quot;Spam&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:160&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.maxMailSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the max. mail size allowed being transported A value of zero or less means infinite. Default is -1 (infinite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:173&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.hideDetailsForDefaultAccount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to hide rather technical data from JSON representation of the primary mail account e.g. port, server name, secure flag, etc. Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:178&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.maxForwardCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the max. number of message attachments that are allowed to be forwarded as attachment Default is 8 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:182&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.account.blacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies a black-list for those hosts that are covered by denoted IP range; e.g. &amp;amp;quot;127.0.0.1-127.255.255.255&amp;amp;quot; An empty value means no black-listing is active Default is empty &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:187&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.imageHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the host/domain from which to load inlined images contained in message content Example &amp;amp;quot;com.openexchange.mail.imageHost=http://my.imagehost.org&amp;amp;quot;. In case no protocol/schema is specified, &amp;amp;quot;http&amp;amp;quot; is assumed by default Default is empty; meaning to load from originating host &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:193&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailServerSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the mail server source for primary mail account; meaning which source is taken to determine the mail server into which the user wants to login to access mails. Set to &amp;amp;#39;global&amp;amp;#39; to take the value specified through property &amp;amp;quot;com.openexchange.mail.mailServer&amp;amp;quot;. Set to &amp;amp;#39;user&amp;amp;#39; to take user&amp;amp;#39;s individual mail server settings as specified in storage. Currently known values: user and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transportServerSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the transport server source for primary transport account; meaning which source is taken to determine the transport server into which the user wants to login to transport mails. Set to &amp;amp;#39;global&amp;amp;#39; to take the value specified through property &amp;amp;quot;com.openexchange.mail.transportServer&amp;amp;quot;. Set to &amp;amp;#39;user&amp;amp;#39; to take user&amp;amp;#39;s individual transport server settings as specified in storage. Currently known values: user and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.masterPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The master password for primary mail/transport server. Only takes effect when property &amp;amp;quot;com.openexchange.mail.passwordSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailServer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Primary mail server: e.g. 192.168.178.32:8143 or imap://192.168.178.32:7143 Only takes effect when property &amp;amp;quot;com.openexchange.mail.mailServerSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transportServer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Primary transport server: e.g. 192.168.178.32:125 or smtp://192.168.178.32:225 Only takes effect when property &amp;amp;quot;com.openexchange.mail.transportServerSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.defaultMailProvider&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The mail provider fallback if an URL does not contain/define a protocol &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mail.mime.charset&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the default MIME charset used for character encoding. This setting will then be accessible through system property &amp;amp;quot;mail.mime.charset&amp;amp;quot;. This parameter takes effect for the complete mail module where no charset is given. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailFetchLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the max. fetch limit; meaning all mails whose count is less than or equal to this value are going to be fetched with all attributes set. Thus these mails can be put into message cache for subsequent list requests. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.attachmentDisplaySizeLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8192&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maximum size of email text attachments that will be displayed inline ( in bytes) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailAccessCacheShrinkerSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the interval seconds of the mail access cache&amp;amp;#39;s shrinker thread &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailAccessCacheIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the idle seconds a mail access may reside in mail access cache before it is removed by shrinker thread &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:63&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.quoteLineColors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;#a14044,#917722,#599351,#516193,#666666&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comma-separated hex values of colors for displaying quoted text emails &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.userFlagsEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable user defined flags &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.loginSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the login source for primary mail/transport account; meaning which source is taken to determine a user&amp;amp;#39;s login for mailing system. If &amp;amp;#39;login&amp;amp;#39; is set, then user&amp;amp;#39;s individual mail login as defined in user storage is taken. If &amp;amp;#39;mail&amp;amp;#39; is set, then user&amp;amp;#39;s individual primary email address is taken. If &amp;amp;#39;name&amp;amp;#39; is set, then user&amp;amp;#39;s individual system&amp;amp;#39;s user name is taken. Currently known values: login, mail, and name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.partModifierImpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.partmodifier.DummyPartModifier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the implementing class of PartModifier. This class is then be used to manipulate the email before displaying. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:73&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.allowNestedDefaultFolderOnAltNamespace&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property defines if the default folders of an user (Draft, Sent, Spam &amp;amp;amp; Trash) are going to be placed right below folder &amp;amp;quot;INBOX&amp;amp;quot; even if feature &amp;amp;quot;altNamespace&amp;amp;quot; is enabled. NOTE: This property requires that subfolders are still permitted below initial folder &amp;amp;quot;INBOX&amp;amp;quot; even though &amp;amp;quot;altNamespace&amp;amp;quot; is enabled. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:80&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.ignoreSubscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines if folder subscription is ignored when listing mail folders If set to &amp;amp;#39;true&amp;amp;#39;, all folders - regardless of their subscription status - are going to be listed &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:85&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.supportSubscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if underlying store should support subscription &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:88&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.defaultSeparator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the separator within folder fullnames if not available from mail server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:91&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The watcher checks after watcherFrequency for mail connections used for more than watcherTime milliseconds and logs this mail connection. If watcherShallClose is set to true those connections will be closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:96&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherFrequency&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define watcher&amp;amp;#39;s frequency in milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:99&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.enforceSecureConnection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;controls whether external mail accounts may only be subscribed if the associated provider supports accessing it by using a secure connection (either SSL or TLS). If neither SSL nor TLS is supported, account subscription is rejected.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_CREDSRC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;session&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify which sieve credentials should be use. Two options are allowed here: &amp;amp;quot;session&amp;amp;quot; : login name and password are used from the current session &amp;amp;quot;session-full-login&amp;amp;quot; : full login (incl. context part) name and password are used from the current session &amp;amp;quot;imapLogin&amp;amp;quot; : the login name is taken from the field imapLogin of the current user the password is taken from the current session &amp;amp;quot;mail&amp;amp;quot; : use the primary mail address of the user and the password from the session &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_SERVER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;to override the  sieve server defaults specify a value for the sieve server here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_PORT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the SIEVE port ----------------------------------------------------------- NOTE: 2000 is the deprecated port number for SIEVE (now assigned to some Cisco SCCP protocol by the IANA) 4190 is the new one used with most recent Linux and IMAP implementations. Please check your system&amp;amp;#39;s default port defined at /etc/services. ----------------------------------------------------------- &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SCRIPT_NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If you want the script to be generated with another script name change it here. Note that the mail filter bundle will then leave the old script with the old script name behind, and doesn&amp;amp;#39;t delete it &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_AUTH_ENC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the charset encoding to use for authentication to sieve server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;NON_RFC_COMPLIANT_TLS_REGEX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;^Cyrus.*v([0-1]\\.[0-9].*|2\\.[0-2].*|2\\.3\\.[0-9]|2\\.3\\.[0-9][^0-9].*)$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the regex which recognizes servers with incorrect sieve TLS implementation &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TLS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to use TLS if available &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_LOGIN_TYPE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify which sieve server should be used. Two options are allowed here: user : use the imap server setting stored for user in the database global : use the sieve server given in this config file for all users &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;VACATION_DOMAINS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify here if vacation messages should only be sent to specific domains If multiple domains are given, they should be separated by &amp;amp;quot;,&amp;amp;quot; e.g. VACATION_DOMAINS=testdomain.com,example.com &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.connectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;30000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies when the connection should time out (value in milliseconds) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.passwordSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;session&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the password source; meaning which source is taken to determine a user&amp;amp;#39;s password to login into mail filter system. If &amp;amp;#39;session&amp;amp;#39; is set, then user&amp;amp;#39;s individual system&amp;amp;#39;s password is taken. If &amp;amp;#39;global&amp;amp;#39; is set, then the value specified through property &amp;amp;#39;com.openexchange.mail.filter.masterPassword&amp;amp;#39; is taken. Currently known values: session and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.masterPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The master password for mail/transport server. Only takes effect when property &amp;amp;quot;com.openexchange.mail.filter.passwordSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.useUTF7FolderEncoding&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property defines if mailbox names shall be UTF-7 encoded as specified in RFC2060; section 5.1.3. &amp;amp;quot;Mailbox International Naming Convention&amp;amp;quot;. Default is &amp;amp;quot;false&amp;amp;quot;; meaning no UTF-7 encoding is performed.  Set to &amp;amp;quot;true&amp;amp;quot; for those Cyrus IMAP server versions that do NOT support &amp;amp;quot;sieve_utf8fileinto&amp;amp;quot; property (e.g. lower than v2.3.11) Set to &amp;amp;quot;true&amp;amp;quot; for those Cyrus IMAP server versions that support &amp;amp;quot;sieve_utf8fileinto&amp;amp;quot; property having that property set to &amp;amp;quot;0&amp;amp;quot;. Thus moving mails with the &amp;amp;#39;fileinto&amp;amp;#39; command will properly work for mailbox names that contain non-ascii characters &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:65&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.punycode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable punycode encoding for the username used in authentication against the managesieve server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:68&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.useSIEVEResponseCodes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;interpret SIEVE Response Codes, see https://tools.ietf.org/html/rfc5804#section-1.3 in most cases, this option must be kept to false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:72&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.redirectWhitelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify a comma-separated list of domains (wild-card syntax supported) that are allowed for redirect rules &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.preferGSSAPI&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether to prefer GSSAPI authentication mechanism if supported by SIEVE backend Default is false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:79&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.concurrentglobal&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the tasks executed by global timer are executed concurrently or by calling timer&amp;amp;#39;s thread. Note: This property only has effect if &amp;amp;quot;com.openexchange.push.malpoll.global&amp;amp;quot; is set to &amp;amp;quot;true&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.folder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INBOX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the folder to look-up for new mails in each mailbox Default is INBOX folder &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.period&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds when to periodically check for new mails. Default is 300000 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.global&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether a global timer is set or a timer per user Or in other words: Do you want a global heartbeat or a heartbeat per per user? Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXBindAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the bind address for JMX agent Use value &amp;amp;quot;*&amp;amp;quot; to let the JMX monitor bind to all interfaces &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXLogin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the JMX login for authentication Leaving this property empty means not to use authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the JMX password in SHA hashed version This property only has effect if previous property &amp;amp;quot;JMXLogin&amp;amp;quot; is set.  The following perl command can be used to generate such a password:  perl -M&amp;amp;#39;Digest::SHA1 qw(sha1_base64)&amp;amp;#39; -e &amp;amp;#39;print sha1_base64(&amp;amp;quot;YOURSECRET&amp;amp;quot;).&amp;amp;quot;=\n&amp;amp;quot;;&amp;amp;#39;  that requires to install the Digest::SHA1 perl module, of course. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;9999&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the port for the RMI Registry. The default is 9999. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXServerPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the JMX RMI Connector Server port. Typically chosen randomly by JVM. The default is -1; meaning that port is randomly determined by JVM &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Determines whether messaging is enabled for this server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| messaging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.contacts.http&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.infostore.http&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.contacts.http.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.infostore.http.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.allowedHosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Optionally specifies the list of accepted host names allowed being subscribed If property is empty, there is no restriction for such subscriptions Otherwise non-matching host names are rejected. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;iPhoneTemplate.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; mobile_configuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobile.configuration.generator.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;winMobileTemplate.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; mobile_configuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobile.configuration.generator.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openxchange.mobilenotifier.enabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sets whether Mobilenotifier module is enabled at all &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobilenotifier.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobilenotifier.mail.maxContentSize &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the maximum content size of the  mail content that should be displayed &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobilenotifiermail.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.msliveconnect&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable MS Live OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| msliveconnectoauth.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.msliveconnect.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_MS_LIVE_CONNECT_KEY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| msliveconnectoauth.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.msliveconnect.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_MS_LIVE_CONNECT_SECRET&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| msliveconnectoauth.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;notify_participants_on_delete &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;object_link&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://[hostname]/[uiwebpath]#m=[module]&amp;amp;amp;i=[object]&amp;amp;amp;f=[folder]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imipForInternalUsers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables/Disables imip-mails for internal users. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.notification.fromSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;defaultSenderAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property defines which email address of a user is used as from header when this user triggers notification mails. Possible values are: primaryMail or defaultSenderAddress &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.maxVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1.0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum valid oauth_version Default value is 1.0. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.v2.maxTimestampAgeMsec&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The range of valid time stamps, in milliseconds into the past or future. So the total range of valid time stamps is twice this value, rounded to the nearest second. Default value is 5 minutes (300000). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.v2.maxVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2.0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum valid OAuth v2 version Default value is 2.0. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;f58c636e089745d4a79679d726aca8b5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The secret identifier &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.maxTimestampAgeMsec&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The range of valid time stamps, in milliseconds into the past or future. So the total range of valid time stamps is twice this value, rounded to the nearest second. Default value is 5 minutes (300000). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.callback&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sets whether call-back policy is enabled when performing OAuth authentication If false; oob (out-of-band) is used which requires user interaction to provide the verifier (pin) Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RMI_HOSTNAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rmi://localhost:1099/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; admin daemon rmi URL  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LOCK_WAIT_TIME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; How long (in seconds) the system should wait for a lock before throwing exceptions  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_RMI_CONNECT_ATTEMPTS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; maximum attempts to reconnect to the admin daemon  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONNECT_ATTEMPTS_DELAY_TIME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; time in seconds to wait between connect attempts  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.help/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-gui-help-plugin.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;additionalPackages&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.eclipse.equinox.event_1.3.0.v20130327-1442.jar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| osgiTest.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;additionalPackages&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| osgiTest.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/mailCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/defaultContactFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; &amp;amp;quot;private&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;can be one of &amp;amp;quot;none&amp;amp;quot;, &amp;amp;quot;private&amp;amp;quot; or &amp;amp;quot;global&amp;amp;quot;. &amp;amp;quot;none&amp;amp;quot; : no folder is selected by default, the user will be asked on first start &amp;amp;quot;private&amp;amp;quot; :  default private addressbook is selected for the user &amp;amp;quot;global&amp;amp;quot; : global addressbook is selected by default for the user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/appointmentDays&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/maxAppointmentBreak&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/subscribedFolders/contacts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; []&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/subscribedFolders/mail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; []&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/subscribedFolders/calendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; []&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/defaultContactStoreFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; -1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.custom.parallels/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property enables the Parallels GUI-Plugins &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels-ui.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/parallels/sender_address_hiding_activated&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;disable/enable default sender address hiding for POA setups &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels-ui.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/parallels/use_parallels_antispam_features&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;should the parallels antispam features be used &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels-ui.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.branding.suffix&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following defines the options for the branding stuff set via &amp;amp;quot;loginmapping&amp;amp;quot; attributes within a context in OX.  Example: If want to brand a context, set a login mapping with a string like this:  BRANDING||&amp;amp;lt;YOUR_POA_BRANDED_HOST&amp;amp;gt;  com.openexchange.custom.parallels.branding.suffix=BRANDING|| Leave empty if not, or the log will fill up with warnings &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.branding.fallbackhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Fallback host which should be used if now branding-host was specified for a context Info: If you need trailing slash, add it here. For compatibility reasons it will not be appended by the server to support also jumping to server scripts  IMPORTANT INFO: the notification.properties attribute: &amp;amp;quot;object_link&amp;amp;quot; MUST be set to include the [hostname] placeholder like: https://[hostname]#m=[module]&amp;amp;amp;i=[object]&amp;amp;amp;f=[folder] If this is not set, the systems hostname is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.antispam.xmlrpc.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This port will be used to communicate with the &amp;amp;quot;POA XML-RPC Service&amp;amp;quot; to retrieve correct spamd hostname and user so that OX can train spamd via socket communication  THIS property below must only contain URL to OX GUI like webmail.system.com/ox6 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.interface_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://&amp;amp;lt;coreserver&amp;amp;gt;:&amp;amp;lt;port&amp;amp;gt;/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; # OpenAPI properties for managing Black&amp;amp;amp;White Lists via OX GUI  This property defines the URL to the HTTP OpenAPI interface of POA &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.auth_enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines if OpenAPI calls should be made with http basic auth &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.sso_info_servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/parallels/info&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Properties for the Parallels Plugin  The property defines the mount point of the parallels info servlet used to retrieve correct hostname for direktlinks and sessiontimeouts/logout page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.auth_id&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;openapi_user_id&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines OpenAPI http basic auth credentials auth id &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.auth_password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;openapi_password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines OpenAPI http basic auth credentials auth password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi_servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/parallels/openapi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The property defines the mount point of the OX OpenAPI servlet implementation. Typically, no need to change it. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.participant.autoSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;When searching for participants and the participants selection dialog is opened this option defines if initially all users, groups and resources are displayed or not. If this option is true every opening of the dialog triggers a search request on the server. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| participant.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.participant.MaximumNumberParticipants&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the maximum number of participants that can be selected for an appointment or a task. This should prevent slow free busy queries and slow server and GUI responses if in large contexts large number of participants are selected. 0 means no limit. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| participant.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.participant.ShowWithoutEmail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;When searching for external participants in contact folders this option defines if contacts without email address are shown. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| participant.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.regexp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[^a-z0-9]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Configures a regular expression pattern to use when calculating the strength if indicating &amp;amp;quot;com.openexchange.passwordchange.showStrength&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot;, i.e. any character not matching the pattern increases the displayed password strength. Defaults to &amp;amp;quot;[^a-z0-9]&amp;amp;quot;.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.special&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;$, _, %&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines a string that is shown as an example of special characters that increase a passwords' strength. This should be a subset of characters matched by the pattern defined at &amp;amp;quot;com.openexchange.passwordchange.regexp&amp;amp;quot;. &lt;br /&gt;
Defaults to &amp;amp;quot;$, _, or %&amp;amp;quot;.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.showStrength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether to show a graphical indicator reflecting the strength of the current password or not. The strength is evaluated based on matching performed against the pattern defined via &amp;amp;quot;com.openexchange.passwordchange.regexp&amp;amp;quot; during typing. Possible values are &amp;amp;quot;true&amp;amp;quot; to show the strength, or &amp;amp;quot;false&amp;amp;quot;, otherwise. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.minLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the minimum required length of a password entered by the user. &lt;br /&gt;
Passwords shorter than the configured length are not accepted. Defaults to  &amp;amp;quot;4&amp;amp;quot;.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.maxLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the minimum required length of a password entered by the user. &lt;br /&gt;
Passwords shorter than the configured length are not accepted. A value of &amp;amp;quot;0&amp;amp;quot; &lt;br /&gt;
disables the check and allows an unlimited length. Defaults to &amp;amp;quot;0&amp;amp;quot;.The maximum length of an entered password. 0 for unlimited. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.allowedPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Optionally configures a pattern to match the entered password against, i.e. &lt;br /&gt;
only passwords matching this pattern will be accepted. Please note that the &lt;br /&gt;
pattern is used to perform a 'positive' test against the entire entered &lt;br /&gt;
password, and only matching strings are accepted, so use appropriate &lt;br /&gt;
quantifiers as needed. For example, if the backslash character '\' should &lt;br /&gt;
not be permitted in passwords, a pattern could look like &amp;amp;quot;[^\\]*&amp;amp;quot;, or, if &lt;br /&gt;
only ASCII characters should be allowed, the pattern &amp;amp;quot;[\x00-\x7F]*&amp;amp;quot; could &lt;br /&gt;
be used (each without the quotation marks). By default, no pattern is &lt;br /&gt;
configured, i.e. all character sequences are allowed.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.allowedPatternHint&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures a string that is shown to users in an error message after trying &lt;br /&gt;
 to save a password not fulfilling the pattern defined in &lt;br /&gt;
 &amp;amp;quot;com.openexchange.passwordchange.allowedPattern&amp;amp;quot;. This text should explain &lt;br /&gt;
 which characters are allowed according to the pattern, and is inserted for &lt;br /&gt;
 &amp;amp;quot;[...]&amp;amp;quot; in the following error message: &amp;amp;quot;The entered password is illegal &lt;br /&gt;
 and can't be saved. Allowed characters are: [...]&amp;amp;quot;. Required if &lt;br /&gt;
 &amp;amp;quot;com.openexchange.passwordchange.allowedPattern&amp;amp;quot; is defined.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.capability.alone&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The property &amp;amp;quot;alone&amp;amp;quot; signals that the user is the only user in associated context/tenant. It disables certain collaborative features and that would therefore be useless in such a context/tenant. Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| permissions.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.capability.filestore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Signal if file store is available or not Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| permissions.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3TemporaryDown&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds a POP3 server is treated as being temporary down. A POP3 server is treated as being temporary down if a socket connect fails. Further requests to the affected POP3 server are going to be denied for the specified amount of time. A value less or equal to zero disables this setting. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3AuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for POP3 authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.spamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DefaultSpamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the registration name of the appropriate spam handler to use &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3ConnectionIdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds an established POP3 connection is kept open although being idle. Since some POP3 servers limit the time period in which connections may be opened/closed, this property allows to keep the connection open to avoid an error on a subsequent login. This property overwrites default connection idle time specified through property &amp;amp;quot;com.openexchange.mail.mailAccessCacheIdleSeconds&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3Timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket I/O timeout value in milliseconds. A value less than or equal to zero is infinite timeout. See also mail.pop3.timeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3BlockSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the number of messages (positive integer!) which are allowed to be processed at once. Default is 100. Zero or negative value is defaulted to 100. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.allowPing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether ping operation is allowed for POP3 account Many POP3 account limit number of allowed login attempts in a certain time interval Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.logDeniedPing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether denied ping operation shall be indicated as a warning to client Only effective if &amp;amp;quot;com.openexchange.pop3.allowPing&amp;amp;quot; is set to false. Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.ssl.protocols&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SSLv3 TLSv1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace separated list of tokens. Default value is: SSLv3 TLSv1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.ssl.ciphersuites&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL cipher suites that will be enabled for SSL connections. The property value is a whitespace separated list of tokens.  Check &amp;amp;quot;http://&amp;amp;lt;ox-grizzly-hostname&amp;amp;gt;:&amp;amp;lt;ox-grizzly-port&amp;amp;gt;/stats/diagnostic?param=ciphersuites&amp;amp;quot; to check available cipher suites.  Default value is empty (fall-back to current JVM&amp;amp;#39;s default SSL cipher suite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3ConnectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket connection timeout value in milliseconds. A value less or equal to zero is infinite timeout. See also mail.pop3.connectiontimeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.quota&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10485760&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the total quota for preview cache for each context This value is used if no individual context quota is defined. A value of zero or less means no quota Default is 10485760 (10MB) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.quotaPerDocument&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;524288&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the quota per document for preview cache for each context This value is used if no individual quota per document is defined. A value of zero or less means no quota Default is 524288 (512KB) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.type&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;FS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies what type of storage is used for caching previews Either file store (&amp;amp;quot;FS&amp;amp;quot;) or database (&amp;amp;quot;DB&amp;amp;quot;). Default is &amp;amp;quot;FS&amp;amp;quot; (file store) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.quotaAware&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies if storing previews in file store affects user&amp;amp;#39;s file store quota or not Only applies if &amp;amp;quot;com.openexchange.preview.cache.type&amp;amp;quot; is set to &amp;amp;quot;FS&amp;amp;quot; Default is false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The switch to enable/disable the preview cache Default is true (enabled) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.probe.alias&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/healthProbe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The alias name in the URI namespace at which the probe is registered Default value: /healthProbe &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| probe.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.publish.microformats.usesWhitelisting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if set to true, the contents of a microformatted publication will be processed through a whitelisting filter that removes elements that are considered potentially unsafe. We recommend you use this in case you do not have publications on a different subdomain. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publications.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_hcard_censored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish, default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_hcard_uncensored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_oxmf_censored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_oxmf_uncensored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;infostore.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; infostore, publish, default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;infostore_gallery.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; infostore, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.ms.maxDelayDuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum time in milliseconds a push object may be delayed before finally pushing it to the clients Default value: 600000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-ms.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.ms.delayDuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Time in milliseconds after which a queued object object is pushed to clients unless it got delayed again due to modifications of the push object within the delayDuration or modifications within the folder of the push object. Default value: 120000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-ms.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.remoteHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;list of open-xchange servers that should be connected when multicast is disabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.registerTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;time in milliseconds a client registration is kept &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.registerPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;44335&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Port where the clients send the push registration request to. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.registerDistributionEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;only one of registerDistribution or eventDistribution can be enabled at the same time. if set to true, registrations are distributed to all ox servers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.eventDistributionEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if set to true, events will be distributed to all Open-Xchange servers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.outputQueueDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;time in milliseconds after which queued &amp;amp;quot;push&amp;amp;quot; packages are sent to clients &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.hostname&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if empty, then the output of the java function getHostName will be used. This name is used for internal communication. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.senderAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;address used as the sender address when UDP packages are sent to the clients (should be the IP address of the load balancer in front of the Open-Xchange server farm &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.multicastEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true/false Send register information per multicast &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.multicastAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;224.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IP multicast address &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.multicastPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;9982&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Multicast port &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.pushEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;defines if server push port gets opened or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.pushmode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;always&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;when to fire push events? possible values: newmail,always default: always Explanation: newmail means to only send a push event in case of at least one new mail has arrived. NOTE: Using dovecot this does only work when only ONE concurrent session of the same user is active. always  send a push event for every changes to the users mailbox. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.folder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INBOX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the folder to look-up for new mails in each mailbox Default is INBOX folder &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.delay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Waiting time in milliseconds before a reconnect is performed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.clusterLock&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;hz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies what system to use to manage a cluster-lock &lt;br /&gt;
 Possible values: &lt;br /&gt;
 - &amp;quot;db&amp;quot; for database-based locking &lt;br /&gt;
 - &amp;quot;hz&amp;quot; for Hazelcast-based locking (default) &lt;br /&gt;
 - &amp;quot;none&amp;quot; for no cluster lock mechanism&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.udp_listen_multicast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if the listener should receive multicast messages &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.use_ox_login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to use the ox login name to check for a valid push event. The default is to only check the users aliases. If mailboxname@example.com is not contained in the list of aliases, set this to true. Warning: This won&amp;amp;#39;t work in multidomain setups where the same login might exist in different contexts! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.use_full_email_address&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to use the full email address from aliases or just use the localpart. When using a multidomain setup where the imap login is an email address, this should be set to true. If not, login might not be unique because foo@example.com and foo@example.net might be different users. Note: Do NOT set com.openexchange.push.mail.notify.imap_login_delimiter in this case! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.udp_listen_host&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the hostname or interface/multicast group where the udp server should listen &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.udp_listen_port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;23420&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the port where the udp server should listen &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.delay_millis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;specifies the delay time frame in which incoming UDP events are collected and send out as one push event to the OX cluster. Default is 5000 milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quartz.startLocalScheduler &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Wether the local quartz scheduler instance should be started. If false, this node is unable to perform local jobs. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quartz.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quartz.localThreads &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of worker threads for the local scheduler instance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quartz.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.contact&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of contacts that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any contact in affected context. &lt;br /&gt;
Default is -1 (unlimited) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.infostore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of documents that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), &lt;br /&gt;
but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any document in affected context. &lt;br /&gt;
Default is -1 (unlimited)  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.attachment&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of attachments bound to PIM objects that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), &lt;br /&gt;
but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any attachment in affected context. &lt;br /&gt;
Default is -1 (unlimited) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.calendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of appointments that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
 Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad),  but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any appointment in affected context.  Default is -1 (unlimited)  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.task&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of tasks that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
 Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate  exception being thrown, denying to further create any task in affected context. &lt;br /&gt;
 Default is -1 (unlimited)  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.realtime.isTraceAllUsersEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable tracing for all users. Default value: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| realtime.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.realtime.usersToTrace&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable tracing only for a set of users by using the userID@contextID notation e.g.: 1@1, 2@1, 3@1 Default value: empty set &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| realtime.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.errorDir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;n/a&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A temporary directory, containing files that could not be converted due to an error condition or due to a timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| realtime.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;errorMessage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Error!!!&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The displayd error Message. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| recaptcha.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;publicKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API Key to use the recaptcha Service This is hosted by Google, so you need an Google Account to receive API Keys Go to: http://www.google.com/recaptcha to generate keys. Use the global-key option to avoid domain restrictions. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| recaptcha.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;privateKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| recaptcha.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.useproxy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This defines if a proxy server should be used to establish the http connection to the Open-Xchange report server, and if which server and proxy details to use. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.address&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;proxy.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8080&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.authrequired&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.username&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PASSWORD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.isEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable the requestwatcher. Default value: true (enabled). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.frequency&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 30000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the requestwatcher&amp;amp;#39;s frequency in milliseconds. Default value: 30000. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.maxRequestAge&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the maximum allowed age of requests in milliseconds. Default value: 60000. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.restartPermission&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Permission to stop &amp;amp;amp; re-init system (works only for the ajp connector) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RESELLER_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.reseller.storage.mysqlStorage.OXResellerMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reseller.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rmi.host &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set this to 0 to bind on all interfaces &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rmi.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rmi.port &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1099&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rmi.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.rss&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the RSS Messaging Service is available or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rssmessaging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtClientMapping-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtIDMapping-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtResourceDirectory-2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;86400&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtStanzaStorage-0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.secret.secretSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;&amp;amp;lt;password&amp;amp;gt;&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the source for secret (used to decrypt/encrypt user passwords) &amp;amp;lt;password&amp;amp;gt;:   Denotes the session&amp;amp;#39;s password (also the fall-back to previous handling) &amp;amp;lt;user-id&amp;amp;gt;:    Denotes the user identifier &amp;amp;lt;context-id&amp;amp;gt;: Denotes the context identifier &amp;amp;lt;random&amp;amp;gt;:     Denotes the value specified in property &amp;amp;#39;com.openexchange.secret.secretRandom&amp;amp;#39; &amp;amp;lt;list&amp;amp;gt;:       Step-wise trial-and-error with tokens specified in file &amp;amp;#39;secrets&amp;amp;#39; Literals are surrounded by single-quotes E.g. com.openexchange.secret.secretSource=&amp;amp;quot;&amp;amp;lt;user-id&amp;amp;gt; + &amp;amp;#39;@&amp;amp;#39; + &amp;amp;lt;context-id&amp;amp;gt;&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| secret.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.secret.secretRandom&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;eb495148-a9f8-441e-8a28-dcb9eecd60f9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The random secret token &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| secret.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.hash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;calculate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the hash value for the cookie name should be calculated or remembered from the session for each request. Possible values are: calculate (default) - Calculate hash from client login parameter and HTTP header User-Agent (may be modified through c.o.cookie.hash.fields) remember - remember once calculated hash in session and use it for the whole session life time (less secure) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:101&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.hash.salt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replaceMe1234567890&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cookie hash salt to avoid a potential brute force attack to cookie hashes. This value should be replaced by any random String with at least 16 Characters. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:105&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.forceHTTPS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If an HTTPS connection is detected the cookie is automatically marked as secure. This tells the browser only to send the cookie over encrypted connections. If HTTPS is terminated in front by some load balancer only HTTP is detected. Then this parameter can force to set the secure flag for cookies. Additionally all links generated inside the groupware to point at itself will use the https:// protocol prefix when this is set. Use this flag to indicate that HTTPS termination happens elsewhere. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:111&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxActiveSessions&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;250000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum number of active sessions that will be created by this Manager, or -1 for no limit. Default is 250.000 HTTP sessions &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UPLOAD_DIRECTORY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/spool/open-xchange/uploads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Upload Parameter. All uploads that are done by a client are temporarily saved in that directory. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxInactiveInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1800&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The initial maximum time interval, in seconds, between client requests before a HTTP session is invalidated. This only applies to the HTTP session controlled by special JSESSIONID cookie, and does therefore not influence life-time of Groupware session. A negative value will result in sessions never timing out. If the attribute is not provided, a default of 1800 seconds is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:121&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxBodySize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;104857600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the maximum body size allowed being transferred via PUT or POST method A request exceeding that limit will be responded with a 500 error and that request is discarded Equal or less than zero means no restriction concerning body size By default limit is set to 100MB (104857600 bytes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.echoHeaderName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;X-Echo-Header&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the echo header whose value is echoed for each request providing that header &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:130&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.contentSecurityPolicy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The value of Content-Security-Policy header Please refer to An Introduction to Content Security Policy (http://www.html5rocks.com/en/tutorials/security/content-security-policy/) Default value is empty; meaning no Content-Security-Policy header &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:135&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateTimeWindow&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the rate limit&amp;amp;#39; time window in which to track incoming HTTP requests Default value is 300000 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:139&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the rate limit that applies to incoming HTTP requests A client that exceeds that limit will receive a &amp;amp;quot;429 Too Many Requests&amp;amp;quot; HTTP error code That rate limit acts like a sliding window time frame; meaning that it considers only requests that fit into time windows specified through &amp;amp;quot;com.openexchange.servlet.maxRateTimeWindow&amp;amp;quot; from current time stamp: window-end := $now window-start := $window-end - $maxRateTimeWindow Default value is 500 requests per $maxRateTimeWindow (default: 5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:148&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateLenientModules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rt, system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify those AJAX-accessible modules which are excluded from the rate limit checks Default value: rt, system &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:152&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateLenientClients&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;Open-Xchange .NET HTTP Client*&amp;amp;quot;, &amp;amp;quot;Open-Xchange USM HTTP Client*&amp;amp;quot;, &amp;amp;quot;Jakarta Commons-HttpClient*&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify (wildcard notation supported) those User-Agents which are excluded from the rate limit checks Default value: &amp;amp;quot;Open-Xchange .NET HTTP Client*&amp;amp;quot;, &amp;amp;quot;Open-Xchange USM HTTP Client*&amp;amp;quot;, &amp;amp;quot;Jakarta Commons-HttpClient*&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:156&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateKeyPartProviders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify how to associate a rate limit with a HTTP request By default a rate limit is associated with that tuple of { remote-address, user-agent } This does not apply to all scenarios. Therefore it is possible to specify more parts in a comma-separated list that build up the key. Possible values are: - &amp;amp;quot;http-session&amp;amp;quot;                   := The identifier of the request-associated HTTP session aka JSESSIONID cookie - &amp;amp;quot;cookie-&amp;amp;quot; + &amp;amp;lt;cookie-name&amp;amp;gt;        := Specifies the (ignore-case) name of the arbitrary cookie whose value is considered. If missing it is ignored. - &amp;amp;quot;header-&amp;amp;quot; + &amp;amp;lt;header-name&amp;amp;gt;        := Specifies the (ignore-case) name of the arbitrary header whose value is considered. If missing it is ignored. - &amp;amp;quot;parameter-&amp;amp;quot; + &amp;amp;lt;parameter-name&amp;amp;gt;  := Specifies the (ignore-case) name of the arbitrary parameter whose value is considered. If missing it is ignored.  E.g. com.openexchange.servlet.maxRateKeyPartProviders=cookie-My-Secret-Cookie, parameter-request_num  Default is empty; meaning only remote-address and user-agent are considered &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:170&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.log.suppressedCategories&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER_INPUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies a comma-separated list of those error categories that shall not be logged Default value is: USER_INPUT &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:174&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.log.maxMessageLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies max. message length to log. Messages that exceed that limit are split. A value of less than 1 means unlimited. Default is -1 (unlimited) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:179&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.json.maxSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the max. number of allowed attributes for a JSON object &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:182&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.webdav.disabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Setting this to true means that the WebDav XML servlets for attachments, calendar, contacts and tasks will be disabled. On requests to these servlets a service-not-available (503) response will be sent. See &amp;amp;quot;webdav-disabled-message.txt&amp;amp;quot; to customize the detailed error message that will be sent. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:187&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.response.includeStackTraceOnError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the JSON response object should provide the stack trace of the associated exception &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:190&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.connector.networkListenerHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The host for the connector&amp;amp;#39;s (ajp, http) network listener. Set to &amp;amp;quot;*&amp;amp;quot; if you want to listen on all available interfaces. Default value: 127.0.0.1, bind to localhost only. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:195&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.connector.networkListenerPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8009&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The default port for the connector&amp;amp;#39;s (ajp, http) network listener. Default value: 8009. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:199&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;104857600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the sum of all uploaded files in one request is greater than this value, the upload will be rejected. This value can be overridden on a per-module basis by setting the MAX_UPLOAD_SIZE parameter in the modules config file (attachment.properties or infostore.properties). Or it can be overriden on a per-user basis by setting the upload_quota in the mail configuration of this user If this value is set to 0 and not overridden by the module config or user config uploads will be unrestricted. The size is in bytes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.connector.maxRequestParameters&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the max. number of allowed request parameters for the connector (ajp, http) Default value: 30 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:203&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.backendRoute&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;To enable proper load balancing and request routing from {client1, client2 .. .} --&amp;amp;gt; balancer --&amp;amp;gt; {backend1, backend2 ...} we have to append a backend route to the JSESSIONID cookies separated by a &amp;amp;#39;.&amp;amp;#39;. It&amp;amp;#39;s important that this backend route is unique for every single backend behind the load balancer. The string has to be a sequence of characters excluding semi-colon, comma and white space so the JSESSIONID cookie stays in accordance with the cookie specification after we append the backendroute to it. Default value: OX0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:213&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.considerXForwards&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Decides if we should consider X-Forward-Headers that reach the backend. Those can be spoofed by clients so we have to make sure to consider the headers only if the proxy/proxies reliably override those headers for incoming requests. Default value: true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:219&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.forHeader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;X-Forwarded-For&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the protocolHeader used to identify the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer. This is needed for grizzly based setups that make use of http proxying. If the header isn&amp;amp;#39;t found the first proxy in front of grizzly will be used as originating IP/remote address. Default value: X-Forwarded-For &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:227&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.knownProxies &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A list of know proxies in front of our httpserver/balancer as comma separated IPs e.g: 192.168.1.50, 192.168.1.51 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:230&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.html.css.parse.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the amount of seconds to wait for a CSS content being parsed This property influences parsing of HTML messages. If CSS could not be parsed in time, CSS is stripped from message&amp;amp;#39;s content. Default value is 4 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:235&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_IDLE_TIME_MILLIS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. idle time in milliseconds for an uploaded file temporary stored in upload directory &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.log.suppressedCategories&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER_INPUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the OXException categories (comma separted) to be suppressed when logging. The Exception itself will still be logged as configured, but the StackTraces are omitted. Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING Default is USER_INPUT. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:241&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rest.services.basic-auth.login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the user name used for HTTP basic auth by internal REST servlet  Both settings need to be set in order to have basic auth enabled - &amp;amp;quot;com.openexchange.rest.services.basic-auth.login&amp;amp;quot; and &amp;amp;quot;com.openexchange.rest.services.basic-auth.password&amp;amp;quot;  Default is empty. Please change! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:248&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rest.services.basic-auth.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the password used for HTTP basic auth by internal REST servlet  Both settings need to be set in order to have basic auth enabled - &amp;amp;quot;com.openexchange.rest.services.basic-auth.login&amp;amp;quot; and &amp;amp;quot;com.openexchange.rest.services.basic-auth.password&amp;amp;quot;  Default is empty. Please change! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:255&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_BODY_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. HTTP body size Zero or less means infinite. /!\   Deprecated: Use &amp;amp;quot;com.openexchange.servlet.maxBodySize&amp;amp;quot; instead   /!\ &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.defaultMaxConcurrentAJAXRequests&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The default max. number of allowed concurrent requests per user This property only has effect if no individual value has been specified for active user A value less than or equal to zero means infinite &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DefaultEncoding&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFAULT ENCODING FOR INCOMING HTTP REQUESTS This value MUST be equal to web server&amp;amp;#39;s default encoding &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.MinimumSearchCharacters&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Minimum number of characters a search pattern must contain. 0 means no minimum. This should prevent slow searches for contacts or big responses in large contexts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PUBLISH_REVOKE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;e-mail address of a person that can be called if data has been published and the actual owner of the data objects to the publication. If removed or left empty, the e-maill address of the context admin is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPCheck&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;On session validation of every request the client IP address is compared with the client IP address used for the login request. If this configuration parameter is set to &amp;amp;quot;true&amp;amp;quot; and the client IP addresses do not match the request will be denied and the denied request is logged with level info. Setting this parameter to &amp;amp;quot;false&amp;amp;quot; will only log the different client IP addresses with debug level.  WARNING! This should be only set to &amp;amp;quot;false&amp;amp;quot; if you know what you are doing and if all requests are secure - requests are always encrypted by using HTTPS. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPMaskV4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Subnet mask for accepting IP-ranges. Using CIDR-Notation for v4 and v6 or dotted decimal only for v4. Examples: com.openexchange.IPMaskV4=255.255.255.0 com.openexchange.IPMaskV4=/24 com.openexchange.IPMaskV6=/60 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:64&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPMaskV6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:65&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPCheckWhitelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify a comma-separated list of client patterns that do bypass IP check E.g. com.openexchange.IPCheckWhitelist=&amp;amp;quot;Mobile App*&amp;amp;quot;, &amp;amp;quot;Foo*&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.UIWebPath&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ox6/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the path on the web server where the UI is located. This path is used to generate links directly into the UI. The default conforms to the path where the UI is installed by the standard packages on the web server. This path is used for the [uiwebpath]. For the Open-Xchange 6 frontend the path needs to be configured to &amp;amp;quot;/ox6/index.html&amp;amp;quot; which is still the default. For the App Suite frontend the path needs to be configured to &amp;amp;quot;/appsuite/&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dispatcher.prefix&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the prefix for Central Dispatcher framework (the Open-Xchange AJAX interface) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:78&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PrefetchEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable or disable SearchIterator prefetch. If prefetch is enabled the underlying ResultSet data is completely stored and all related resources are released immediately when creating a SearchIterator. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.ttl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1W&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The time-to-live for session, secret and JSESSIONID cookie. Note: Time-to-live is only relevant for session and secret cookie, if autologin is enabled as well. Autologin is configured in sessiond.properties by &amp;amp;quot;com.openexchange.sessiond.autologin&amp;amp;quot; property. Can contain units of measurement: D (=days) W(=weeks) H(=hours).  Special identifier &amp;amp;quot;web-browser&amp;amp;quot; to let the Cookie(s) be deleted when the Web browser exits &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:87&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.httpOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the &amp;amp;quot;; HttpOnly&amp;amp;quot; should be appended to server cookies exits &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:90&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateLenientRemoteAddresses&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;That property allows to specify (wildcard notation supported) those remote addresses/IPs which are excluded from the rate limit checks. Default value is empty. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.thumbnail.blockingWorker&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The backend either delivers a thumbnail when it's available from cache or fails fast while initiating the thumbnail creation/caching in the background. The advantage is that clients aren't blocked and can simply retry later when the thumbnail can be delivered from cache. &lt;br /&gt;
If there is no cache configured for the user/context: &lt;br /&gt;
We either have to generate the thumbnail on the fly which has the potential to block the whole client by occupying the max number of allowed connections to the domain or simply fail fast which leaves the client responsive but without thumbnails &lt;br /&gt;
Default value is &amp;amp;quot;false&amp;amp;quot; to keep the client responsive. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sessionId2token-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. This value should be set equal to value of property &amp;amp;quot;com.openexchange.tokenlogin.maxIdleTime&amp;amp;quot; in file &amp;amp;quot;tokenlogin.properties&amp;amp;quot;. Defaults to 300 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.maxSessionPerClient&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the number of sessions allowed per client (Web UI, EAS, WebDAV, ...) and user. A value equal to or less than zero means unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.sessionDefaultLifeTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Life time (in milliseconds) of a session in the short term session containers. After this time the session is put into the long life time container and all temporary session data is removed. This only applies if com.openexchange.sessiond.autologin is enabled. Short term session containers are rotated every 6 minutes. Therefore this value should be a multiple of 6 minutes.  Default is 3600000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.sessionLongLifeTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1W&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This amount of time a session can live without any interaction, if com.openexchange.sessiond.autologin is enabled. First the session lives in the short term session container, see configuration option com.openexchange.sessiond.sessionDefaultLifeTime. Then the session is moved into the long term session container. The session can be restored from here, but it won&amp;amp;#39;t have any temporary session data anymore. Restoring temporary session data may cause some slower functionality and maybe temporary errors on image, proxy data or the like. The overall time a session can live is defined by this option. The life time in the long term session container is the time configured here subtracted by the time in the short term session container. Can contain units of measurement: D(=days) W(=weeks) H(=hours) M(=minutes). Long term session containers are rotated every hour. Therefore this value should be a multiple of 1 hour. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.randomTokenTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;30000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The random token to access a newly created session is valid for this configured time. Can contain units of measurement: D(=days) W(=weeks) H(=hours) M(=minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.autologin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether autologin is allowed or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.encryptionKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;auw948cz,spdfgibcsp9e8ri+&amp;amp;lt;#qawcghgifzign7c6gnrns9oysoeivn&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Key to encrypt passwords during transmission during session migration. Change this, and make sure it&amp;amp;#39;s the same in the entire cluster &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.asyncPutToSessionStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify if sessions shall be put asynchronously to session storage Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.maxSession&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of concurrent sessions, 0 stands for unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.maxSessionPerUser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of concurrent sessions per user, a value less than or equal to zero means unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.remoteParameterNames&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the colon-separated names of such parameters that are supposed to be taken over from session to stored session representation. The parameter names MUST NOT contain the ':' colon character that serves a delimiter. E.g. com.openexchange.sessiond.remoteParameterNames=remoteParameter1:remoteParameter2:...:remoteParameterN &lt;br /&gt;
# By default this setting is empty.Maximum number of concurrent sessions per user, a value less than or equal to zero means unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sessions-6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;640000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. To avoid unnecessary eviction, the value should be higher than the configured &amp;amp;#39;com.openexchange.sessiond.sessionLongLifeTime&amp;amp;#39; in &amp;amp;#39;sessiond.properties&amp;amp;#39;. Defaults to 640000 (a bit more than a week). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessionstorage.hazelcast.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enabled/disable Hazelcast-based session storage &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionstorage-hazelcast.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.smal.blacklist &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; *&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify host names of mail backends that shall be excluded from index access. If set to *, only the primary mail account is allowed to be indexed. Leave empty to allow indexing for all external mail accounts.  Example: gmail.com,googlemail.com &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smal.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpAuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for SMTP authentication Default is UTF-8 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpAuthentication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable SMTP Authentication Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.setSMTPEnvelopeFrom&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines if SMTP header ENVELOPE-FROM should be explicitly set to user&amp;amp;#39;s primary email address or not Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket I/O timeout value in milliseconds. A value less than or equal to zero is infinite timeout. See also mail.smtp.timeout Default is 50000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpConnectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket connection timeout value in milliseconds. A value less or equal to zero is infinite timeout. See also mail.smtp.connectiontimeout Default is 10000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.logTransport&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether a transported message shall be logged providing &amp;amp;quot;Message-Id&amp;amp;quot; header, login, and SMTP server information Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.ssl.protocols&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SSLv3 TLSv1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace separated list of tokens. Default value is: SSLv3 TLSv1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.ssl.ciphersuites&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL cipher suites that will be enabled for SSL connections. The property value is a whitespace separated list of tokens.  Check &amp;amp;quot;http://&amp;amp;lt;ox-grizzly-hostname&amp;amp;gt;:&amp;amp;lt;ox-grizzly-port&amp;amp;gt;/stats/diagnostic?param=ciphersuites&amp;amp;quot; to check available cipher suites.  Default value is empty (fall-back to current JVM&amp;amp;#39;s default SSL cipher suite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpLocalhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;null&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The localhost name that is going to be used on SMTP&amp;amp;#39;s HELO or EHLO command. The default is set to InetAddress.getLocalHost().getHostName() but if either JDK or name service are not configured properly, this routine fails and the HELO or EHLO command is send without a name which leads to an error: &amp;amp;quot;501 HELO requires domain address&amp;amp;quot; The value &amp;amp;quot;null&amp;amp;quot; falls back to InetAddress.getLocalHost().getHostName() which works in most cases. Default is &amp;amp;quot;null&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.nosql.cassandra.snappyjava.nativelibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; @oxsnappydir@/lib&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Path for native libs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| snappy.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.entityExpansionLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;128000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Java platform limits the number of entity expansions that are allowed for a single XML document. Default is 128000, which is considered to be a pretty large number for any real life application.  However, if any application does need to have a higher limit, this property (which maps to &amp;amp;#39;entityExpansionLimit&amp;amp;#39; system property) can be increased to the desired size. Setting it to 0 (zero) means unlimited.  Default value is 128000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.baseAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the base address for published end points; e.g. &amp;amp;quot;http://www.myserver.com/myservices&amp;amp;quot; Default is empty; meaning to use running machine&amp;amp;#39;s address &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.hideServiceListPage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether to hice service list page Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:9&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.disableAddressUpdates&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;prevents the URL manipulation Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.solrHome &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the home directory of the embedded Solr server. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.libDir &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/lib&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the library directory of the embedded Solr server. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configDir &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration directory of the embedded Solr server. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.schemaMail &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/schema-mail.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the schema file for the mail index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configMail &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/solrconfig-mail.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration file for the mail index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.schemaInfostore &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/schema-infostore.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the schema file for the infostore index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configInfostore &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/solrconfig-infostore.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration file for the infostore index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.schemaAttachments &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/schema-attachments.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the schema file for the attachment index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configAttachments &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/solrconfig-attachments.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration file for the attachment index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.isSolrNode &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates whether this OX node is a Solr node or not. Being a Solr node means that this node will be used to perform Solr searches and jobs like indexing mailboxes etc. If set to false, all index search actions will be delegated to a Solr node. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;783&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the port of the spamassassin daemon here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the timeout after which the try to connect is aborted here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.retries&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the connect retries here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.spamd&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Choose if a mail should be send to spamd afterwards &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.retrysleep&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the connect retries sleep here. This is how log should be waited between the different tries. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.unsubscribeSpamFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates whether the confirmed-spam/confirmed-ham folders shall automatically be unsubscribed during login. Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.hostname&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the hostname of the spamassassin daemon here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.spamhandler.spamexperts/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property enables the Spamexperts Iframe GUI-Plugins &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts-ui.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel_servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/spamexperts/panel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The next property defines the mount point of the panel servlet  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.api_interface_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://demo1.spambrand.com/api/authticket/create/username/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; URL of spamexperts Interface to generate new sessions  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.admin_user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;admin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines the username which should be used as basic auth   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.admin_password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;demo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines the password which should be used as basic auth   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.api_auth_attribute&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Which user attribute should be used for authentication against panel API  Possible values: - imaplogin -&amp;amp;gt; Users IMAP login - mail -&amp;amp;gt; Users mail address - login -&amp;amp;gt; String which user entered at login mask - username -&amp;amp;gt; Users &amp;amp;quot;username&amp;amp;quot; attribute. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.web_ui_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://demo1.spambrand.com/?authticket=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Defines the URL where the panel is available  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.imapurl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; the imap url to the spamexperts imap server  Example: imap://myserver.example.com  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.imapuser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; username to authenticate against the imap server  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.imappassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; password to authenticate against the imap server  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:65&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.trainspamfolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Foldername of folder to place spam mails in order to train the system  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:70&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.trainhamfolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Not Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Foldername of folder to place ham mails in order to train the system  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.cloudmark.targetHamEmailAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the eMail address to which the selected eMails will be bounced, if they are marked as Ham. If no address is specified the bounce will be skipped, but moving the selected mails back to the Inbox will still be processed (if configured). Privacy note: This will send private mails of users to that address when marked as Ham &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamhandler_cloudmark.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.cloudmark.targetSpamFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines to which folder the selected mails should be moved to after they have been bounced to the target eMail address. If no option is configured the selected mails will be moved to the users trash folder. Possible options are:  0 = Do not move the message at all 1 = User&amp;amp;#39;s trash folder (Default) 2 = User&amp;amp;#39;s SPAM folder 3 = Subscribed confirmed-spam folder (experimental) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamhandler_cloudmark.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.cloudmark.targetSpamEmailAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the eMail address to which the selected eMails will be bounced. If no address is specified the bounce will be skipped, but moving the selected mails to the target folder will still be processed (if configured) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamhandler_cloudmark.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/open-xchange-db_6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/open-xchange-db_6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/ox_test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/ox_test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://devel-master.netline.de/openexchangeHEAD_14&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.autorun&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines whether subscriptions should be run automatically on login, if a given interval has elapsed The intervals default to one day, but can be configured individually by subscription type in the subscription source specific configuration files &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| subscribe.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serviceUsageInspection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enabled/disable service usage inspection. If enabled, all services obtained and managed by ServiceHolder class will be tracked to ensure all services are put back (via unget) within a certain amount of time. The time range can be defined through property &amp;amp;#39;serviceUsageTimeout&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serviceUsageTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The service usage timeout in milliseconds. This property only has effect if property &amp;amp;#39;serviceUsageInspection&amp;amp;#39; is set to &amp;amp;#39;true&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MimeTypeFileName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mime.types&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the MIME type file &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UserConfigurationStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Caching&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the class implementing the UserConfigurationStorage. Currently known aliases: Caching, DB &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cache&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Switch for enabling caching in the groupware. Normally this should be set to true or the database will get a lot more load. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CalendarSQL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.groupware.calendar.CalendarMySQL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SERVER_NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;local&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Server name registered by registerserver in the configuration database can be read with listservers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.config.cascade.scopes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user, context, contextSets, server&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The scopes to use in the config cascade, and their precedence &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caching.configfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cache.ccf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Location of default cache configuration file &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.freqmillis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Frequency millis &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.factor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Increase factor &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.sleepmillis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Time to waste per task &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.rampup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Ramp-up count &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.maximumPoolSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2147483647&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum number of threads to allow in the pool. Default is max. integer value of 2^31 - 1 which is considered as unlimited max. number of threads. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.keepAliveTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;When the number of threads is greater than the core, this is the maximum time (in milliseconds) that excess idle threads will wait for new tasks before terminating. Default is 60000msec &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.workQueue&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;synchronous&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The queue type to use for holding tasks before they are executed. This queue will hold only the tasks submitted by the execute method. Supported values: synchronous and linked A synchronous queue is an appropriate choice when &amp;amp;quot;com.openexchange.threadpool.maximumPoolSize&amp;amp;quot; is unlimited and possible rejection of tasks is allowed. A synchronous queue has no capacity, it rather acts as a direct hand-off of tasks to an already waiting worker thread and will deny the task if there is no further worker thread to process the task. A linked queue is an appropriate choice when &amp;amp;quot;com.openexchange.threadpool.maximumPoolSize&amp;amp;quot; is limited and rejection of tasks is prohibited. A linked queue has a (fixed) capacity to store submitted tasks which have to wait for a worker thread to become ready. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.corePoolSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of threads to keep in the pool, even if they are idle. If unsure follow this rule: Number of CPUs + 1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.workQueueSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The size of the work queue. Zero means unlimited size. Note: If this property is set to a value greater than zero, property &amp;amp;quot;com.openexchange.threadpool.workQueue&amp;amp;quot; is implicitly set to &amp;amp;quot;linked&amp;amp;quot; to accomplish a fixed-size work queue. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.blocking&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable blocking behavior. A blocking behavior means that caller is blocked until space becomes available in working queue. This is useful for installation with limited capacities concerning max. number of threads and a bounded blocking work queue. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.refusedExecutionBehavior&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;abort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The default behavior to obey when execution is blocked because the thread bounds and queue capacities are reached. Supported values: abort, caller-runs, discard abort: Aborts execution by throwing an appropriate exception to the caller caller-runs: The caller is considered to run the task if thread pool is unable to do so discard: The task is silently discarded. No exception is thrown. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.prestartAllCoreThreads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Starts all core threads, causing them to idly wait for work. This overrides the default policy of starting core threads only when new tasks are executed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;token2sessionId-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. This value should be set equal to value of property &amp;amp;quot;com.openexchange.tokenlogin.maxIdleTime&amp;amp;quot; in file &amp;amp;quot;tokenlogin.properties&amp;amp;quot;. Defaults to 300 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.tokenlogin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable or disable token-login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| tokenlogin.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.tokenlogin.maxIdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the maximum time (in milliseconds) a token may be idle before it is evicted Default is 300000 (5 minutes) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| tokenlogin.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable to publish email attachments if quota is exceeded rather than throwing an appropriate error.  ------- /!\ Please be aware that this option requires infostore module to be enabled! /!\ -------  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.publishingPublicInfostoreFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;i18n-defined&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the publishing infostore folder which is created below public infostore folder. The denoted folder is created if absent only if &amp;amp;quot;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;amp;quot; is enabled The special identifier &amp;amp;quot;i18n-defined&amp;amp;quot; indicates to use translation of text &amp;amp;quot;E-Mail attachments&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.publishPrimaryAccountOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether all accounts or only primary account are affected if property &amp;amp;quot;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;amp;quot; is enabled. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.sendAttachmentToExternalRecipients&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether external recipients shall receive file attachments instead of publication links although quota is exceeded if property &amp;amp;quot;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;amp;quot; is enabled. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.provideLinksInAttachment&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This options enables that publication links are provided in a separate &amp;amp;quot;text/html&amp;amp;quot; file attachment named &amp;amp;quot;links.html, instead of inserting them to top of mail text. This avoids modification of original mail text. If set to &amp;amp;quot;false&amp;amp;quot;, the publication links are inserted to top of mail text. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.publishedDocumentTimeToLive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;604800000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the time-to-live in milliseconds for published email attachments &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.referencedPartLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1048576&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the limit in bytes for keeping an internal copy of a referenced MIME message&amp;amp;#39;s part when sending a mail. If a part exceeds this limit a temporary file is created holding part&amp;amp;#39;s copy &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.externalRecipientsLocale&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user-defined&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the identifier of the locale to use when composing text sent to external recipients; e.g &amp;amp;quot;en&amp;amp;quot;, or &amp;amp;quot;de&amp;amp;quot; The special identifier &amp;amp;quot;user-defined&amp;amp;quot; indicates to use that locale from the user who sends the email. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.removeMimeVersionInSubParts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether to strictly obey suggestion in RFC 2045 The MIME-Version header field is required at the top level of a message, but is _not_ required for each body part of a multipart entity. If set to &amp;amp;quot;true&amp;amp;quot;, each message is processed to not contain a MIME-Version header in sub-parts Default is &amp;amp;quot;false&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.defaultTransportProvider&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;smtp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The transport provider fallback if an URL does not contain/define a protocol &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.proxyPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The HTTP proxy port &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.connectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Connection time out &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.readTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Read time out &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.retryCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Retry count &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.retryIntervalSecs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Retry interval seconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.consumerKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;kZX3V4AmAWwC53yA5RjHbQ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.consumerSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;HvY7pVFFQSGPVu9LCoBMUhvMpS00qdtqBob99jucc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.clientVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2.2.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The client version string &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.proxyHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The HTTP proxy host &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.twitter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the twitter messaging service is available &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twittermessaging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.twitter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable Twitter OAuth bundle &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitteroauth.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/toolbar/mode/value&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;tabbased&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UI: Toolbar type Possible values: tabbased|simple &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/toolbar/mode/configurable&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;All user to configure the latter Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/mail/showContactImage/value &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UI: Show contact images in email view Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/mail/showContactImage/configurable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;All user to configure the latter Possible values: true|false Please configure the ui.yml accordingly. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/mail/replyTo/configurable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allow user to configure a reply-to address Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/windows/mode/value&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;embedded&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UI: Window manager Possible values: embedded and popups &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/portal/autoRefresh &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Auto refresh portal page Possible values: true|false Whenever the user accesses the portal, all visible widgets get refreshed (mail, calendar, contacts etc.). Default is false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/portal/customUWA &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allow custom UWA widgets Possible values: true|false Disables add, remove, edit in UI. Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/expert/mode/configurable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allow disabling of expert mode Possible values: true|false value does not affect user setting. reserved for future use. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/expert/mode/value &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/windows/mode/configurable&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;All user to configure the latter Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.outlook.updater.allowEditUrl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set this to false if users should not be able to change the URL that points to update.xml. &lt;br /&gt;
 In that case the updater is delivered with an according installation parameter that forbids editing the URL.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| updater.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.upsell.multiple.gui/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell-multiple-gui.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.oxuser.template_subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/groupware/upsell_mail_subject_ox_enduser.tmpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Subject to use for emails which are sent to the ox enduser.  If you need i18n support, create template with suffix &amp;amp;quot;_&amp;amp;lt;LANGUAGE_CODE&amp;amp;gt;&amp;amp;quot; Example: upsell_mail_subject_ox_enduser.tmpl_de_DE For placeholders, see above. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/upsell/multiple&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The next property defines the mount point of the servlet &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:109&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.host&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; FOR TESTING, DEMO ONLY. DO NOT TOUCH IF YOU DONT KNOW WHAT THESE OPTIONS MEAN!   OX API RMI Host, IF not localhost, make sure the OX accepts remote RMI connections! See AdminDaemon.properties for enabling remote connections. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:117&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.masteradmin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;oxadminmaster&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX API RMI Masteradmin  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:122&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.masteradmin.pass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX API RMI Masteradmin Password  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.downgrade.accessname&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Which access-combination-name should be used for downgrading the context  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:132&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.external.shop_api_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://shop.host.com/api/generateshopurl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DISABLED AT THE MOMENT!  URL of the external Interface to generate &amp;amp;quot;upsell URL&amp;amp;quot; for customers shop or control center URL will be used in a POST request with following parameters of the logged in ox user:  src = &amp;amp;quot;ox_upsell&amp;amp;quot; user = &amp;amp;lt;ox_username&amp;amp;gt; userid = &amp;amp;lt;ox_user_id&amp;amp;gt; pwd = &amp;amp;lt;ox_user_password&amp;amp;gt; cid = &amp;amp;lt;ox_user_cid&amp;amp;gt; mail = &amp;amp;lt;ox_user_mail&amp;amp;gt; login = &amp;amp;lt;ox_user_full_login_from_login_mask&amp;amp;gt; imaplogin = &amp;amp;lt;ox_user_imap_login&amp;amp;gt; clicked_feat = &amp;amp;lt;clicked_feature_at_gui&amp;amp;gt; upsell_plan = &amp;amp;lt;clicked_upsell_plan&amp;amp;gt;  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:151&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;static&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Define which Upsell method should be used  Possible values: a) direct b) static, c) email  direct = Redirect within IFRAME immediately to com.openexchange.upsell.multiple.method.static.shop_redir_url value after clicking one of the upsell triggers  static = Redirect AFTER clicking a button within the shipped OX Upsell pages  email = Send email to specific address AFTER clicking a button within the shipped OX Upsell pages  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.static.shop_redir_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://shop.host.tld/?shop=true&amp;amp;amp;src=ox&amp;amp;amp;user=_USER_&amp;amp;amp;userid=_USERID_&amp;amp;amp;mail=_MAIL_&amp;amp;amp;login=_LOGIN_&amp;amp;amp;imaplogin=_IMAPLOGIN_&amp;amp;amp;clicked_feat=_CLICKED_FEATURE_&amp;amp;amp;lang=_LANG_&amp;amp;amp;cid=_CID_&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;b) Defines the static URL to redirect with all parameters we can pass , see below for all possible parameters  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.address&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;upsell@shop.host.tld&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;c) Defines the email address where upsell will send all infos to for processing this request  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.template&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/groupware/upsell_mail_body.tmpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Email template to load, if not found, hardcoded text will be used. Following placeholders will be replaced by ox users data:  &amp;amp;quot;_USER_&amp;amp;quot; &amp;amp;quot;_USERID_&amp;amp;quot; &amp;amp;quot;_MAIL_&amp;amp;quot; &amp;amp;quot;_LOGIN_&amp;amp;quot; &amp;amp;quot;_IMAPLOGIN&amp;amp;quot; &amp;amp;quot;_CLICKED_FEATURE_&amp;amp;quot; &amp;amp;quot;_UPSELL_PLAN_&amp;amp;quot; - Not in use. &amp;amp;quot;_CID_&amp;amp;quot; &amp;amp;quot;_LANG_&amp;amp;quot; &amp;amp;quot;_PURCHASE_TYPE_&amp;amp;quot; - Only used if email or static method is used due to the OX upsell layout/buttons &amp;amp;quot;_INVITE_&amp;amp;quot; - User checked &amp;amp;quot;invite my friends&amp;amp;quot; checkbox in upsell box  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:63&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX upsell in context _CID_ for user _USERID_ (_USER_) with email _MAIL_ was requested by clicking _CLICKED_FEATURE_&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Mail subject to use when sending upsell request mails. See available placeholders in option above  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:68&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.oxuser.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Send info email to ox enduser to inform about upsell?  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:74&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.oxuser.template&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/groupware/upsell_mail_body_ox_enduser.tmpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Following placeholders can be replaced by ox users data:  &amp;amp;quot;_USER_&amp;amp;quot; &amp;amp;quot;_USERID_&amp;amp;quot; &amp;amp;quot;_MAIL_&amp;amp;quot; &amp;amp;quot;_LOGIN_&amp;amp;quot; &amp;amp;quot;_IMAPLOGIN&amp;amp;quot; &amp;amp;quot;_CLICKED_FEATURE_&amp;amp;quot; &amp;amp;quot;_UPSELL_PLAN_&amp;amp;quot; - Not in use. &amp;amp;quot;_CID_&amp;amp;quot; &amp;amp;quot;_LANG_&amp;amp;quot; &amp;amp;quot;_PURCHASE_TYPE_&amp;amp;quot; - Only used if email or static method is used due to the OX upsell layout/buttons  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:94&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.contactCollectOnMailAccess&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the default behavior whether to collect contacts on mail access Note: Appropriate user access permission still needs to be granted in order to take effect &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.contactCollectOnMailTransport&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the default behavior whether to collect contacts on mail transport Note: Appropriate user access permission still needs to be granted in order to take effect &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.maxClientCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the max. allowed number of client identifiers stored/tracked per user A value equal to or less than zero means unlimited Default is -1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.beta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether beta features are enabled/disabled per default. The value is remembered for every user in its attributes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folder.tree&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the default folder tree that should be used if a user has not selected one. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_SECRET&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.consumerKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_CONSUMER_KEY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer key (for upsell) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.consumerSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_CONSUMER_SECRET&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer secret (for upsell) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_KEY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.xing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable XING subscribe service &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingsubscribe.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.yahoo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable Yahoo OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoooauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.yahoo.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_VALUE_OBTAINED_FROM_YAHOO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoooauth.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.yahoo.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_VALUE_OBTAINED_FROM_YAHOO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoooauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.yahoo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoosubscribe.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.yahoo.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoosubscribe.properties:2&lt;br /&gt;
|}&lt;br /&gt;
[[Category:OX6]] [[Category:AppSuite]] [[Category:Administrator]] [[Category:Configuration]] [[Category:Generated]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Configuration_properties_7.6.1&amp;diff=23479</id>
		<title>AppSuite:Configuration properties 7.6.1</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Configuration_properties_7.6.1&amp;diff=23479"/>
		<updated>2017-06-13T10:14:03Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Version|7.6.1}}&lt;br /&gt;
This is an overview of all configuration parameters for the AppSuite backend. By default, this list is sorted by the .properties files they appear in.&lt;br /&gt;
Yet for most parameters, it does not really matter in which file are found. This does not apply to some core configuration files which are explicitly loaded by name. For these, you cannot re-define the value in another file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;AdminUser.properties, filestorage.properties, Group.properties, mailfilter.properties, ModuleAccessDefinitions.properties, recaptcha.properties, recaptcha_options.properties, Resource.properties, RMI.properties, Sql.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; style=&amp;quot;table-layout: fixed&amp;quot; class='wikitable sortable properties-table' border='1'&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;30%&amp;quot; class=&amp;quot;key&amp;quot; | Key&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;20%&amp;quot; class=&amp;quot;value&amp;quot;| Default value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;35%&amp;quot; class=&amp;quot;comment&amp;quot;| Comment&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;15%&amp;quot; class=&amp;quot;location&amp;quot;| File&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXUserMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;GROUP_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXGroupMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RESOURCE_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXResourceMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONCURRENT_JOBS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;how many jobs should be executed concurrently &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MASTER_AUTHENTICATION_DISABLED&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Disabling authentication for system calls like context/server etc. creation! ONLY USE THIS SWITCH IF YOU EXACTLY KNOW WHAT YOU DO!!! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXT_AUTHENTICATION_DISABLED&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Disabling authentication for context calls like user/group etc. creation! This also disables authentication for calls which a &amp;amp;quot;normal&amp;amp;quot; user can make like change his own data or get his own data! ONLY USE THIS SWITCH IF YOU EXACTLY KNOW WHAT YOU DO!!! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminDaemon.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_USER_UID_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[$@%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elementy wys\u0142ane&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Kosz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:103&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Szkice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:104&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:105&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potwierdzony spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:106&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_PL_PL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potwierdzony nie-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:107&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta inviata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:111&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cestino&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:112&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bozze&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:113&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta Indesiderata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:114&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta indesiderata accertata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_IT_IT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Posta attendibile accertata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:116&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5df2\u53d1\u9001\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:120&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5783\u573e\u7b52&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:121&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u8349\u7a3f&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:122&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5783\u573e\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:123&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5df2\u786e\u8ba4\u7684\u5783\u573e\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:124&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_ZH_CN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u5df2\u786e\u8ba4\u7684\u6b63\u5e38\u90ae\u4ef6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:125&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Odeslan\u00e9 polo\u017eky&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:129&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTO_TO_LOWERCASE_UID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will lowercase the uid &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Ko\u0161&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:130&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Koncepty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:131&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:132&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrzen\u00fd spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:133&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_CS_CZ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrzen\u00e1 norm\u00e1ln\u00ed po\u0161ta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:134&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elk\u00fcld\u00f6tt elemek&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:138&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;T\u00f6r\u00f6lt elemek&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:139&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Piszkozatok&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Lev\u00e9lszem\u00e9t&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:141&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elfogadott k\u00e9retlen&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:142&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_HU_HU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elfogadott \u00e1l-k\u00e9retlen&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:143&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Odoslan\u00e9 polo\u017eky&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:147&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;K\u00f4\u0161&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:148&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Rozp\u00edsan\u00e9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:149&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:150&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrden\u00fd spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:151&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_SK_SK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Potvrden\u00e9 ako nie spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:152&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nos\u016Bt\u012Bt\u0101s vien\u012Bbas&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:156&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Atkritumi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:157&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Melnraksti&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:158&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;M\u0113stules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:159&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Apstiprin\u0101ta &amp;amp;quot;m\u0113stule&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:160&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_LV_LV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Apstiprin\u0101ts &amp;amp;quot;ham&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:161&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USERNAME_CHANGEABLE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING: Changing the username might have impact on external systems like imap server that allows acls to be set. Imap ACLS usually use symbolic names so when changing the user name without changing the ACL breaks the ACL. open-xchange-admin will NOT change those ACLS, so DO NOT CHANGE THIS SETTING ON OX Express &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PRIMARY_MAIL_UNCHANGEABLE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Here you can set whether the primary mail address can be changed or not. If set to false, it is possible to change the primary mail address. Only change, if you know what you are doing (Outlook might not work anymore under certain circumstances) Default is: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFAULT_PASSWORD_MECHANISM&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SHA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;specify the default password mechanism to use possible values: CRYPT / SHA / BCRYPT &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Gesendete Objekte&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;default mail folder fallback if not sent by rmi client: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Papierkorb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Entw\u00fcrfe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_DE_DE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SentMail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Trash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Drafts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_EN_GB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sent Items&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Trash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Drafts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:50&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_EN_US&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;confirmed-ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Objets envoy\u00e9s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Corbeille&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:58&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Brouillons&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:59&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UID_NUMBER_START&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set to &amp;amp;gt; 0 to use the uidnumber feature &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Pourriel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pourriel-confirme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_FR_FR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;non-pourriel-confirme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:62&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Verzonden items&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Prullenbak&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:67&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Concepten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:68&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bevestigde spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:70&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_NL_NL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bevestigde ham&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:71&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Skickat&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Papperskorgen&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:76&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Utkast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:77&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Skr\u00E4ppost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:78&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bekr\u00E4ftad-skr\u00E4ppost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:79&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_SV_SV&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;felaktigt-bekr\u00E4ftad-spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:80&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Elementos enviados&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Papelera&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:85&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Borradores&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:86&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Correo no deseado&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:87&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;correo basura confirmado&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:88&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_ES_ES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;correo leg\u00EDtimo confirmado&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:89&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_USER_UID_FOR_NOT_ALLOWED_CHARS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will check the user name using the check below &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SENT_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u9001\u4FE1\u6E08\u30A2\u30A4\u30C6\u30E0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:93&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRASH_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u524A\u9664\u6E08\u307F\u30A2\u30A4\u30C6\u30E0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:94&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DRAFTS_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u4E0B\u66F8\u304D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:95&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SPAM_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u8FF7\u60D1\u30E1\u30FC\u30EB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:96&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_SPAM_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u8FF7\u60D1\u30E1\u30FC\u30EB\uFF08\u78BA\u8A8D\u6E08\uFF09&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:97&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONFIRMED_HAM_MAILFOLDER_JA_JP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;\u4E00\u822C\u30E1\u30FC\u30EB\uFF08\u78BA\u8A8D\u6E08\uFF09&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| AdminUser.properties:98&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;verbosity&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;verbosity: The level of messages for status/debug (messages go to standard output). The setting here is for your own local catalogs. The verbosity of Forrest&amp;amp;#39;s core catalogs is controlled via main/webapp/WEB-INF/cocoon.xconf  The following messages are provided ... 0 = none 1 = ? (... not sure yet) 2 = 1+, Loading catalog, Resolved public, Resolved system 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem 10 = 3+, List all catalog entries when loading a catalog (Cocoon also logs the &amp;amp;quot;Resolved public&amp;amp;quot; messages.) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| CatalogManager.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;catalogs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;../resources/schema/catalog.xcat&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;catalogs ... list of additional catalogs to load (Note that Apache Forrest will automatically load its own default catalog from main/webapp/resources/schema/catalog.xcat) Use either full pathnames or relative pathnames. pathname separator is always semi-colon (;) regardless of operating system directory separator is always slash (/) regardless of operating system &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| CatalogManager.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;relative-catalogs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;no&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;relative-catalogs If false, relative catalog URIs are made absolute with respect to the base URI of the CatalogManager.properties file. This setting only applies to catalog URIs obtained from the catalogs property in the CatalogManager.properties file Example: relative-catalogs=[yes|no] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| CatalogManager.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;GID_NUMBER_START&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set to higher than 0 to enable gid number feature &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_GROUP_UID_FOR_NOT_ALLOWED_CHARS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will check the group name using the check below &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_GROUP_UID_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[ $@%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTO_TO_LOWERCASE_UID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will lowercase the uid &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Group.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this are the deprecated definitions of module access combinations. please use the newly defined sets. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail,calendar,tasks&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail,calendar,delegatetask,tasks,editpublicfolders,infostore,publicfoldereditable,readcreatesharedfolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;premium&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts,webmail,calendar,delegatetask,tasks,editpublicfolders,infostore,publicfoldereditable,readcreatesharedfolders,ical,vcard,webdav&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;calendar,contacts,delegatetask,editpublicfolders,ical,infostore,publicfoldereditable,readcreatesharedfolders,tasks,vcard,webdav,webmail,editresource,editgroup,editpassword,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PLEASE Update accordingly when UPDATING &amp;amp;quot;all&amp;amp;quot; level! Includes all modules except mobility, &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,contacts,globaladdressbookdisabled,collectemailaddresses,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:50&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,tasks,globaladdressbookdisabled,collectemailaddresses,multiplemailaccounts,subscription,publication,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim_infostore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,tasks,infostore,webdav,globaladdressbookdisabled,collectemailaddresses,multiplemailaccounts,subscription,publication,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim_mobility&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,tasks,syncml,usm,activesync,globaladdressbookdisabled,collectemailaddresses,multiplemailaccounts,subscription,publication,editpassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware_standard&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,infostore,tasks,webdav,ical,vcard,readcreatesharedfolders,delegatetask,editpublicfolders,editgroup,editresource,editpassword,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Groupware Standard always gets new features except mobility and OXtender. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;groupware_premium&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,infostore,tasks,webdav,ical,vcard,syncml,usm,olox20,activesync,readcreatesharedfolders,delegatetask,editpublicfolders,editgroup,editresource,editpassword,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;all&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail,calendar,contacts,infostore,tasks,webdav,ical,vcard,syncml,usm,olox20,activesync,readcreatesharedfolders,delegatetask,editpublicfolders,editgroup,editresource,editpassword,publicfoldereditable,collectemailaddresses,multiplemailaccounts,subscription,publication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;By default &amp;amp;#39;all&amp;amp;#39; is the same as &amp;amp;#39;groupware_premium&amp;amp;#39;, except the right &amp;amp;#39;publicfoldereditable&amp;amp;#39;. As this right only applies to context administrators, &amp;amp;#39;all&amp;amp;#39; is internally equivalent to &amp;amp;#39;groupware_premium&amp;amp;#39; for normal users. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ModuleAccessDefinitions.properties:59&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_RES_UID_FOR_NOT_ALLOWED_CHARS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will check the resource name using the check below &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Resource.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_RES_UID_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[ $@%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Resource.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTO_TO_LOWERCASE_UID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;this will lowercase the uid &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Resource.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SERVLET_POOL_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;initial number of instances held in memory for each available single threaded servlet (single threaded servlets are deprecated and are not used by the open-xchange server) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_SERVER_THREAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of AJP server threads which create a client socket on an incoming request. This is the number of threads processing new opened AJP sockets. AJP sockets are kept alive by default therefore only one thread is recommended &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_LISTENER_POOL_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP listener pool size number of initially created AJP listeners for processing incoming AJP requests This pool does grow dynamically but does not go below. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_LISTENER_READ_TIMEOUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The amount of time in milliseconds a listener is going to wait (or block) while waiting to read the initial bytes from web server from input stream 0 stands for unlimited and should not be changed because if the server does close connections here the sticky sessions would break. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_KEEP_ALIVE_TIME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFINE THE AJP KEEP-ALIVE TIME. IF An INCOMIN REQUEST&amp;amp;#39;S PROCESSING TIME EXCEEDS THIS VALUE, A KEEP-ALIVE IS FLUSHED TO WEB SERVER TO AVOID POSSIBLE TIMEOUTS ON SOCKET CONNECTION. A VALUE OF ZERO OR LESS DISABLES KEEP-ALIVE HEART BEAT &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_SERVLET_CONFIG_DIR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; null&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFINE THE DIRECTORY PATH THAT CARRIES SERVLETS&amp;amp;#39; CONFIGURATION PROPERTIES. THE PROPERTIES DEFINED FOR A SERVLET CONSIST OF THREE PARTS: 1. THE GLOBAL PROPERTIES DIRECTLY LOCATED IN DIRECTORY PATH SPECIFIED BY THIS PROPERTY. THESE PROPERTIES APPLY TO ALL SERVLET INSTANCES 2. THE PATH-SPECIFIC PROPERTIES DEFINED IN A SUBDIRECTORY EQUAL TO SERVLET&amp;amp;#39;S PATH 3. THE CLASS-SPECIFIC PROPERTIES DEFINED IN A FILE WHOSE NAMING IS EQUAL TO SERVLET CLASS&amp;amp;#39; CANONICAL NAME WITH THE COMMON &amp;amp;quot;.properties&amp;amp;quot; PROPERTY FILE EXTENSION IF THIS VALUE IS LEFT TO &amp;amp;quot;null&amp;amp;quot; THIS PROPERTY FALLS BACK TO DEFAULT PATH: &amp;amp;quot;/opt/open-xchange/etc/servletConfig&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_LOG_FORWARD_REQUEST&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; FALSE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Logs corresponding AJP forward request if an unexpected empty body request is detected &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AJP_BACKLOG&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the backlog for opened AJP server socket Default is zero; meaning using JVM&amp;amp;#39;s default backlog setting &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ajp.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;basedir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;build&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;base directory for the build scripts &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ant.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;io.ox/core//theme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| appsuite.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;io.ox/core/settingOptions//themes/default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Default Theme&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| appsuite.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.get_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.IdListTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Translator configuration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;get_request.id_field &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; uuid&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.all_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.AllTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.custom &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.attachments.translators.CustomTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;field.param6 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; id&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Field configuration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.simple &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; simpleSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Handler configuration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.custom &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; customSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.get_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; getSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.all_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; allSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handler.persons_and_topics &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; personsAndTopics&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment-querybuilder.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10485760&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the sum of all uploaded files (for contacts, appointments or tasks) in one request is larger than this value, the upload will be rejected. If this value is not set or 0, the more general MAX_UPLOAD_SIZE configured in server.properties will be used. If that value is also 0 or not set, uploads will be unrestricted. The size is in Bytes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| attachment.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.FileAccessLogging.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set to true to enable logging of file accesses and downloads &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.pattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange/audit.log&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.limit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2097152&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.count&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;99&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.formatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.SimpleFormatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.audit.logging.AuditFileHandler.append&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| audit.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_HOST&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_BASE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;dc=example,dc=org&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_PORT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;389&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_SEARCH&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;(&amp;amp;amp;(objectClass=oxdbObject)(uid=@USER@))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;search query to get the users ldap dn ,@USER@ will be replaced by the username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LDAP_ATTRIBUTE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mailPrimaryAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;which attribute should be parsed for the email adress (context=domainpart) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USE_POOL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| authplugin.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AUTOCID_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.autocontextid.storage.mysqlStorage.OXAutoCIDMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| autocid.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.autoconfig.path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/ispdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Path to the local configuration files for mail domains. See https://developer.mozilla.org/en/Thunderbird/Autoconfiguration &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| autoconfig.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.autoconfig.ispdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://live.mozillamessaging.com/autoconfig/v1.1/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The ISPDB is a central database, currently hosted by Mozilla Messaging, but free to use for any client. It contains settings for the world&amp;amp;#39;s largest ISPs. We hope that the database will soon have enough information to autoconfigure approximately 50% of our user&amp;amp;#39;s email accounts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| autoconfig.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.blackwhitelist/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property enables the Black-/Whitelist GUI-Plugin &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| blackwhitelist_gui.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LTCP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;It&amp;amp;#39;s important that cache entries don&amp;amp;#39;t get invalidated, since the cache may not be deterministic for LDAP contacts. Therefore, the properties &amp;amp;#39;MaxMemoryIdleTimeSeconds&amp;amp;#39;, &amp;amp;#39;MaxLifeSeconds&amp;amp;#39; and &amp;amp;#39;IdleTime&amp;amp;#39; should be set to &amp;amp;#39;-1&amp;amp;#39;, while &amp;amp;#39;MaxObjects&amp;amp;#39; should be configured large enough to hold all contacts from the directory. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.jcs.engine.CompositeCacheAttributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MaxObjects&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MemoryCacheName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.jcs.engine.memory.lru.LRUMemoryCache&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.UseMemoryShrinker&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MaxMemoryIdleTimeSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.ShrinkerIntervalSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].cacheattributes.MaxSpoolPerRun&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.jcs.engine.ElementAttributes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsEternal&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.MaxLifeSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsSpool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsRemote&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jcs.region.[REGIONNAME].elementattributes.IsLateral&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caching.jcs.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether JCS-based caching should be enabled Default is &amp;amp;quot;true&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caching.jcs.eventInvalidation&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures how remote cache invalidation is done. Set to &amp;amp;#39;true&amp;amp;#39; for cache events via the cache event messaging service, or to &amp;amp;#39;false&amp;amp;#39; to stick with the JCS-internal lateral auxiliary cache configuration. Defaults to &amp;amp;#39;true&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cache.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.interval.start&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;one_month&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Appointments and tasks are available via the CalDAV interface if they fall into a configurable timeframe. This value specifies the start time of this interval, i.e. how far past appointments should be considered. More formal, this value defines the negative offset relative to the current date representing the minimum end time of appointments to be synchronized. Possible values are &amp;amp;quot;one_month&amp;amp;quot; (default), &amp;amp;quot;one_year&amp;amp;quot; and &amp;amp;quot;six_months&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether CalDAV is enabled or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.interval.end&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;one_year&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Appointments and tasks are available via the CalDAV interface if they fall into a configurable timeframe. This value specifies the end time of this interval, i.e. how far future appointments should be considered. More formal, this value defines the positive offset relative to the current date representing the maximum start time of appointments to be synchronized. Possible values are &amp;amp;quot;one_year&amp;amp;quot; (default) and &amp;amp;quot;two_years&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://[hostname]/caldav/[folderId]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Tells users where to find a caldav folder. This can be displayed in frontends. You can use the variables [hostname] and [folderId] If you chose to deploy caldav as a virtual host (say &amp;amp;#39;dav.open-xchange.com&amp;amp;#39;) use https://dav.open-xchange.com/caldav/[folderId] as the value If you are using user-agent sniffing use https://[hostname]/caldav/[folderId] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caldav.tree&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the ID of the folder tree used by the CalDAV interface &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| caldav.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_dayview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_monthview_list.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_monthview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_weekview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cp_workweekview_table.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; calendar, printing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| calendar.printing.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.tree&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the ID of the folder tree used by the CardDAV interface &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether CardDAV is enabled or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.exposedCollections&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Controls which collections are exposed via the CardDAV interface. Possible values are &amp;amp;#39;0&amp;amp;#39;, &amp;amp;#39;1&amp;amp;#39; and &amp;amp;#39;2&amp;amp;#39;. A value of &amp;amp;#39;1&amp;amp;#39; makes each visible folder available as a resource collection, while &amp;amp;#39;2&amp;amp;#39; only exposes an aggregated collection containing  all contact resources from all visible folders. The default value &amp;amp;#39;0&amp;amp;#39; exposes either an aggregated collection or individual collections for each folder, depending on the client&amp;amp;#39;s user-agent that is matched against the pattern in &amp;amp;#39;userAgentForAggregatedCollection&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.userAgentForAggregatedCollection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.*CFNetwork.*Darwin.*|.*AddressBook.*CardDAVPlugin.*Mac_OS_X.*|.*Mac OS X.*AddressBook.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Regular expression to match against the client&amp;amp;#39;s user-agent to decide whether the aggregated collection is exposed or not. The default pattern matches all known varieties of the Mac OS Addressbook client, that doesn&amp;amp;#39;t support multiple collections. Only used if &amp;amp;#39;exposedCollections&amp;amp;#39; is set to &amp;amp;#39;0&amp;amp;#39;. The pattern is used case insensitive. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.reducedAggregatedCollection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies if all visible folders are used to create the aggregated collection, or if a reduced set of folders only containing the global addressbook and the personal contacts folders should be used. This setting only influences the aggregated collection that is used for clients that don&amp;amp;#39;t support multiple collections. Possible values are &amp;amp;#39;true&amp;amp;#39; and &amp;amp;#39;false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.carddav.ignoreFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A comma-separated list of folder IDs to exclude from the synchronization. Use this to disable syncing of very large folders (e.g. the global address list in large contexts, which always has ID 6). By default, no folders are excluded. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| carddav.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.script.shellscript&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/bin/changepwd.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Script which updates the users passwd Must be executable (+x) and correct interpreter set (#!/bin/bash)  Following values are passed by the servlet to the script:  1. --cid - Context ID 2. --username - Username of the logged in user 3. --userid - User ID of the logged in user 4. --oldpassword - Old user password 5. --newpassword - New user password  see http://oxpedia.org/wiki/index.php?title=ChangePasswordExternal for some examples  If script does not exit with status code 0 , an io-error is shown in the GUI.  the following exit codes will display a defined error:  1: Cannot change password &amp;amp;lt; %s &amp;amp;gt;, see logfiles for details. 2: New password is too short 3: New password is too weak 4: Cannot find user 5: LDAP error  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| change_pwd_script.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.database.replicationMonitor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property allows to disable the replication monitor. This option is only useful if you have a MySQL master and slave setup. If the application code releases a connection to the MySQL master, a writing operation on the database is assumed. To be able to monitor the replication to the slave, a counter is increased after releasing the connection. Reading this counter from the slave indicates, the write operation is not replicated yet and instead of a slave connection a master connection is then used to read data. This prevents data reading inconsistencies. Unfortunately will this produce additional IO load on MySQL master and slave. This mechanism can be disabled with the following property. This saves IO load but it may cause data inconsistencies. Especially newly created objects can disappear in the following refresh requests. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.database.checkWriteCons&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If com.openexchange.database.checkWriteCons is set to true, a warning will be logged every time when a writable connection is used to perform only SELECT queries. Default is &amp;amp;#39;false&amp;amp;#39; to avoid flooding of log files. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:106&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user=openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;username for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password=secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useUnicode=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The driver properties should be kept at their defaults. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;characterEncoding=UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;autoReconnect=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useServerPrepStmts=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.7&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useTimezone=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serverTimezone=UTC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;connectTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readProperty.10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;socketTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeDriverClass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;the write connection must point to the database master &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeUrl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jdbc:mysql://localhost/configdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeURL holds the database host and the used schema name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user=openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;username for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password=secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password for the database user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useUnicode=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The driver properties should be kept at their defaults &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;characterEncoding=UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;autoReconnect=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useServerPrepStmts=false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.7&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;useTimezone=true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serverTimezone=UTC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;connectTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;writeProperty.10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;socketTimeout=15000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cleanerInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Timeinterval of cleaner thread in milliseconds. This thread removes idle timed out database connections and removes not used database connection pools. after each cleanerInterval. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxIdle&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of maximum idle connections. More connections aren&amp;amp;#39;t pooled and closed. -1 stands for unlimited. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:54&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxIdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum time in milliseconds a connection can be idle. If this time is exceeded, the connection gets closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:58&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxActive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If exhaustedAction is set to BLOCK, not more than maxActive connections will be opened to the mysql database. This value is overwritten for OX databases from configdb. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:63&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxWait&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If exhaustedAction is set to BLOCK, a thread will not wait for more than maxWait milliseconds. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:67&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readDriverClass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;the read connection must point to the database slave &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maxLifeTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum time in milliseconds a connection will be used. After this time the connection get closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:71&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;exhaustedAction&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;BLOCK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;BLOCK: If maxActive number of connections is reached threads have to wait for a connection. FAIL: If maxActive number of connections is reached an exception is thrown. GROW: Open more connections even if maxActive is already reached. This value is overwritten for OX databases from configdb. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:77&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testOnActivate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Validate connections if they are activated. This is not necessary because the activation already includes a check if the connection isn&amp;amp;#39;t closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:81&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testOnDeactivate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Check if connections can be reused after they are returned to the pool. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testOnIdle&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Not useful for connections. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:87&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readUrl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;jdbc:mysql://localhost/configdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;readURL holds the database host and the used schema name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;testThreads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if testThreads is set to true, more information is logged to the Open-Xchange log files about database connections.  If this option is enabled the performance may degrade dramatically. The JVM has to generate then a lot of method call stack dumps. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configdb.properties:93&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;URL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://localhost/?cid=%c&amp;amp;amp;login=%u&amp;amp;amp;pass=%p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;URL to the config interface. %c is replaced with context login information. %u is replaced with user login information. %p is replaced with user password. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| configjump.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;validate_contact_email&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Check the entered email address from a new contact for correctness (syntactic check user@domain.tld) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;max_image_size&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4194304&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum size in bytes for the upload of contact images. Remember: If you decrease the size after some images where uploaded already, you might trigger errors, for example when trying to modify the contact without adding an image of the correct size. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contact.mailAddressAutoSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Determines if a search is triggered if the dialog for searching for emailable contacts is opened. This dialog is used for selecting recipients for an email and for creating distribution lists. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contact.singleFolderSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Searching for contacts can be done in a single folder or globally across all folders. Searching across all folders can cause high server and database load because first all visible folders must be determined and if a user has object read permissions in that folders. Software internal default is true to prevent high load if the property is not defined. Default here is false because it is easier for the user to find contacts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contacts.characterSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables/Disables the start letter based quick select of contacts &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contacts.allFoldersForAutoComplete&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The auto complete search for email addresses may be triggered easily and quite often if a new email is written and a part of a recipients address is written. This can lead to high load on the database system if a context has a lot of users and a lot of contacts. Therefore the scope if this search can be configured. Set this parameter to true and the auto complete search looks in every readable contact folder for contacts with emails addresses matching the already typed letters. If this parameter is configured to false, only three folders are considered for the search: the users private default contact folder, his contact folder for collected contacts and the global address book if that is enabled for the user. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contact.scaleVCardImages&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;200x200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the maximum image dimension to use when serializing contacts to vCards in the format [max_width]x[max_height]. Larger images will be resized dynamically to fit the specified rectangular area. If left empty, images are not resized at all and serialized as-is. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contact_first_letter_field&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;field02&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;First Letter Field, the field you sort in when you hit one of the start letters field02 Last name field03 First name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contact.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contactcollector.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether enabled or disabled regardless of bundle start-up Enabled by default (provided that bundle is installed and properly started) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contactcollector.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.contactcollector.folder.deleteDenied&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether deletion of contact collector folder will be denied &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contactcollector.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXT_RESTORE_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.contextrestore.storage.mysqlStorage.OXContextRestoreMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the storage implementation here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| contextrestore.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/themes/default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cool Water (Default)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property defines the default theme of the AJAX GUI. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| cool-water-theme.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.google.calendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.t-online.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.gmx.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.msn.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncontacts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncalendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suntasks&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.yahoocom&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.googlemail.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;As an enhancement to the subscription module, we allow to configure that subscriptions should run automatically on login if a certain time interval between the last refresh run has elapsed (defaults to 1 day). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.webde.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.google.calendar.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.gmx.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.t-online.de.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.gmx.de.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.msn.de.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncontacts.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suncalendar.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.suntasks.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;crawlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Points to the directory containing the workflow definitions of crawlers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.googlemail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable / Disable individual crawlers (true / false) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.crawler.web.de&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| crawler.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.groupware.dataRetrieval.lifetime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Lifetime of a token in milliseconds. If this value is not set or negative the token only expires at the end of the session. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataRetrieval.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.groupware.dataRetrieval.onetime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the token expires after the first access or not. Defaults to true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataRetrieval.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.sourceID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX_mail_01&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The string identifying the data source; e.g. &amp;amp;quot;OX_mail_01&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.location&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DE/Olpe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The location of the system generating the retention data &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.timeZone&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;GMT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The time zone of the location &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.dir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The directory where the CSV file is held &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.rotateLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the max. output resource&amp;amp;#39;s length (in bytes) before it gets rotated. This option is only useful for implementations which output data to a file or to any limited resource. This value should have a reasonable size since multiple write accesses may occur at same time. Therefore small sizes (&amp;amp;lt;= 200KB) cannot be guaranteed being obeyed. Moreover it is only an approximate limit which can vary about 8KB. A value less than or equal to zero means no rotation. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.versionNumber&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The format version appended to each record type; e.g &amp;amp;quot;H1&amp;amp;quot; meaning &amp;amp;quot;Header version 1&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dataretention.clientID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The string identifying the tenant; e.g &amp;amp;quot;Open-Xchange&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dataretention.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.defaultspamhandler.createConfirmedHam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Indicates whether to create the confirmed-ham folder during check for default mail folders # during login if spam is enabled for logged-in user. # Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| defaultspamhandler.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.defaultspamhandler.unsubscribeSpamFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Indicates whether the confirmed-spam/confirmed-ham folders shall automatically be unsubscribed during login. # Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| defaultspamhandler.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.defaultspamhandler.createConfirmedSpam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Indicates whether to create the confirmed-spam folder during check for default mail folders # during login if spam is enabled for logged-in user. # Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| defaultspamhandler.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.capability.drive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables the &amp;amp;quot;drive&amp;amp;quot; module capability globally. The capability can also be set more fine-grained via config cascade. Per default it is only enabled for users that have the &amp;amp;quot;infostore&amp;amp;quot; permission set. This is configured in /opt/open-xchange/etc/contextSets/drive.yml. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.directLinkHelp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[protocol]://[hostname]/[uiwebpath]/help-drive/l10n/[locale]/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the pattern for a direct link to the online help. This serves as target for the &amp;amp;quot;Help&amp;amp;quot; section in the client applications. Text in brackets is replaced dynamically during link generation in the backend, however, it&amp;amp;#39;s still possible to overwrite them here with a static value, or even define an arbitrary URL here. [protocol] is replaced automatically with the protocol used by the client (typically &amp;amp;quot;http&amp;amp;quot; or &amp;amp;quot;https&amp;amp;quot;). [hostname] should be replaced with the server&amp;amp;#39;s canonical host name (if not, the server tries to determine the hostname on it&amp;amp;#39;s own), [uiwebpath] is replaced with the value of &amp;amp;quot;com.openexchange.UIWebPath&amp;amp;quot; as defined in &amp;amp;quot;server.properties&amp;amp;quot;, while [dispatcherPrefix] is replaced with the value of &amp;amp;quot;com.openexchange.dispatcher.prefix&amp;amp;quot; (&amp;amp;quot;server.properties&amp;amp;quot;, too). [contextid], [userid] and [login] are replaced to reflect the values of the current user. Defaults to &amp;amp;quot;[protocol]://[hostname]/[uiwebpath]/help/[locale]/index.html&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:110&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables push event notifications to clients using the Apple Push Notification service (APNS) for iOS devices. This requires a valid configuration for the APNS certificate and keys, see either options below, or install the restricted components packages for drive. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:120&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.keystore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the path to the local keystore file (PKCS #12) containing the APNS certificate and keys for the iOS application, e.g. &amp;amp;quot;/opt/open-xchange/etc/drive-apns.p12&amp;amp;quot;. Required if &amp;amp;quot;com.openexchange.drive.events.apn.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the password used when creating the referenced keystore containing the certificate of the iOS application. Note that blank or null passwords are in violation of the PKCS #12 specifications. Required if &amp;amp;quot;com.openexchange.drive.events.apn.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:134&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.production&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates which APNS service is used when sending push notifications to iOS devices. A value of &amp;amp;quot;true&amp;amp;quot; will use the production service, a value of &amp;amp;quot;false&amp;amp;quot; the sandbox service. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:139&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.ios.feedbackQueryInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the interval between queries to the APN feedback service for the subscribed iOS devices. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). Leaving this parameter empty disables the feedback queries on this node. Since each received feedback is processed cluster-wide, only one node in the cluster should be enabled here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:147&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.shortProductName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX Drive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Short product name as used in the version comment string inserted for drive uploads, e.g. &amp;amp;quot;Uploaded with OX Drive (Ottos Laptop)&amp;amp;quot;. Defaults to &amp;amp;quot;OX Drive&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables push event notifications to clients using the Apple Push Notification service (APNS) for Mac OS devices. This requires a valid configuration for the APNS certificate and keys, see either options below, or install the restricted components packages for drive. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:154&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.keystore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the path to the local keystore file (PKCS #12) containing the APNS certificate and keys for the Mac OS application, e.g. &amp;amp;quot;/opt/open-xchange/etc/drive-apns.p12&amp;amp;quot;. Required if &amp;amp;quot;com.openexchange.drive.events.apn.macos.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:161&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the password used when creating the referenced keystore containing the certificate of the Mac OS application. Note that blank or null passwords are in violation of the PKCS #12 specifications. Required if &amp;amp;quot;com.openexchange.drive.events.apn.macos.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:168&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.production&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates which APNS service is used when sending push notifications to Mac OS devices. A value of &amp;amp;quot;true&amp;amp;quot; will use the production service, a value of &amp;amp;quot;false&amp;amp;quot; the sandbox service. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:173&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.apn.macos.feedbackQueryInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the interval between queries to the APN feedback service for the subscribed Mac OS devices. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). Leaving this parameter empty disables the feedback queries on this node. Since each received feedback is processed cluster-wide, only one node in the cluster should be enabled here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:181&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.gcm.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables push event notifications to clients using the Google Cloud Messaging (GCM) service. This requires a valid configuration for the GCM API key, see options below. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:186&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.gcm.key&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the API key of the server application. Required if &amp;amp;quot;com.openexchange.drive.events.gcm.enabled&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot; and the package containing the restricted drive components is not installed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:191&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.events.blockingLongPolling.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether blocking long polling for pushing synchronization events to clients may be used as fallback when no other long polling handlers are available due to missing support of the HTTP service. Handling long polling in a blocking manner consumes a server thread, and should therefore only be enabled for testing purposes. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:198&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.useTempFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether the synchronization logic will make use of a folder named &amp;amp;quot;.drive&amp;amp;quot; below the root synchronization folder or not. If enabled, this folder is used to store temporary uploads and removed files, which usually leads to a better user experience since previously synchronized files can be restored from there for example. If not, removed files are not kept, and uploads are performed directly in the target folder. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.cleaner.interval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the interval between runs of the cleaner process for the temporary &amp;amp;quot;.drive&amp;amp;quot; folder. A cleaner run is only initiated if the synchronization is idle, i.e. the last synchronization resulted in no actions to be performed, and the last run was before the configured interval. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.cleaner.maxAge&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the maximum age of files and directories to be kept inside the temporary &amp;amp;quot;.drive&amp;amp;quot; folder. Files or directories that were last modified before the configured age are deleted during the next run of the cleaner process. The value can be defined using units of measurement: &amp;amp;quot;D&amp;amp;quot; (=days), &amp;amp;quot;W&amp;amp;quot; (=weeks) and &amp;amp;quot;H&amp;amp;quot; (=hours). Defaults to &amp;amp;quot;1D&amp;amp;quot; (one day). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.maxBandwidth&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows to limit the maximum used bandwidth for all downloads. If configured, downloads via the drive module handled by this backend node will not exceed the configured bandwidth. The available bandwidth is defined as the number of allowed bytes per second, where the byte value can be specified with one of the units &amp;amp;quot;B&amp;amp;quot; (bytes), &amp;amp;quot;kB&amp;amp;quot; (kilobyte), &amp;amp;quot;MB&amp;amp;quot; (Megabyte) or &amp;amp;quot;GB&amp;amp;quot; (Gigabyte), e.g. &amp;amp;quot;10 MB&amp;amp;quot;. Must fit into the &amp;amp;quot;Integer&amp;amp;quot; range, i.e. the configured number of bytes has to be be smaller than 2^31. Defaults to &amp;amp;quot;-1&amp;amp;quot; (no limitations). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.maxBandwidthPerClient&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows to limit the maximum used bandwidth for client downloads within the same session. If configured, downloads originating in the same session via the drive module handled by this backend node will not exceed the configured bandwidth. The available bandwidth is defined as the number of allowed bytes per second, where the byte value can be specified with one of the units &amp;amp;quot;B&amp;amp;quot; (bytes), &amp;amp;quot;kB&amp;amp;quot; (kilobyte), &amp;amp;quot;MB&amp;amp;quot; (Megabyte) or &amp;amp;quot;GB&amp;amp;quot; (Gigabyte), e.g. &amp;amp;quot;500 kB&amp;amp;quot;. Must fit into the &amp;amp;quot;Integer&amp;amp;quot; range, i.e. the configured number of bytes has to be be smaller than 2^31. Defaults to &amp;amp;quot;-1&amp;amp;quot; (no limitations). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.maxConcurrentSyncOperations&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the maximum allowed number of synchronization operations, i.e. all requests to the &amp;amp;quot;drive&amp;amp;quot; module apart from up- and downloads, that the server accepts concurrently. While the limit is reached, further synchronization requests are rejected in a HTTP 503 manner (service unavailable), and the client is instructed to try again at a later time. Defaults to &amp;amp;quot;-1&amp;amp;quot; (no limitations). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:74&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.drive.directLinkQuota&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[protocol]://[hostname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the pattern for a direct link to manage a user&amp;amp;#39;s quota. Text in brackets is replaced dynamically during link generation in the backend, however, it&amp;amp;#39;s still possible to overwrite them here with a static value, or even define an arbitrary URL here. [protocol] is replaced automatically with the protocol used by the client (typically &amp;amp;quot;http&amp;amp;quot; or &amp;amp;quot;https&amp;amp;quot;). [hostname] should be replaced with the server&amp;amp;#39;s canonical host name (if not, the server tries to determine the hostname on it&amp;amp;#39;s own), [uiwebpath] is replaced with the value of &amp;amp;quot;com.openexchange.UIWebPath&amp;amp;quot; as defined in &amp;amp;quot;server.properties&amp;amp;quot;, while [dispatcherPrefix] is replaced with the value of &amp;amp;quot;com.openexchange.dispatcher.prefix&amp;amp;quot; (&amp;amp;quot;server.properties&amp;amp;quot;, too). [contextid], [userid] and [login] are replaced to reflect the values of the current user. Defaults to &amp;amp;quot;[protocol]://[hostname]&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| drive.properties:93&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PUT_YOUR_APP_SECRET_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropbox.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropbox.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PUT_YOUR_APP_KEY_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropbox.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropboxoauth.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropboxoauth.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.dropbox.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| dropboxoauth.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.urlencoding&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the URL encoding which will be used to modify the given URL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.from&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the FROM address of the email which will be sent to the user when he has selected the email transport as provisioning method. Possible values are: 1. A valid eMail address (eg.: admin@example.com) 2. user (Then the from address will be the standard address from the user who sends the provisioning message) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_US.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange Mobility Provisioning&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the subject and the mailtext of the provisioning eMail which will be send to the user if he has chosen eMail as provisioning method. You can set a subject and text per language. If you want to add a new language code provide the following two configuration options: com.openexchange.mobile.configuration.mail.message.$languagecode_$LANDCODE.subject com.openexchange.mobile.configuration.mail.message.$languagecode_$LANDCODE.text &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_US.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_GB.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange Mobility Provisioning&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.en_GB.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.de_DE.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange Mobility-Provisionierung&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.de_DE.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bitte auf den folgenden Link klicken, um die Open-Xchange Mobility Provisionierungs-Applikation zu \u00F6ffnen: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.fr_FR.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Pr\u00E9paration de la mobilit\u00E9 Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.fr_FR.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Veuillez cliquer sur le lien suivant pour ouvrir l&amp;amp;#39;application de pr\u00E9paration de la mobilit\u00E9 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.nl_NL.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange-mobility-initialisatie&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.nl_NL.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Klik op de volgende link om de initialisatietoepasssing voor Open-Xchange-mobility te starten: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.es_ES.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configuraci\u00F3n m\u00F3vil de Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.es_ES.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Por favor, haga clic en el siguiente enlace para ejecutar la aplicaci\u00F3n de configuraci\u00F3n m\u00F3vil de Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.it_IT.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Fornitura in mobilit\u00E0 Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.mail.message.it_IT.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Fai clic sul seguente collegamento per aprire l&amp;amp;#39;applicazione di fornitura in mobilit\u00E0 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.en_US.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the text of the provisioning SMS which will be send to the user if he has chosen SMS as provisioning method. You can set a text per language. If you want to add a new language code provide the following configuration option: com.openexchange.mobile.configuration.sms.message.$languagecode_$LANDCODE.text &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.en_GB.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Please click on the following link to open the Open-Xchange Mobility Provisioning application: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.de_DE.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bitte auf den folgenden Link klicken, um die Open-Xchange Mobility Provisionierungs-Applikation zu \u00F6ffnen: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:50&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.fr_FR.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Veuillez cliquer sur le lien suivant pour ouvrir l&amp;amp;#39;application de pr\u00E9paration de la mobilit\u00E9 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.nl_NL.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Klik op de volgende link om de initialisatietoepasssing voor Open-Xchange-mobility te starten: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.es_ES.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Por favor, haga clic en el siguiente enlace para ejecutar la aplicaci\u00F3n de configuraci\u00F3n m\u00F3vil de Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.sms.message.it_IT.text&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Fai clic sul seguente collegamento per aprire l&amp;amp;#39;applicazione di fornitura in mobilit\u00E0 Open-Xchange: %u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:54&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://%h/servlet/mobileconfig?l=%p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the URL which will be send to the device via the transport. The following placeholders will be replaced by: %h : The Hostname taken from the URL of the user %l : The login which the user has entered on the login page %c : The context ID %u : The user login %p : Users primary email address &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-mail.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.json.action.sms.sipgat.api.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://samurai.sipgate.net/RPC2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Properties for the ACTION SMS Provisioning Plugin   Currently only SIPGATE is supported as SMS provider via XML-RPC API    Sipgate API URL  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-sms.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.json.action.sms.sipgat.api.username&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Sipgate API Username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-sms.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.json.action.sms.sipgat.api.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Sipgate API Password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-sms.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/fr_FR/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/fr_FR/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-French.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_US/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_US/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_GB/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/en_GB/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/nl_NL/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/nl_NL/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-Dutch.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/es_ES/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/es_ES/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-Spanish.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/de_DE/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Blackberry configuration description:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/de_DE/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-German.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/fr_FR/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/fr_FR/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-French.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_US/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_US/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_GB/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/en_GB/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/nl_NL/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/nl_NL/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-Dutch.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/es_ES/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Blackberry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/1/es_ES/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-blackberry-Spanish.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/de_DE/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Android configuration description:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/de_DE/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-German.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/fr_FR/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/fr_FR/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-French.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_US/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_US/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_GB/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/en_GB/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-English.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/nl_NL/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/nl_NL/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-Dutch.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/es_ES/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Android&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/2/es_ES/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-android2-Spanish.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/de_DE/name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Nokia S60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following options will display the detailed setup descriptions from devices which don&amp;amp;#39;t support autoconfiguration emails.  Nokia S60 configuration description:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.eas.provisioning.ui/other/0/de_DE/url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;plugins/com.openexchange.usm.eas/html/ox6-nokias60-German.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning-ui.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.OpensslBinary&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The location of the openssl binary (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.OpensslTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The timeout for the openssl binary in milliseconds (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.CertFile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The cert file (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.KeyFile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The key file (needed if SignConfig is true) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.iPhoneRegex&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;^.*(iPhone|iPad).*$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RegEx for iPhone browser detection &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.WinMobRegex&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;^.*Windows Phone.*$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RegEx for Windows Mobile browser detection &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.OnlySecureConnect&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If only https should be used &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobile.configuration.generator.SignConfig&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If signing is used or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eas-provisioning.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;read_cl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ONE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Consistency Levels. It can be defined on a per-column-family basis. Since we only have one column family, it only applies to that.  Possible values (CaSe sensitive): ONE, TWO, THREE, QUORUM, ALL, ANY, EACH_QUORUM, LOCAL_QUORUM &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;write_cl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ONE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replication_factor &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Replication factor of the keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Keyspace name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cf_xt_props &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ExtendedProperties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Extended Properties column family name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| eavstorage.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.event.eventQueueDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This parameter set the delay in milliseconds when events are sent to the subscribed services. Events for example are triggered when deleting an appointment with attachment. The event then is for deleting the attachment. If this value is increased more events may be in the queue that must be executed. This can cause longer runtime delivering all those events. Lowering this value may cause too often look into the queue without finding events there to process. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| event.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.event.isEventQueueEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option enables or disable the complete event handling for OX The event handling is a essential Open-Xchange component which needs to always run. This should only be set to false for debugging purposes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| event.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.loginPageBaseURL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://www.facebook.com/login.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the base URL of facebook&amp;amp;#39;s login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.actionOfLoginForm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://login.facebook.com/login.php?login_attempt=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the action of the facebook login form located at login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.linkAfterLogin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;\\Qhttp://www.facebook.com/profile.php?ref=profile&amp;amp;amp;id=\\E([0-9]+)&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the regular expression (in quotes) for the link of the expected page after successfully passing facebook&amp;amp;#39;s login page Note: The (optional) capturing group is checked against facebook&amp;amp;#39;s user identifier. If no group is specified, no check is performed &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.apiVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1.0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the version of facebook&amp;amp;#39;s API &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.nameOfUserField&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;email&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the login field on facebook&amp;amp;#39;s login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.nameOfPasswordField&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the password field on facebook&amp;amp;#39;s login page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.facebook.renewalFrequence&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Frequence for facebook session renewal in milliseconds. Default is 300000 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookmessaging.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.facebook&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable Facebook OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookoauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.facebook.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INSERT_YOUR_API_KEY_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the API key obtained from facebook &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookoauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.facebook.secretKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INSERT_YOUR_API_SECRET_HERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the secret key obtained from facebook &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebookoauth.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.facebook&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebooksubscribe.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.facebook.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| facebooksubscribe.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.append&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.append&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;possible log levels are ALL INFO FINE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;possible log levels are ALL INFO FINE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.login.internal.LoginPerformer.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Important note: The following option ensures, that all login relevant information is logged correctly. Such information is essential to detect and to address session issues, pontentially caused by 3rd parties. Open-Xchange strongly suggests NOT to modify this configuration setting unless you are forced to do so by specific legal requirements, e.g. privacy regulations.  Please note: If these settings are changed, Open-Xchange will take no responsibility and will exclude support regarding any session issues and potential security breaches arising thereof. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.login.internal.LoginPerformer.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Important note: The following option ensures, that all login relevant information is logged correctly. Such information is essential to detect and to address session issues, pontentially caused by 3rd parties. Open-Xchange strongly suggests NOT to modify this configuration setting unless you are forced to do so by specific legal requirements, e.g. privacy regulations.  Please note: If these settings are changed, Open-Xchange will take no responsibility and will exclude support regarding any session issues and potential security breaches arising thereof. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.impl.SessionHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.impl.SessionHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.rmi.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.rmi.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.management.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.management.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.jmdns.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.jmdns.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.hazelcast.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.hazelcast.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.glassfish.grizzly.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.glassfish.grizzly.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.cxf.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set to FINE to log SOAP requests for debugging purpose &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.cxf.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set to FINE to log SOAP requests for debugging purpose &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.logger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.logger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.jaudiotagger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SEVERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set org.jaudiotagger to SEVERE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.jaudiotagger.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SEVERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set org.jaudiotagger to SEVERE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.impl.Manager.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set global documentconverter logging level to WARNING &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.impl.Manager.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set global documentconverter logging level to WARNING &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.gargoylesoftware.htmlunit.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Reduce log level for htmlunit.jar &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.gargoylesoftware.htmlunit.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Reduce log level for htmlunit.jar &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.requesthandler.DispatcherServlet.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A switch to control which exceptions are logged to the log file Set this to ALL to log all exceptions &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.requesthandler.DispatcherServlet.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A switch to control which exceptions are logged to the log file Set this to ALL to log all exceptions &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.pattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange/open-xchange.log&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.pattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/log/open-xchange/open-xchange.log&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.limit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2097152&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.limit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2097152&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.count&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;99&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.count&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;99&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.formatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.SimpleFormatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.FileHandler.formatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.SimpleFormatter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| file-logging.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;distributedFiles-0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filemanagementDistributed.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].endpoint&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the endpoint (e.g. &amp;amp;quot;ec2.amazonaws.com&amp;amp;quot;) or a full URL, including the protocol (e.g. &amp;amp;quot;https://ec2.amazonaws.com&amp;amp;quot;) of the region specific AWS endpoint this client will communicate with. Defaults to &amp;amp;quot;s3.amazonaws.com&amp;amp;quot; if not defined. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].region&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;us-west-2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the Amazon S3 region to use when creating new buckets. This value is also used to pre-configure the client when no specific endpoint is set. Possible values are &amp;amp;quot;us-gov-west-1&amp;amp;quot;, &amp;amp;quot;us-east-1&amp;amp;quot;, &amp;amp;quot;us-west-1&amp;amp;quot;, &amp;amp;quot;us-west-2&amp;amp;quot;, &amp;amp;quot;eu-west-1&amp;amp;quot;, &amp;amp;quot;ap-southeast-1&amp;amp;quot;, &amp;amp;quot;ap-southeast-2&amp;amp;quot;, &amp;amp;quot;ap-northeast-1&amp;amp;quot; and &amp;amp;quot;sa-east-1&amp;amp;quot;. Defaults to &amp;amp;quot;us-west-2&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].accessKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the AWS access key to use. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].secretKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the AWS secret key to use. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].encryption&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;none&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Optionally specifies which client-side encryption should be used. Current options include &amp;amp;quot;none&amp;amp;quot; for no encryption, or &amp;amp;quot;rsa&amp;amp;quot; for an RSA-based asymmetric encryption. Defaults to &amp;amp;quot;none&amp;amp;quot;. Please note that depending on the used key length and Java runtime, one might need to replace the so-called &amp;amp;quot;JCE Unlimited Strength Jurisdiction Policy Files&amp;amp;quot; accordingly. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].encryption.rsa.keyStore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the path to the local keystore file (PKCS #12) containing the public-/private-key pair to use for encryption, e.g. &amp;amp;quot;/opt/open-xchange/etc/cert/awss3.p12&amp;amp;quot;. Required if &amp;amp;quot;com.openexchange.aws.s3.[filestoreID].encryption&amp;amp;quot; is set to &amp;amp;quot;rsa&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:49&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].encryption.rsa.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the password used when creating the referenced keystore containing public-/private-key pair to use for encryption. Note that blank or null passwords are in violation of the PKCS #12 specifications. Required if &amp;amp;quot;com.openexchange.aws.s3.[filestoreID].encryption&amp;amp;quot; is set to &amp;amp;quot;rsa&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].bucketName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the name of the parent bucket to use. The bucket will be created &lt;br /&gt;
automatically if it not yet exists, however, it's still possible to use an &lt;br /&gt;
already existing one. There are some naming restrictions, please refer to &lt;br /&gt;
http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html for &lt;br /&gt;
details. Required.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.filestore.s3.[filestoreID].pathStyleAccess&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines if path-style-access should be used when accessing the S3 API. If not set to &amp;quot;true&amp;quot;, virtual-hosted-style access is used. Please refer to &lt;br /&gt;
http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html for &lt;br /&gt;
details. Defaults to true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| filestore-s3.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.find.basic.mail.searchmailbody &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Denotes if mail search queries should be matched against mail bodies. This improves the search experience within the mail module, if your mail backend supports fast full text search. Otherwise it can slow down the search requests significantly.  Change the value to &amp;amp;#39;true&amp;amp;#39;, if fast full text search is supported. Default is &amp;amp;#39;false&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| findbasic.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.find.basic.mail.allMessagesFolder &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Some mail backends provide a virtual folder that contains all messages of a user to enable cross-folder mail search. Open-Xchange can make use of this feature to improve the search experience.  Set the value to the name of the virtual mail folder containing all messages. Leave blank if no such folder exists. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| findbasic.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IGNORE_SHARED_ADDRESSBOOK&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Determine whether to ignore &amp;amp;#39;shared addressbook&amp;amp;#39; folder or not. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ENABLE_INTERNAL_USER_EDIT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if users are allowed to edit their own contact object contained in folder &amp;amp;#39;Global Address Book&amp;amp;#39; aka &amp;amp;#39;Internal Users&amp;amp;#39;. Switching this parameter only has an effect for new created contexts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folderstorage.outlook.showPersonalBelowInfoStore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether a user&amp;amp;#39;s default InfoStore folder should appear below InfoStore root folder:  - Infostore -- My files -- Public infostore -- Userstore -- Other infstore folders &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folderstorage.database.preferDisplayName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether default InfoStore folders are labeled with owning user&amp;amp;#39;s display name or name is read from folder storage (database) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ENABLE_DB_GROUPING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define where to perform folder grouping. This filters the database results for duplicate folders in the where clause of the db statement or afterwards in the application. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ENABLE_FOLDER_CACHE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; TRUE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable or disable folder caching. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| foldercache.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folder.json.module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;folders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Define the module which also serves as the appendix for registered servlet: # If module is set to &amp;amp;quot;myfolders&amp;amp;quot;, the servlet path is changed to &amp;amp;quot;/ajax/myfolders&amp;amp;quot; # Default is &amp;amp;quot;folders&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| folderjson.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;project.required.plugins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.forrest.plugin.output.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The names of plugins that are required to build the project comma separated list (no spaces) You can request a specific version by appending &amp;amp;quot;-VERSION&amp;amp;quot; to the end of the plugin name. If you exclude a version number the latest released version will be used, however, be aware that this may be a development version. In a production environment it is recomended that you specify a known working version. Run &amp;amp;quot;forrest available-plugins&amp;amp;quot; for a list of plug-ins currently available &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| forrest.properties:125&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;project.skin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;lucene&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies name of Forrest skin to use See list at http://forrest.apache.org/docs/skins.html &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| forrest.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The password to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.detailed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether the detailed free/busy-view including subject and location of the appointments is requested from EWS or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.emailSuffixes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows the definition of a comma-separated list of e-mail-address suffixes (e.g. domain parts like &amp;amp;quot;@example.org&amp;amp;quot;) that are used to pre-filter the requested participants before passing them to EWS. Optional, but strongly recommended to reduce the amount of transferred data. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.validEmailsOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether only valid e-mail addresses are used in the free/busy lookup or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.trustAllCerts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to skip certificate validation and trust all server certificates. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.skipHostVerification&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to bypass hostname verification. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.hostname.verifier&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.exchangeVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;EXCHANGE_2010&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the requested Exchange Server version. Possible values include &amp;amp;quot;EXCHANGE_2007_SP_1&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010_SP_1&amp;amp;quot; and &amp;amp;quot;EXCHANGE_2010_SP_2&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the URL to the Exchange Web Service (usually something like http://exchange.example.com/EWS/Exchange.asmx). Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.ews.userName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The user name to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_ews.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.emailSuffixes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;@gmail.com,@googlemail.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allows the definition of a comma-separated list of e-mail-address suffixes (e.g. domain parts like &amp;amp;quot;@googlemail.com&amp;amp;quot;) that are used to pre-filter the requested participants before passing them to Google. Optional, but strongly recommended to reduce the amount of transferred data. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.validEmailsOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether only valid e-mail addresses are used in the free/busy lookup or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.apiEndpoint&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://www.googleapis.com/calendar/v3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the URI of the Google Calendar API endpoint and should normally not be changed. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.provider.google.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{YOUR_API_KEY}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sets the Google API key to be used for requests to the Google Calendar API. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_provider_google.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.userID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the user ID of the user in whose name the internal free/busy data is requested from the server (should normally be the internal user ID of the context administrator). Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the URL to the Exchange Web Service (usually something like http://exchange.example.com/EWS/Exchange.asmx). Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.userName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The user name to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The password to access the EWS. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.publishMonths&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the amount of free/busy data to be published. The period always starts at the first of the current month. Defaults to &amp;amp;#39;3&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.delay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the time in minutes between publication cycles, i.e. configures the free/busy data update interval. Defaults to &amp;amp;#39;15&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.initialDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the time in minutes before starting the first publication cycle upon bundle startup. Defaults to &amp;amp;#39;5&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.chunkSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the number of users that are processed in a chunk when publishing free/busy data. Default to &amp;amp;#39;50&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.exchangeVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;EXCHANGE_2010&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the requested Exchange Server version. Possible values include &amp;amp;quot;EXCHANGE_2007_SP_1&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010&amp;amp;quot;, &amp;amp;quot;EXCHANGE_2010_SP_1&amp;amp;quot; and &amp;amp;quot;EXCHANGE_2010_SP_2&amp;amp;quot;. Defaults to &amp;amp;#39;EXCHANGE_2010&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.trustAllCerts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to skip certificate validation and trust all server certificates. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.contextID&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the context ID of the users whose free/busy data is published to the Exchange server. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.skipHostVerification&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;For testing purposes, it&amp;amp;#39;s possible to bypass hostname verification. This might only work when using Sun Java as it configures &amp;amp;quot;com.sun.xml.internal.ws.transport.https.client.hostname.verifier&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies how the legacyExchangeDN for free/busy users is retrieved. May be one of &amp;amp;#39;static&amp;amp;#39; or &amp;amp;#39;ldap&amp;amp;#39;. A static lookup uses existing user attributes to construct the legacyExchangeDN path, while &amp;amp;#39;ldap&amp;amp;#39; queries the &amp;amp;#39;legacyExchangeDN&amp;amp;#39; attribute from the Active Directory using one or more user attributes. Required. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:58&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.static&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the template to construct the legacyExchangeDN path. Required if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;static&amp;amp;#39;. All occurrences of the following user attributes are replaced: [displayName], [contactId], [givenName], [surName], [userId], [imapLogin], [imapServer], [mailDomain], [mail], [loginInfo]. An example template would be &amp;amp;quot;/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/ cn=Recipients/cn=[displayName]&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:67&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.filter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the LDAP filter used to query the Active Directory for the legacyExchangeDN of a user. Required if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. Within the search filter, all occurrences of the following user attributes are replaced dynamically: [displayName], [contactId], [givenName], [surName], [userId], [imapLogin], [imapServer], [mailDomain], [mail], [loginInfo]. For example: &amp;amp;quot;(&amp;amp;amp;(objectClass=contact)(cn=[displayName]))&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:76&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.uri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The URI of the LDAP server, should be in the format ldap://myserver.example.com:389. For SSL access, use the ldaps protocol and the appropriate port, e.g. ldaps://myserver.example.com:636. Required if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:82&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.baseDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures a base LDAP path. If defined, all Distinguished Names supplied to and received from LDAP operations will be relative to the LDAP path supplied. If not defined, the default naming context of the RootDSE is used as baseDN. Only used if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:89&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.bindDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the bind DN used for LDAP authentication here. Only used if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39;. If left empty, anonymous authentication is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:94&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.freebusy.publisher.ews.lookup.ldap.bindPW&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the bind password used for LDAP authentication here. Only used if &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup&amp;amp;#39; is set to &amp;amp;#39;ldap&amp;amp;#39; and &amp;amp;#39;com.openexchange.freebusy.publisher.ews.lookup.ldap.bindDN&amp;amp;#39; is defined. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| freebusy_publisher_ews.properties:99&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasCometEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comet is an umbrella term used to describe a technique allowing web browser to receive almost real time updates from the server. The two most common approaches are long polling and streaming. Long polling differs from streaming in that each update from the server ultimately results in another follow up request from the client. Default value: true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasWebSocketsEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Bi-directional, full-duplex communications channels over a single TCP connection. Default value: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasJMXEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Do you want to enable grizzly monitoring via JMX? Default value: true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.hasAJPEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Grizzly is able to communicate via AJP besides its default prototcol HTTP. Do you want to use AJP instead of HTTP? Default value: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.ping&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PROCESSING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the ping mechanism to use. Currently supported values: * NONE -- No ping at all * PROCESSING -- Ping through 102 Processing interim response * CONTINUE -- Ping through 100 Continue interim response * WHITESPACE -- Ping through transmitting a whitespace character (and implicitly committing HTTP response) Default is PROCESSING. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.pingDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;90000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The ping delay aka frequency in milliseconds. Default is 90000. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.grizzly.maxPingCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of pings allowed being initiated before quit A value of zero or less means unlimited (actually 2^31 - 1) Default is 9 (because Apache has a hard-coded limit of 10) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| grizzly.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.halo.linkedin.enabledMailCapableKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether LinkedIn API key/secret are allowed to access E-Mail-sensitive data &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| halo-linkedin.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.portAutoIncrement&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures if automatically the next port should be tried if the incoming port is already in use. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.outboundPortDefinitions&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;By default, Hazelcast lets the system to pick up an ephemeral port during socket bind operation. But security policies/firewalls may require to restrict outbound ports to be used by Hazelcast enabled applications. To fulfill this requirement, you can configure Hazelcast to use only defined outbound ports. You can use port ranges and/or comma separated ports, e.g. &amp;amp;quot;35000-35100&amp;amp;quot; or &amp;amp;quot;36001, 36002, 36003&amp;amp;quot;. Defaults to &amp;amp;quot;&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:110&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.enableIPv6Support&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables support for IPv6.  IPv6 support is switched off by default, since some platforms have issues in use of IPv6 stack, and some other platforms such as Amazon AWS have no support at all. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:116&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.socket.bindAny&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether to bind the server- and client-sockets to any local interface or not. Defaults to &amp;amp;quot;false&amp;amp;quot;, which restricts the bind operation to the picked interface address based on the value of &amp;amp;quot;com.openexchange.hazelcast.network.interfaces&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:122&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables symmetric encryption. When enabled, the entire communication between the hazelcast members is encrypted at socket level. Ensure that all symmetric encryption settings are equal on all participating nodes in the cluster. More advanced options (including asymmetric encryption and SSL) may still be configured via the &amp;amp;quot;hazelcast.xml&amp;amp;quot; file, see instructions on top of this file. Defaults to &amp;amp;quot;false&amp;amp;quot;.  /!\ ---==== Additional note ====--- /!\ If symmetric encryption is enabled, it might have impact on Hazelcast cluster stability. Hazelcast nodes start loosing cluster connectivity under high load scenarios  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.algorithm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PBEWithMD5AndDES&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the name of the symmetric encryption algorithm to use, such as &amp;amp;quot;DES/ECB/PKCS5Padding&amp;amp;quot;, &amp;amp;quot;PBEWithMD5AndDES&amp;amp;quot;, &amp;amp;quot;Blowfish&amp;amp;quot; or &amp;amp;quot;DESede&amp;amp;quot;. The available cipher algorithms may vary based on the underlying JCE. Defaults to &amp;amp;quot;PBEWithMD5AndDES&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:146&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.salt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2mw67LqNDEb3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the salt value to use when generating the secret key for symmetric encryption. Defaults to &amp;amp;quot;2mw67LqNDEb3&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:150&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;D2xhL8mPkjsF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the pass phrase to use when generating the secret key for symmetric encryption. Defaults to &amp;amp;quot;D2xhL8mPkjsF&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:154&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.symmetricEncryption.iterationCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;19&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the iteration count to use when generating the secret key for symmetric encryption. Defaults to &amp;amp;quot;19&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:158&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.logging.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether Hazelcast&amp;amp;#39;s internal logging system is enabled or not. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:165&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.maxOperationTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the implicit maximum operation timeout in milliseconds for operations on distributed data structures, if no explicit timeout is specified for an operation. Defaults to &amp;amp;quot;5000&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:170&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.jmx&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables JMX monitoring for hazelcast components such as statistics about distributed data structures. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:174&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.jmxDetailed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether detailed JMX monitoring is enabled or not, i.e. detailed information about entries in distributed data structures. Only taken into account if &amp;amp;quot;com.openexchange.hazelcast.jmx&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot;. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:179&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.memcache.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables Hazelcast&amp;amp;#39;s internal Memcache client request listener service. Defaults to &amp;amp;quot;false&amp;amp;quot;, as it&amp;amp;#39;s not needed by the backend. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:183&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.rest.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables Hazelcast&amp;amp;#39;s internal REST client request listener service. Defaults to &amp;amp;quot;false&amp;amp;quot;, as it&amp;amp;#39;s not needed by the backend. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:187&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables or disables Hazelcast. Setting this property to &amp;amp;quot;false&amp;amp;quot; will result in no Hazelcast instance being created for this node, and all other dependent features will be disabled. Defaults to &amp;amp;quot;true&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.group.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the name of the cluster. Only nodes using the same group name will join each other and form the cluster. Required if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is not &amp;amp;quot;empty&amp;amp;quot; (see below). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.group.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;wtV6$VQk8#+3ds!a&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The password used when joining the cluster. Defaults to &amp;amp;quot;wtV6$VQk8#+3ds!a&amp;amp;quot;. Please change this value, and ensure it&amp;amp;#39;s equal on all nodes in the cluster. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies which mechanism is used to discover other backend nodes in the cluster. Possible values are &amp;amp;quot;empty&amp;amp;quot; (no discovery for single-node setups), &amp;amp;quot;static&amp;amp;quot; (fixed set of cluster member nodes) or &amp;amp;quot;multicast&amp;amp;quot; (automatic discovery of other nodes via multicast). Defaults to &amp;amp;quot;empty&amp;amp;quot;. Depending on the specified value, further configuration might be needed, see &amp;amp;quot;Networking&amp;amp;quot; section below. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join.static.nodes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures a comma-separated list of IP addresses / hostnames of possible nodes in the cluster, e.g. &amp;amp;quot;10.20.30.12, 10.20.30.13:5701, 192.178.168.110&amp;amp;quot;. Only used if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is set to &amp;amp;quot;static&amp;amp;quot;. It doesn&amp;amp;#39;t hurt if the address of the local host appears in the list, so that it&amp;amp;#39;s still possible to use the same list throughout all nodes in the cluster. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join.multicast.group&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;224.2.2.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the multicast address used to discover other nodes in the cluster dynamically. Only used if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is set to &amp;amp;quot;multicast&amp;amp;quot;. If the nodes reside in different subnets, please ensure that multicast is enabled between the subnets. Defaults to &amp;amp;quot;224.2.2.3&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.join.multicast.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;54327&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the multicast port used to discover other nodes in the cluster dynamically. Only used if &amp;amp;quot;com.openexchange.hazelcast.network.join&amp;amp;quot; is set to &amp;amp;quot;multicast&amp;amp;quot;. Defaults to &amp;amp;quot;54327&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:71&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.merge.firstRunDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the time until the first check if the cluster needs to merge is scheduled. This takes a timespan parameter with &amp;amp;quot;ms&amp;amp;quot; denoting milliseconds, &amp;amp;quot;s&amp;amp;quot; denoting seconds, &amp;amp;quot;m&amp;amp;quot; denoting minutes. The value is passed to the hazelcast property &amp;amp;quot;hazelcast.merge.first.run.delay.seconds&amp;amp;quot;. Defaults to &amp;amp;quot;120s&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:78&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.merge.runDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the time between each check if the cluster needs to merge. This takes a timespan parameter with &amp;amp;quot;ms&amp;amp;quot; denoting milliseconds, &amp;amp;quot;s&amp;amp;quot; denoting seconds, &amp;amp;quot;m&amp;amp;quot; denoting minutes. The value is passed to the hazelcast property &amp;amp;quot;hazelcast.merge.next.run.delay.seconds&amp;amp;quot;. Defaults to &amp;amp;quot;120s&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.interfaces&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comma-separated list of interface addresses hazelcast should use. Wildcards (*) and ranges (-) can be used. Leave blank to listen on all interfaces Especially in server environments with multiple network interfaces, it&amp;amp;#39;s recommended to specify the IP-address of the network interface to bind to explicitly. Defaults to &amp;amp;quot;127.0.0.1&amp;amp;quot; (local loopback only), needs to be adjusted when building a cluster of multiple backend nodes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:95&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.network.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5701&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The port Hazelcast will listen for incoming connections. Defaults to &amp;amp;quot;5701&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hazelcast.properties:98&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXT_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXContextMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CREATE_CONTEXT_USE_UNIT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;context&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;what to count when distributing contexts over db engines possible values: context or user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CHECK_CONTEXT_LOGIN_MAPPING_REGEXP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[$%\\.+a-zA-Z0-9_-]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pattern of allowed chars in login mapping names &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;NEW_CONTEXT_DEFAULT_ACCESS_COMBINATION_NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;webmail_plus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Default access combination template name for newly created contexts! See also &amp;amp;quot;ModuleAccessDefinitions&amp;amp;quot; file for details! If the name is NOT defined in &amp;amp;quot;ModuleAccessDefinitions&amp;amp;quot; file , fallback will be used! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTIL_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.storage.mysqlStorage.OXUtilMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;AVERAGE_CONTEXT_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Misc properties average size of a context in MB &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONTEXTS_PER_SCHEMA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;amount of contexts per database schema &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| hosting.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.storeContainerType&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;boundary-aware&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;An IMAP connection cache acts a temporary keep-alive cache for already connected resources to an IMAP server&amp;amp;#39;s account. Meaning it keeps a resource open/connected for a short amount of time (see &amp;amp;quot;com.openexchange.mail.mailAccessCacheIdleSeconds&amp;amp;quot;) and performs a &amp;amp;quot;close elapsed ones&amp;amp;quot; run periodically (see &amp;amp;quot;com.openexchange.mail.mailAccessCacheShrinkerSeconds&amp;amp;quot;).  In addition to that behavior there are two modes of operation - bounded and unbounded.  For an unbounded cache, set this property to &amp;amp;quot;unbounded&amp;amp;quot;. Thus a user is allowed to establish as many connections to his IMAP account as demanded by his active clients (Web UI, EAS, Outlook OXtender, etc.).  A bounded cache allows only as many concurrently opened resources as specified through &amp;amp;quot;com.openexchange.imap.maxNumConnections&amp;amp;quot; property. Taking the wording &amp;amp;quot;resource&amp;amp;quot; was chosen by intention, since two types of resource abstractions exist: IMAP store and IMAP protocol (an authenticated login&amp;amp;#39;s socket connection).  The default setting &amp;amp;quot;boundary-aware&amp;amp;quot; considers an &amp;amp;quot;IMAP store&amp;amp;quot; as limited resources to an IMAP server. The vague thing about IMAP store is that it maintains a connection pool internally by itself. Thus it is possible that there are actually more active socket connections open than specified, because an IMAP store is allowed to open further connections when needed; e.g. when accessing another IMAP folder while INBOX has been opened, too. Practical experience showed that there will be at max.: &amp;amp;quot;com.openexchange.imap.maxNumConnections&amp;amp;quot; + 1  The setting &amp;amp;quot;non-caching&amp;amp;quot; does an exact mapping of resource to an established/authenticated socket connection to the IMAP account. It is named &amp;amp;quot;non-caching&amp;amp;quot; as it does no caching on its own, but delegates it to a custom queuing &amp;amp;#39;com.sun.mail.imap.IMAPStore&amp;amp;#39; class. Thus an exact limitation of connected socket connections (&amp;amp;#39;com.sun.mail.imap.protocol.IMAPProtocol&amp;amp;#39; instances) is achieved. Specifying a quite small limitation - let&amp;amp;#39;s say &amp;amp;quot;1&amp;amp;quot; - arises the possibility that JavaMail gets dead-locked by itself. E.g. an IMAP store attempts to create a second connection. That attempt may get stalled as it waits for itself to free the already acquired connection which never happens. So, please use this exact mapping only if you specify a reasonable limitation.  Default is &amp;amp;quot;boundary-aware&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.maxNumExternalConnections&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap.gmail.com:2,imap.googlemail.com:2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configure the max. number of concurrent connections which are allowed being established to a subscribed/external IMAP account. Notation is a comma-separated list of: &amp;amp;lt;host&amp;amp;gt; + &amp;amp;#39;:&amp;amp;#39; + &amp;amp;lt;max-count&amp;amp;gt;; e.g.: com.openexchange.imap.maxNumExternalConnections=imap.host1.com:4, imap.host2.com:6 For convenience a max-count can be specified which applies to all subscribed/external IMAP accounts; e.g.: com.openexchange.imap.maxNumExternalConnections=4 Zero or less is interpreted as unlimited. If not set, unlimited concurrent connections are allowed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:124&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.enableTls&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.notifyRecent&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Notify about recent messages using mail push events. This is a poll-based alternative for any connection-keeping mail push bundle. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:130&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.notifyFrequencySeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The frequency when a check for recent mails is enforced. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:133&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.notifyFullNames&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INBOX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The full names of the folders to consider. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:136&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define where to search for emails: - Use value &amp;amp;quot;imap&amp;amp;quot; to let the IMAP Server search. The search is done on IMAP server if a mailbox&amp;amp;#39; size exceeds the mailFetchLimit as defined in mail.properties. - Use value &amp;amp;quot;force-imap&amp;amp;quot; to let the IMAP Server search in every case. - Leave blank or fill in value &amp;amp;quot;application&amp;amp;quot; to search within application. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.maxMailboxNameLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. length of a mailbox name Default is 60 characters &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.invalidMailboxNameCharacters&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies a space-separated list of characters that are not allowed to be contained in a mailbox name; e.g. &amp;amp;gt;&amp;amp;gt;com.openexchange.imap.invalidMailboxNameCharacters=&amp;amp;quot;; / . | \\&amp;amp;quot;&amp;amp;lt;&amp;amp;lt; Default is empty. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:145&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.allowFolderCaches&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables/disables caching of IMAP folders. Default is true. Note: Only disable IMAP folder cache if you certainly know what you are doing. Disabling that cache may result in noticeable performance decrease. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:151&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.ssl.protocols&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SSLv3 TLSv1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace separated list of tokens. Default value is: SSLv3 TLSv1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:155&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.ssl.ciphersuites&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL cipher suites that will be enabled for SSL connections. The property value is a whitespace separated list of tokens.  Check &amp;amp;quot;http://&amp;amp;lt;ox-grizzly-hostname&amp;amp;gt;:&amp;amp;lt;ox-grizzly-port&amp;amp;gt;/stats/diagnostic?param=ciphersuites&amp;amp;quot; to check available cipher suites.  Default value is empty (fall-back to current JVM&amp;amp;#39;s default SSL cipher suite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:162&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.umlautFilterThreshold&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the threshold for number of search results returned by IMAP server for which manual umlauts-filtering will be applied. If less than or equal to zero, no manual filtering will be applied. Default value is 50. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapFastFetch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property determines whether a fast fetch is performed on large mail folders or not. Although the fetch is fast on IMAP side, a lot of data is transfered during reading response which cause a temporary memory peak. If disabled only the necessary fields are used as command arguments, which is slower but needs less memory. NOTE: See property &amp;amp;quot;imapMessageFetchLimit&amp;amp;quot; to know which mail folders are treated as large mail folders &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapSupportsACL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;auto&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if IMAP server supports ACLs. Possible values: true/false/auto NOTE: Value &amp;amp;quot;auto&amp;amp;quot; means to use server-defined ACL support as indicated through response to IMAP command &amp;amp;quot;CAPABILITY&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket I/O timeout value in milliseconds. A value less than or equal to zero is infinite timeout. See also mail.imap.timeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapConnectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket connection timeout value in milliseconds. A value less or equal to zero is infinite timeout. See also mail.imap.connectiontimeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapTemporaryDown&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds an IMAP server is treated as being temporary down. An IMAP server is treated as being temporary down if a socket connect fails. Further requests to the affected IMAP server are going to be denied for the specified amount of time. A value less or equal to zero disables this setting. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.failedAuthTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of milliseconds a failed authentication attempt is cached to faster handle subsequent authentication attempts Default is 10 seconds. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapAuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for IMAP authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.User2ACLImpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;auto&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the class that implements User2ACL, their alias or &amp;amp;quot;auto&amp;amp;quot; to use auto-detection. Currently known aliases: Cyrus, Courier, Dovecot, and Sun (Sun Java(tm) System Messaging Server) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:59&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.blockSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP operations which shall be applied to a number of messages which exceeds the block size are performed in blocks. Example: A folder containing thousands of messages shall be cleared. To avoid the risk of an IMAP timeout when trying to delete all messages at once, the messages are deleted in block size portions. A block size equal to or less than zero means no block size. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.spamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DefaultSpamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the registration name of the appropriate spam handler to use &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.imapSort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define where to sort emails: Value &amp;amp;quot;imap&amp;amp;quot; to let the  IMAP Server sort (faster but less reliable). Leave blank or fill in value &amp;amp;quot;application&amp;amp;quot; to sort within application (slower but good quality). The sorting is done on IMAP server if a mailbox&amp;amp;#39; size exceeds the mailFetchLimit as defined in mail.properties. NOTE: This value is going to be set to &amp;amp;quot;application&amp;amp;quot; if IMAP server capabilities do not contain string &amp;amp;quot;SORT&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.propagateClientIPAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether client&amp;amp;#39;s IP address should be propagated by a NOOP command; e.g. &amp;amp;quot;A01 NOOP &amp;amp;lt;CLIENT_IP&amp;amp;gt;&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:72&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.propagateHostNames&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configure a comma-separated list of external IMAP server&amp;amp;#39;s host names which should receive client&amp;amp;#39;s IP address by a NOOP command, too &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.maxNumConnections&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. number of connection allowed being established for a user to an IMAP server. Less than or equal to zero means infinite. Please also consider &amp;amp;quot;com.openexchange.imap.storeContainerType&amp;amp;quot;.  Note: This setting overrides possibles restrictions specified through property &amp;amp;quot;com.openexchange.imap.maxNumExternalConnections&amp;amp;quot; if this property&amp;amp;#39;s value is less than the other one.  Default is 0 (zero). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties:84&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.imap.namespacePerUser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option controls whether there it is expected to have a dedicated NAMESPACE per user or not. In case of &amp;quot;true&amp;quot; each mailbox account on associated IMAP server is allowed to have its own NAMESPACE set; might be &amp;quot;&amp;quot; (root) or &amp;quot;INBOX.&amp;quot;. Otherwise for &amp;quot;false&amp;quot; every mailbox is assumed to have the same NAMESPACE set. &lt;br /&gt;
This influences the way Open-Xchange Server detects &amp;amp; caches NAMESPACE information; either on a per user basis (more IMAP traffic) or globally (only requested once). &lt;br /&gt;
It should not be changed/touched unless IMAP server behavior is well know.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imap.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_TIMEOUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Socket I/O timeout value in milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_CONNECTIONTIMEOUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Socket connection timeout value in milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_SERVER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap server ip or fqdn &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USE_FULL_LOGIN_INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;############################################# Set to true to auth with &amp;amp;quot;user@domain&amp;amp;quot; instead of just &amp;amp;quot;user&amp;amp;quot; against imap server. If true the &amp;amp;quot;domain&amp;amp;quot; part will be used as the context name of the ox system. so add &amp;amp;quot;domain&amp;amp;quot; as a login mapping to be able to login. If false, the plugin react as only 1 context exists in the ox system, and this context has the mapping &amp;amp;quot;defaultcontext&amp;amp;quot; added. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USE_MULTIPLE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;######## MULTIPLE IMAP SERVERS #############  If set to true the IMAP authentication plugin gets all IMAP server information from the OX database instead of reading configuration from this file.  Following information is fetched from DB and will be used to authenticate against the server:  - server - port - ssl/tls  Moreover the proper login name is detected as configured by property &amp;amp;quot;com.openexchange.mail.loginSource&amp;amp;quot;.  To use this feature, set the correct values while provisioning an OX user.  Useful if you have many IMAP Servers to connect to. ##### INFO: Domain part of the login is used as context name.  Example: test@test.org Username of the OX account must be &amp;amp;quot;test&amp;amp;quot; and name of the OX context must be &amp;amp;quot;test.org&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_PORT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;143&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;port on which the imap server is listening &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.authentication.imap.imapAuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for IMAP authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:51&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IMAP_USE_SECURE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set to true if connecting via imaps:// &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| imapauth.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.index.allowedModules &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify all modules that may be indexed as a comma-separated list of module identifiers (these are numbers defined in http://oxpedia.org/wiki/index.php?title=HTTP_API#LinkObject). The default value is empty and disables indexing as a whole.  This value takes effect on server granularity and can be overwritten for sets of contexts, single contexts and single users. See http://oxpedia.org/wiki/index.php?title=ConfigCascade and /ox-config-path/contextSets/index.yml for more information on this.  Possible modules: E-Mail:       19  As of now only E-Mail can be enabled. Enabling other modules may lead to unforseen errors during runtime. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| index.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.service.indexing.workerThreads &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of worker threads for the clustered job scheduler instance that executes the indexing jobs. More worker threads allow it to run more indexing jobs at the same time, but will also increase the load of the worker node. It is recommended to start with a number not higher than the nodes number of CPU cores. Increasing the number afterwards always requires a restart of the node. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| indexing-service.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.get_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.IdListTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore-querybuilder.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;get_request.id_field &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; uuid&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore-querybuilder.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;translator.all_request &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.openexchange.index.solr.internal.querybuilder.translators.AllTranslator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore-querybuilder.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.infostore.zipDocumentsCompressionLevel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the used compression level that is applied to .zip containers when downloading multiple documents at once. Possible values are &amp;amp;quot;-1&amp;amp;quot; for the built-in default level, &amp;amp;quot;0&amp;amp;quot; for no compression, or any number between &amp;amp;quot;1&amp;amp;quot; (best speed) and &amp;amp;quot;9&amp;amp;quot; (best compression). Defaults to &amp;amp;quot;-1&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10485760&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the sum of all uploaded files in one request is larger than this value, the upload will be rejected. If this value is not set or 0, the more general MAX_UPLOAD_SIZE configured in server.properties will be used. If that value is also 0 or not set, uploads will be unrestricted. The size is in Bytes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| infostore.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.servlet.name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /monitoring/jolokia&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Under what servlet name jolokia will be published, please bear in mind that this should not be forwarded by apache and kept internal &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;User used for authentication with HTTP Basic Authentication. If not set, jolokia won&amp;amp;#39;t start &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Password used for authentification with HTTP Basic Authentication. If not set, jolokia won&amp;amp;#39;t start &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.maxDepth &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum depth when traversing bean properties. If set to 0, depth checking is disabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.maxObjects &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 100000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of objects which are traversed when serializing a single response. Use this as an airbag to avoid boosting your memory and network traffic. Nevertheless, when set to 0 no limit is imposed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.restrict.to.localhost &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This setting will restrict jolokia access to localhost. It is completly ignored when a jolokia-access.xml is present. It is also a second guard and bound to com.openexchange.connector.networkListenerHost inside server.properties As Jolokia uses the http / ajp interface, it is bound to the host for the connector&amp;amp;#39;s (ajp, http) network listener which is configured by com.openexchange.connector.networkListenerHost. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.jolokia.start &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Start jolokia &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| jolokia.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.proxyDelimiter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define a delimiter to be used to separate proxy authentication from normal user login on the frontend login screen. If defined, a proxy user can login on behalf of a user using the form &amp;amp;lt;PROXYACCOUNT&amp;amp;gt;&amp;amp;lt;DELIMITER&amp;amp;gt;&amp;amp;lt;USERACCOUNT&amp;amp;gt;. NOTE: Login to the mail server is not supported. The implementation for mail filter implementation based on SIEVE protocol does not support a proxy authentication, so it will raise error messages. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.proxyUser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comma separated list of proxy user logins allowed to login as a proxy user for every other user account. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.security.auth.login.config&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/kerberosLogin.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;path to the Java authentication and authorization configuration file &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.security.krb5.debug&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;enable kerberos debugging &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.security.krb5.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/krb5.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;path to the krb5.conf configuration file java.security.krb5.conf=/etc/krb5.conf &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.moduleName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the module in the authentication and authorization configuration file. Must be an entry in the file named by java.security.auth.login.config. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.kerberos.userModuleName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange-User-Auth&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the module in the authentication and authorization configuration file used for username and password authentication. Must be an entry in the file named by java.security.auth.login.config &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| kerberos.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.langdetect.languageModelsDir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;languageModels&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The path to the directory containing the language models &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| lang-detect.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.langdetect.languageCodesFile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;language-codes.properties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maps language to their code &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| lang-detect.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.jndi.ldap.connect.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Timeouts are useful to get quick responses for login requests. This timeout is used if a new connection is established. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.jndi.ldap.read.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This timeout only works since Java 6 SE to time out waiting for a response. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;uidAttribute&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;uid&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This attribute is used login. E.g. uid=&amp;amp;lt;login&amp;amp;gt;,baseDN &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;baseDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ou=Users,ou=OxObjects,dc=open-xchange,dc=com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the base distinguished name where the user are located. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ldapReturnField&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If you do not want to pass on the user id, used for authentication, to the groupware but another field entry of the LDAP user object, then you can specify the field here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;adsBind&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option activates a special ADS bind. It allows the user to authenticate at the ADS with only the displayName or by using the syntax DOMAIN\Samaccountname. Note that &amp;amp;quot;\&amp;amp;quot; cannot be used in user names when this option is activated. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;subtreeSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;set subtreeSearch to true if the user entries are not directly below the baseDN, and e.g. distributed over one or more subtrees. The bindDN to authenticate the user will then determined using a search over the complete tree below baseDN NOTE: When two users exist with the same uidAttribute, authentication will be refused, though. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;searchFilter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;(objectclass=posixAccount)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;specify the filter to limit the search of user entries (used in combination with subtreeSearch=true. the filter will be ANDed with the attributed specified in uidAttribute. Example: (&amp;amp;amp;(objectclass=posixAccount)(uid=foo)) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:47&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.naming.provider.url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ldap://localhost:389/dc=example,dc=com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;URL of the LDAP server to connect to for authenticating users. ldaps is supported. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bindDN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if your LDAP server does not allow to do searches without any authentication, specify a dn here to bind in order to search (used in combination with subtreeSearch=true). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;bindDNPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;the password required for the bindDN &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;referral&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;follow&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option configures how to handle the chasing of referrals in LDAP (see http://java.sun.com/products/jndi/tutorial/ldap/referral/overview.html). possible values: ignore, follow, throw &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.naming.security.authentication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;simple&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the authentication security that should be used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ldapauth.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.licensekey.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX-AS-MK-123456-789&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| licensekeys.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/themes/light_breeze&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Light Breeze&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property defines the light breeze theme of the AJAX GUI. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| light-breeze-theme.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.linkedin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable LinkedIn OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinoauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.socialplugin.linkedin.apikey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_THE_KEY_FROM_YOUR_LINKEDIN_APP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;These keys are either pre-filled or need to be replaced by ones gotten from an application managed at linkedIn for information how to create this application please see http://oxpedia.org/wiki/index.php?title=LinkedIn_Bundles &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinoauth.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.socialplugin.linkedin.apisecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_THE_SECRET_FROM_YOUR_LINKEDIN_APP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinoauth.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.linkedin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinsubscribe.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.linkedin.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| linkedinsubscribe.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.rootLogger&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ERROR, console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.rootLogger&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; ERROR, console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.ConsoleAppender&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.ConsoleAppender&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.ConsoleAppender&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.PatternLayout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.PatternLayout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.log4j.PatternLayout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout.ConversionPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; %d{dd.MM.yyyy HH:mm:ss} [%t] %-5p %c{1} - %m%n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout.ConversionPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; %d{dd.MM.yyyy HH:mm:ss} [%t] %-5p %c{1} - %m%n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.appender.console.layout.ConversionPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; %d{dd.MM.yyyy HH:mm:ss} [%t] %-5p %c{1} - %m%n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.de.kippdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.org.apache.solr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARN,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.openexchange.realtime.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.com.openexchange.realtime.hazelcast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TRACE,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;log4j.logger.org.apache.solr.analysis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ERROR,console&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| log4j.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.login.internal.LoginPerformer.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Important note: The following option ensures, that all login relevant information is logged correctly. Such information is essential to detect and to address session issues, pontentially caused by 3rd parties. Open-Xchange strongly suggests NOT to modify this configuration setting unless you are forced to do so by specific legal requirements, e.g. privacy regulations.  Please note: If these settings are changed, Open-Xchange will take no responsibility and will exclude support regarding any session issues and potential security breaches arising thereof. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.impl.SessionHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sun.rmi.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.apache.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;possible log levels are ALL INFO DEBUG &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.sun.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javax.management.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INFO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.hazelcast.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SEVERE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.impl.IManager.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;WARNING&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;handlers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.ConsoleHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;java.util.logging.ConsoleHandler.level&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ALL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| logging.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.http-auth.client&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ox.gui.dhtml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Every client tells the backend through the client parameter on the login request his identity. This is not possible when using the HTTP authorization header based login. So the client identifier for that request is defined here. It must be the same identifier that the web frontend uses, if you set com.openexchange.cookie.hash to calculate and want the previously configured autologin to work. Identifier for web UI is: com.openexchange.ox.gui.dhtml &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.http-auth.version&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;HTTP Auth&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The version of the client when using the HTTP Authorization Header based login. This should not be the normal web frontend version because a different version can be used to distinguish logins through HTTP authorization header and normal login request. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.insecure&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether an insecure login is allowed. Meaning if local IP and/or user-agent strings are replaced in associated user session on login redirect or login redeem requests. To create a session from a server for some client you have to pass the clients IP address when creating the session. WARNING! Setting this parameter to true may result in users seeing a different users content if the infrastructure around OX does not work correctly. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.redirect.changeIPAllowed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This option has only an effect if com.openexchange.ajax.login.insecure is configured to true. This option allows to enable the IP check for /ajax/login?action=redirect requests. This request is mostly used to create a session without using the OX web UI login screen. The previous behavior allowed to change the IP for this request. Configure this option to false to have an IP check during this request. Additionally you can white list IP addresses from that an IP change is still allowed. This is useful if other systems in the infrastructure around OX want to create the session. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.randomToken&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The Random-Token is a one time token with a limited lifetime, which is used to initiate sessions through 3rd party applications or websites. It is a UUID, generated by the backend via default Java UUID implementation. This token is deprecated and disabled by default. Setting this to false will prevent a random token from being written as part of the login response and prevent logins via a random token. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.formatstring.login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the format for a logged login. Default format string &amp;amp;quot;$login $ip $auth $agent $client $c $u $s&amp;amp;quot;  $s - session information $c - context information $u - user information $login - login string $ip - IP $auth - auth ID $agent - User-Agent $client - client identifier (and version) $iface - associated interface  e.g. &amp;amp;quot;$u - $c - $s - $agent - $client&amp;amp;quot;  Default is empty; meaning default format string. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.formatstring.logout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the format for a logged logout. Default format string &amp;amp;quot;Logout $c $u $s&amp;amp;quot;  $s - session information $c - context information $u - user information  e.g. &amp;amp;quot;$u - $c - $s&amp;amp;quot;  Default is empty; meaning default format string. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:73&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.login.http-auth.autologin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures if some user is able to reenter his existing session after closing the browser tab or the complete browser. Setting this to true may be a security risk for clients running on unsafe computers. If this is configured to true, check that the parameter client contains the same identifier the UI sends as client parameter on normal login request. Otherwise the backend will not be able to rediscover the users session after closing the browser tab. This parameter only applies to the HTTP authorization header based login request. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| login.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;strategy &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; SimpleStrategy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;two options here either SimpleStrategy or NetworkTopologyStrategy &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;node &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 192.168.33.37:9160&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;node ip with port eg. node = 127.0.0.1:9160 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;keyspace name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replication_factor &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replication factor of the keyspace &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| loxandra.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.allowedClients&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;USM-EAS*&amp;amp;quot;, &amp;amp;quot;USM-JSON*&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the comma-separated list of clients which are allowed to receive notifications about new mails. Wild-card notation is allowed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail-push.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define exceeding time in milliseconds for mail connections. If use time of an mail connection exceeds this value it is logged. Thus unclosed connections can be detected. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:104&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherShallClose&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if watcher is allowed to close exceeded mail connections &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:107&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.JavaMailProperties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;javamail.properties&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JavaMail Properties &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:110&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.phishingHeader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A comma-separated list of headers which identifies phishing headers; e.g. X-Phishing1,X-Phishing2,etc. Leave empty for no phishing header. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.adminMailLoginEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define whether a context admin is allowed to login to mail system or not. Note that a mail account is supposed to exist if set to true; if not an authentication error will occur. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:120&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.addClientIPAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set whether client&amp;amp;#39;s IP address should be added to mail headers on delivery as custom header &amp;amp;quot;X-Originating-IP&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:124&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.rateLimitPrimaryOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if the rateLimit and maxToCcBcc settings below will only affect the primary account or all accounts &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:128&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.rateLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the time (in milliseconds) which must pass by before a new mail can be sent A value of 0 disables the limit. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:132&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.maxToCcBcc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the allowed maximum number of recipients in a mail A value of 0 disables the limit. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:136&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.passwordSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;session&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the password source for primary mail/transport account; meaning which source is taken to determine a user&amp;amp;#39;s password to login into mailing system. If &amp;amp;#39;session&amp;amp;#39; is set, then user&amp;amp;#39;s individual system&amp;amp;#39;s password is taken. If &amp;amp;#39;global&amp;amp;#39; is set, then the value specified through property &amp;amp;#39;com.openexchange.mail.masterPassword&amp;amp;#39; is taken. Currently known values: session and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.hidePOP3StorageFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether folders which carry a POP3 account shall not be displayed. This property affects primary account only. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:140&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.deleteDraftOnTransport&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to delete draft messages when sent out Note: Client MUST provide appropriate value in &amp;amp;quot;sendtype&amp;amp;quot; field; see http://oxpedia.org/wiki/index.php?title=HTTP_API#Send_a_mail &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:145&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.supportMsisdnAddresses&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if MSISDN addresses are supported or not. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:148&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.translateDefaultFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If set to &amp;amp;#39;false&amp;amp;#39;, translation of names of the mail default folders is not performed, if naming differs from pre-defined default values. Thus custom set names can be specified for Trash, Drafts, Sent &amp;amp;amp; Spam folder. By default this value is &amp;amp;#39;true&amp;amp;#39;.  Pre-defined names are: &amp;amp;quot;Trash&amp;amp;quot; &amp;amp;quot;Drafts&amp;amp;quot; &amp;amp;quot;Sent objects&amp;amp;quot; &amp;amp;quot;Spam&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:160&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.maxMailSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the max. mail size allowed being transported A value of zero or less means infinite. Default is -1 (infinite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:173&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.hideDetailsForDefaultAccount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to hide rather technical data from JSON representation of the primary mail account e.g. port, server name, secure flag, etc. Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:178&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.maxForwardCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the max. number of message attachments that are allowed to be forwarded as attachment Default is 8 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:182&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.account.blacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies a black-list for those hosts that are covered by denoted IP range; e.g. &amp;amp;quot;127.0.0.1-127.255.255.255&amp;amp;quot; An empty value means no black-listing is active Default is empty &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:187&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.imageHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the host/domain from which to load inlined images contained in message content Example &amp;amp;quot;com.openexchange.mail.imageHost=http://my.imagehost.org&amp;amp;quot;. In case no protocol/schema is specified, &amp;amp;quot;http&amp;amp;quot; is assumed by default Default is empty; meaning to load from originating host &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:193&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailServerSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the mail server source for primary mail account; meaning which source is taken to determine the mail server into which the user wants to login to access mails. Set to &amp;amp;#39;global&amp;amp;#39; to take the value specified through property &amp;amp;quot;com.openexchange.mail.mailServer&amp;amp;quot;. Set to &amp;amp;#39;user&amp;amp;#39; to take user&amp;amp;#39;s individual mail server settings as specified in storage. Currently known values: user and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transportServerSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the transport server source for primary transport account; meaning which source is taken to determine the transport server into which the user wants to login to transport mails. Set to &amp;amp;#39;global&amp;amp;#39; to take the value specified through property &amp;amp;quot;com.openexchange.mail.transportServer&amp;amp;quot;. Set to &amp;amp;#39;user&amp;amp;#39; to take user&amp;amp;#39;s individual transport server settings as specified in storage. Currently known values: user and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.masterPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The master password for primary mail/transport server. Only takes effect when property &amp;amp;quot;com.openexchange.mail.passwordSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailServer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Primary mail server: e.g. 192.168.178.32:8143 or imap://192.168.178.32:7143 Only takes effect when property &amp;amp;quot;com.openexchange.mail.mailServerSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transportServer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Primary transport server: e.g. 192.168.178.32:125 or smtp://192.168.178.32:225 Only takes effect when property &amp;amp;quot;com.openexchange.mail.transportServerSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.defaultMailProvider&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The mail provider fallback if an URL does not contain/define a protocol &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mail.mime.charset&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the default MIME charset used for character encoding. This setting will then be accessible through system property &amp;amp;quot;mail.mime.charset&amp;amp;quot;. This parameter takes effect for the complete mail module where no charset is given. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailFetchLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the max. fetch limit; meaning all mails whose count is less than or equal to this value are going to be fetched with all attributes set. Thus these mails can be put into message cache for subsequent list requests. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.attachmentDisplaySizeLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8192&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;maximum size of email text attachments that will be displayed inline ( in bytes) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailAccessCacheShrinkerSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the interval seconds of the mail access cache&amp;amp;#39;s shrinker thread &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.mailAccessCacheIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the idle seconds a mail access may reside in mail access cache before it is removed by shrinker thread &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:63&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.quoteLineColors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;#a14044,#917722,#599351,#516193,#666666&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Comma-separated hex values of colors for displaying quoted text emails &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:66&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.userFlagsEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable user defined flags &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.loginSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the login source for primary mail/transport account; meaning which source is taken to determine a user&amp;amp;#39;s login for mailing system. If &amp;amp;#39;login&amp;amp;#39; is set, then user&amp;amp;#39;s individual mail login as defined in user storage is taken. If &amp;amp;#39;mail&amp;amp;#39; is set, then user&amp;amp;#39;s individual primary email address is taken. If &amp;amp;#39;name&amp;amp;#39; is set, then user&amp;amp;#39;s individual system&amp;amp;#39;s user name is taken. Currently known values: login, mail, and name &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.partModifierImpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.partmodifier.DummyPartModifier&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the implementing class of PartModifier. This class is then be used to manipulate the email before displaying. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:73&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.allowNestedDefaultFolderOnAltNamespace&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property defines if the default folders of an user (Draft, Sent, Spam &amp;amp;amp; Trash) are going to be placed right below folder &amp;amp;quot;INBOX&amp;amp;quot; even if feature &amp;amp;quot;altNamespace&amp;amp;quot; is enabled. NOTE: This property requires that subfolders are still permitted below initial folder &amp;amp;quot;INBOX&amp;amp;quot; even though &amp;amp;quot;altNamespace&amp;amp;quot; is enabled. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:80&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.ignoreSubscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines if folder subscription is ignored when listing mail folders If set to &amp;amp;#39;true&amp;amp;#39;, all folders - regardless of their subscription status - are going to be listed &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:85&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.supportSubscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if underlying store should support subscription &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:88&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.defaultSeparator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the separator within folder fullnames if not available from mail server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:91&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The watcher checks after watcherFrequency for mail connections used for more than watcherTime milliseconds and logs this mail connection. If watcherShallClose is set to true those connections will be closed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:96&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.watcherFrequency&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define watcher&amp;amp;#39;s frequency in milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties:99&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.enforceSecureConnection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;controls whether external mail accounts may only be subscribed if the associated provider supports accessing it by using a secure connection (either SSL or TLS). If neither SSL nor TLS is supported, account subscription is rejected.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mail.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_CREDSRC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;session&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify which sieve credentials should be use. Two options are allowed here: &amp;amp;quot;session&amp;amp;quot; : login name and password are used from the current session &amp;amp;quot;session-full-login&amp;amp;quot; : full login (incl. context part) name and password are used from the current session &amp;amp;quot;imapLogin&amp;amp;quot; : the login name is taken from the field imapLogin of the current user the password is taken from the current session &amp;amp;quot;mail&amp;amp;quot; : use the primary mail address of the user and the password from the session &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_SERVER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;to override the  sieve server defaults specify a value for the sieve server here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_PORT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the SIEVE port ----------------------------------------------------------- NOTE: 2000 is the deprecated port number for SIEVE (now assigned to some Cisco SCCP protocol by the IANA) 4190 is the new one used with most recent Linux and IMAP implementations. Please check your system&amp;amp;#39;s default port defined at /etc/services. ----------------------------------------------------------- &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SCRIPT_NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Open-Xchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If you want the script to be generated with another script name change it here. Note that the mail filter bundle will then leave the old script with the old script name behind, and doesn&amp;amp;#39;t delete it &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_AUTH_ENC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the charset encoding to use for authentication to sieve server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;NON_RFC_COMPLIANT_TLS_REGEX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;^Cyrus.*v([0-1]\\.[0-9].*|2\\.[0-2].*|2\\.3\\.[0-9]|2\\.3\\.[0-9][^0-9].*)$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the regex which recognizes servers with incorrect sieve TLS implementation &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;TLS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to use TLS if available &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SIEVE_LOGIN_TYPE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify which sieve server should be used. Two options are allowed here: user : use the imap server setting stored for user in the database global : use the sieve server given in this config file for all users &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;VACATION_DOMAINS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify here if vacation messages should only be sent to specific domains If multiple domains are given, they should be separated by &amp;amp;quot;,&amp;amp;quot; e.g. VACATION_DOMAINS=testdomain.com,example.com &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.connectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;30000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies when the connection should time out (value in milliseconds) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.passwordSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;session&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the password source; meaning which source is taken to determine a user&amp;amp;#39;s password to login into mail filter system. If &amp;amp;#39;session&amp;amp;#39; is set, then user&amp;amp;#39;s individual system&amp;amp;#39;s password is taken. If &amp;amp;#39;global&amp;amp;#39; is set, then the value specified through property &amp;amp;#39;com.openexchange.mail.filter.masterPassword&amp;amp;#39; is taken. Currently known values: session and global &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.masterPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The master password for mail/transport server. Only takes effect when property &amp;amp;quot;com.openexchange.mail.filter.passwordSource&amp;amp;quot; is set to &amp;amp;quot;global&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:57&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.useUTF7FolderEncoding&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property defines if mailbox names shall be UTF-7 encoded as specified in RFC2060; section 5.1.3. &amp;amp;quot;Mailbox International Naming Convention&amp;amp;quot;. Default is &amp;amp;quot;false&amp;amp;quot;; meaning no UTF-7 encoding is performed.  Set to &amp;amp;quot;true&amp;amp;quot; for those Cyrus IMAP server versions that do NOT support &amp;amp;quot;sieve_utf8fileinto&amp;amp;quot; property (e.g. lower than v2.3.11) Set to &amp;amp;quot;true&amp;amp;quot; for those Cyrus IMAP server versions that support &amp;amp;quot;sieve_utf8fileinto&amp;amp;quot; property having that property set to &amp;amp;quot;0&amp;amp;quot;. Thus moving mails with the &amp;amp;#39;fileinto&amp;amp;#39; command will properly work for mailbox names that contain non-ascii characters &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:65&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.punycode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable punycode encoding for the username used in authentication against the managesieve server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:68&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.useSIEVEResponseCodes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;interpret SIEVE Response Codes, see https://tools.ietf.org/html/rfc5804#section-1.3 in most cases, this option must be kept to false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:72&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.redirectWhitelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify a comma-separated list of domains (wild-card syntax supported) that are allowed for redirect rules &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.filter.preferGSSAPI&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether to prefer GSSAPI authentication mechanism if supported by SIEVE backend Default is false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mailfilter.properties:79&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.concurrentglobal&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the tasks executed by global timer are executed concurrently or by calling timer&amp;amp;#39;s thread. Note: This property only has effect if &amp;amp;quot;com.openexchange.push.malpoll.global&amp;amp;quot; is set to &amp;amp;quot;true&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.folder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INBOX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the folder to look-up for new mails in each mailbox Default is INBOX folder &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.period&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds when to periodically check for new mails. Default is 300000 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.malpoll.global&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether a global timer is set or a timer per user Or in other words: Do you want a global heartbeat or a heartbeat per per user? Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| malpoll.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXBindAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the bind address for JMX agent Use value &amp;amp;quot;*&amp;amp;quot; to let the JMX monitor bind to all interfaces &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXLogin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the JMX login for authentication Leaving this property empty means not to use authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXPassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the JMX password in SHA hashed version This property only has effect if previous property &amp;amp;quot;JMXLogin&amp;amp;quot; is set.  The following perl command can be used to generate such a password:  perl -M&amp;amp;#39;Digest::SHA1 qw(sha1_base64)&amp;amp;#39; -e &amp;amp;#39;print sha1_base64(&amp;amp;quot;YOURSECRET&amp;amp;quot;).&amp;amp;quot;=\n&amp;amp;quot;;&amp;amp;#39;  that requires to install the Digest::SHA1 perl module, of course. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;9999&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the port for the RMI Registry. The default is 9999. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;JMXServerPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the JMX RMI Connector Server port. Typically chosen randomly by JVM. The default is -1; meaning that port is randomly determined by JVM &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| management.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Determines whether messaging is enabled for this server &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| messaging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.contacts.http&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.infostore.http&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.contacts.http.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.infostore.http.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.microformats.allowedHosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Optionally specifies the list of accepted host names allowed being subscribed If property is empty, there is no restriction for such subscriptions Otherwise non-matching host names are rejected. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| microformatSubscription.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;iPhoneTemplate.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; mobile_configuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobile.configuration.generator.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;winMobileTemplate.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; mobile_configuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobile.configuration.generator.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openxchange.mobilenotifier.enabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sets whether Mobilenotifier module is enabled at all &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobilenotifier.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mobilenotifier.mail.maxContentSize &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the maximum content size of the  mail content that should be displayed &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| mobilenotifiermail.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.msliveconnect&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable MS Live OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| msliveconnectoauth.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.msliveconnect.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_MS_LIVE_CONNECT_KEY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| msliveconnectoauth.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.msliveconnect.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_MS_LIVE_CONNECT_SECRET&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| msliveconnectoauth.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;notify_participants_on_delete &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;object_link&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://[hostname]/[uiwebpath]#m=[module]&amp;amp;amp;i=[object]&amp;amp;amp;f=[folder]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;imipForInternalUsers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enables/Disables imip-mails for internal users. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.notification.fromSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;defaultSenderAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This property defines which email address of a user is used as from header when this user triggers notification mails. Possible values are: primaryMail or defaultSenderAddress &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| notification.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.maxVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1.0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum valid oauth_version Default value is 1.0. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.v2.maxTimestampAgeMsec&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The range of valid time stamps, in milliseconds into the past or future. So the total range of valid time stamps is twice this value, rounded to the nearest second. Default value is 5 minutes (300000). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.v2.maxVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2.0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum valid OAuth v2 version Default value is 2.0. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;f58c636e089745d4a79679d726aca8b5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The secret identifier &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.provider.validator.maxTimestampAgeMsec&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The range of valid time stamps, in milliseconds into the past or future. So the total range of valid time stamps is twice this value, rounded to the nearest second. Default value is 5 minutes (300000). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth-provider.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.callback&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Sets whether call-back policy is enabled when performing OAuth authentication If false; oob (out-of-band) is used which requires user interaction to provide the verifier (pin) Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oauth.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RMI_HOSTNAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rmi://localhost:1099/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; admin daemon rmi URL  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;LOCK_WAIT_TIME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; How long (in seconds) the system should wait for a lock before throwing exceptions  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_RMI_CONNECT_ATTEMPTS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; maximum attempts to reconnect to the admin daemon  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CONNECT_ATTEMPTS_DELAY_TIME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; time in seconds to wait between connect attempts  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-admin-soap.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.help/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| open-xchange-gui-help-plugin.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;additionalPackages&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;org.eclipse.equinox.event_1.3.0.v20130327-1442.jar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| osgiTest.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;additionalPackages&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| osgiTest.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/mailCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/defaultContactFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; &amp;amp;quot;private&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;can be one of &amp;amp;quot;none&amp;amp;quot;, &amp;amp;quot;private&amp;amp;quot; or &amp;amp;quot;global&amp;amp;quot;. &amp;amp;quot;none&amp;amp;quot; : no folder is selected by default, the user will be asked on first start &amp;amp;quot;private&amp;amp;quot; :  default private addressbook is selected for the user &amp;amp;quot;global&amp;amp;quot; : global addressbook is selected by default for the user &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/appointmentDays&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/config/maxAppointmentBreak&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 50&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/subscribedFolders/contacts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; []&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/subscribedFolders/mail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; []&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/subscribedFolders/calendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; []&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mox/defaultContactStoreFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; -1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| oxmobile.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.custom.parallels/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property enables the Parallels GUI-Plugins &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels-ui.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/parallels/sender_address_hiding_activated&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;disable/enable default sender address hiding for POA setups &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels-ui.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/parallels/use_parallels_antispam_features&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;should the parallels antispam features be used &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels-ui.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.branding.suffix&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following defines the options for the branding stuff set via &amp;amp;quot;loginmapping&amp;amp;quot; attributes within a context in OX.  Example: If want to brand a context, set a login mapping with a string like this:  BRANDING||&amp;amp;lt;YOUR_POA_BRANDED_HOST&amp;amp;gt;  com.openexchange.custom.parallels.branding.suffix=BRANDING|| Leave empty if not, or the log will fill up with warnings &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.branding.fallbackhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Fallback host which should be used if now branding-host was specified for a context Info: If you need trailing slash, add it here. For compatibility reasons it will not be appended by the server to support also jumping to server scripts  IMPORTANT INFO: the notification.properties attribute: &amp;amp;quot;object_link&amp;amp;quot; MUST be set to include the [hostname] placeholder like: https://[hostname]#m=[module]&amp;amp;amp;i=[object]&amp;amp;amp;f=[folder] If this is not set, the systems hostname is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.antispam.xmlrpc.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This port will be used to communicate with the &amp;amp;quot;POA XML-RPC Service&amp;amp;quot; to retrieve correct spamd hostname and user so that OX can train spamd via socket communication  THIS property below must only contain URL to OX GUI like webmail.system.com/ox6 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.interface_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://&amp;amp;lt;coreserver&amp;amp;gt;:&amp;amp;lt;port&amp;amp;gt;/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; # OpenAPI properties for managing Black&amp;amp;amp;White Lists via OX GUI  This property defines the URL to the HTTP OpenAPI interface of POA &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.auth_enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines if OpenAPI calls should be made with http basic auth &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.sso_info_servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/parallels/info&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Properties for the Parallels Plugin  The property defines the mount point of the parallels info servlet used to retrieve correct hostname for direktlinks and sessiontimeouts/logout page &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.auth_id&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;openapi_user_id&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines OpenAPI http basic auth credentials auth id &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:52&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi.auth_password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;openapi_password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines OpenAPI http basic auth credentials auth password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.parallels.openapi_servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/parallels/openapi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The property defines the mount point of the OX OpenAPI servlet implementation. Typically, no need to change it. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| parallels.properties:61&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.participant.autoSearch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;When searching for participants and the participants selection dialog is opened this option defines if initially all users, groups and resources are displayed or not. If this option is true every opening of the dialog triggers a search request on the server. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| participant.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.participant.MaximumNumberParticipants&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the maximum number of participants that can be selected for an appointment or a task. This should prevent slow free busy queries and slow server and GUI responses if in large contexts large number of participants are selected. 0 means no limit. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| participant.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.participant.ShowWithoutEmail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;When searching for external participants in contact folders this option defines if contacts without email address are shown. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| participant.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.regexp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;[^a-z0-9]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Configures a regular expression pattern to use when calculating the strength if indicating &amp;amp;quot;com.openexchange.passwordchange.showStrength&amp;amp;quot; is &amp;amp;quot;true&amp;amp;quot;, i.e. any character not matching the pattern increases the displayed password strength. Defaults to &amp;amp;quot;[^a-z0-9]&amp;amp;quot;.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.special&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;$, _, %&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines a string that is shown as an example of special characters that increase a passwords' strength. This should be a subset of characters matched by the pattern defined at &amp;amp;quot;com.openexchange.passwordchange.regexp&amp;amp;quot;. &lt;br /&gt;
Defaults to &amp;amp;quot;$, _, or %&amp;amp;quot;.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.showStrength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures whether to show a graphical indicator reflecting the strength of the current password or not. The strength is evaluated based on matching performed against the pattern defined via &amp;amp;quot;com.openexchange.passwordchange.regexp&amp;amp;quot; during typing. Possible values are &amp;amp;quot;true&amp;amp;quot; to show the strength, or &amp;amp;quot;false&amp;amp;quot;, otherwise. Defaults to &amp;amp;quot;false&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.minLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the minimum required length of a password entered by the user. &lt;br /&gt;
Passwords shorter than the configured length are not accepted. Defaults to  &amp;amp;quot;4&amp;amp;quot;.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.maxLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the minimum required length of a password entered by the user. &lt;br /&gt;
Passwords shorter than the configured length are not accepted. A value of &amp;amp;quot;0&amp;amp;quot; &lt;br /&gt;
disables the check and allows an unlimited length. Defaults to &amp;amp;quot;0&amp;amp;quot;.The maximum length of an entered password. 0 for unlimited. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.allowedPattern&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Optionally configures a pattern to match the entered password against, i.e. &lt;br /&gt;
only passwords matching this pattern will be accepted. Please note that the &lt;br /&gt;
pattern is used to perform a 'positive' test against the entire entered &lt;br /&gt;
password, and only matching strings are accepted, so use appropriate &lt;br /&gt;
quantifiers as needed. For example, if the backslash character '\' should &lt;br /&gt;
not be permitted in passwords, a pattern could look like &amp;amp;quot;[^\\]*&amp;amp;quot;, or, if &lt;br /&gt;
only ASCII characters should be allowed, the pattern &amp;amp;quot;[\x00-\x7F]*&amp;amp;quot; could &lt;br /&gt;
be used (each without the quotation marks). By default, no pattern is &lt;br /&gt;
configured, i.e. all character sequences are allowed.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.passwordchange.allowedPatternHint&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures a string that is shown to users in an error message after trying &lt;br /&gt;
 to save a password not fulfilling the pattern defined in &lt;br /&gt;
 &amp;amp;quot;com.openexchange.passwordchange.allowedPattern&amp;amp;quot;. This text should explain &lt;br /&gt;
 which characters are allowed according to the pattern, and is inserted for &lt;br /&gt;
 &amp;amp;quot;[...]&amp;amp;quot; in the following error message: &amp;amp;quot;The entered password is illegal &lt;br /&gt;
 and can't be saved. Allowed characters are: [...]&amp;amp;quot;. Required if &lt;br /&gt;
 &amp;amp;quot;com.openexchange.passwordchange.allowedPattern&amp;amp;quot; is defined.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| passwordchange.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.capability.alone&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The property &amp;amp;quot;alone&amp;amp;quot; signals that the user is the only user in associated context/tenant. It disables certain collaborative features and that would therefore be useless in such a context/tenant. Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| permissions.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.capability.filestore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Signal if file store is available or not Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| permissions.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3TemporaryDown&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds a POP3 server is treated as being temporary down. A POP3 server is treated as being temporary down if a socket connect fails. Further requests to the affected POP3 server are going to be denied for the specified amount of time. A value less or equal to zero disables this setting. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3AuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for POP3 authentication &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.spamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DefaultSpamHandler&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the registration name of the appropriate spam handler to use &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3ConnectionIdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the amount of time in milliseconds an established POP3 connection is kept open although being idle. Since some POP3 servers limit the time period in which connections may be opened/closed, this property allows to keep the connection open to avoid an error on a subsequent login. This property overwrites default connection idle time specified through property &amp;amp;quot;com.openexchange.mail.mailAccessCacheIdleSeconds&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3Timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket I/O timeout value in milliseconds. A value less than or equal to zero is infinite timeout. See also mail.pop3.timeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3BlockSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the number of messages (positive integer!) which are allowed to be processed at once. Default is 100. Zero or negative value is defaulted to 100. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.allowPing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether ping operation is allowed for POP3 account Many POP3 account limit number of allowed login attempts in a certain time interval Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.logDeniedPing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether denied ping operation shall be indicated as a warning to client Only effective if &amp;amp;quot;com.openexchange.pop3.allowPing&amp;amp;quot; is set to false. Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.ssl.protocols&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SSLv3 TLSv1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace separated list of tokens. Default value is: SSLv3 TLSv1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.ssl.ciphersuites&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL cipher suites that will be enabled for SSL connections. The property value is a whitespace separated list of tokens.  Check &amp;amp;quot;http://&amp;amp;lt;ox-grizzly-hostname&amp;amp;gt;:&amp;amp;lt;ox-grizzly-port&amp;amp;gt;/stats/diagnostic?param=ciphersuites&amp;amp;quot; to check available cipher suites.  Default value is empty (fall-back to current JVM&amp;amp;#39;s default SSL cipher suite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:53&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.pop3.pop3ConnectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket connection timeout value in milliseconds. A value less or equal to zero is infinite timeout. See also mail.pop3.connectiontimeout &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| pop3.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.quota&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10485760&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the total quota for preview cache for each context This value is used if no individual context quota is defined. A value of zero or less means no quota Default is 10485760 (10MB) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.quotaPerDocument&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;524288&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the quota per document for preview cache for each context This value is used if no individual quota per document is defined. A value of zero or less means no quota Default is 524288 (512KB) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.type&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;FS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies what type of storage is used for caching previews Either file store (&amp;amp;quot;FS&amp;amp;quot;) or database (&amp;amp;quot;DB&amp;amp;quot;). Default is &amp;amp;quot;FS&amp;amp;quot; (file store) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.quotaAware&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies if storing previews in file store affects user&amp;amp;#39;s file store quota or not Only applies if &amp;amp;quot;com.openexchange.preview.cache.type&amp;amp;quot; is set to &amp;amp;quot;FS&amp;amp;quot; Default is false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.cache.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The switch to enable/disable the preview cache Default is true (enabled) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| preview.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.http.probe.alias&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/healthProbe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The alias name in the URI namespace at which the probe is registered Default value: /healthProbe &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| probe.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.publish.microformats.usesWhitelisting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if set to true, the contents of a microformatted publication will be processed through a whitelisting filter that removes elements that are considered potentially unsafe. We recommend you use this in case you do not have publications on a different subdomain. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publications.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_hcard_censored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish, default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_hcard_uncensored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_oxmf_censored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts_oxmf_uncensored.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;contacts.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; contacts, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;infostore.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; infostore, publish, default&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;infostore_gallery.tmpl &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; infostore, publish&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| publish.microformats.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.ms.maxDelayDuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum time in milliseconds a push object may be delayed before finally pushing it to the clients Default value: 600000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-ms.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.ms.delayDuration&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Time in milliseconds after which a queued object object is pushed to clients unless it got delayed again due to modifications of the push object within the delayDuration or modifications within the folder of the push object. Default value: 120000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-ms.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.remoteHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;list of open-xchange servers that should be connected when multicast is disabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.registerTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;time in milliseconds a client registration is kept &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.registerPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;44335&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Port where the clients send the push registration request to. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.registerDistributionEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;only one of registerDistribution or eventDistribution can be enabled at the same time. if set to true, registrations are distributed to all ox servers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.eventDistributionEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if set to true, events will be distributed to all Open-Xchange servers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.outputQueueDelay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;time in milliseconds after which queued &amp;amp;quot;push&amp;amp;quot; packages are sent to clients &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.hostname&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;if empty, then the output of the java function getHostName will be used. This name is used for internal communication. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.senderAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;address used as the sender address when UDP packages are sent to the clients (should be the IP address of the load balancer in front of the Open-Xchange server farm &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:35&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.multicastEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true/false Send register information per multicast &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.multicastAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;224.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;IP multicast address &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:41&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.multicastPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;9982&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Multicast port &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.udp.pushEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;defines if server push port gets opened or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push-udp.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.pushmode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;always&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;when to fire push events? possible values: newmail,always default: always Explanation: newmail means to only send a push event in case of at least one new mail has arrived. NOTE: Using dovecot this does only work when only ONE concurrent session of the same user is active. always  send a push event for every changes to the users mailbox. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.folder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;INBOX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the folder to look-up for new mails in each mailbox Default is INBOX folder &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.delay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Waiting time in milliseconds before a reconnect is performed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.imapidle.clusterLock&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;hz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies what system to use to manage a cluster-lock &lt;br /&gt;
 Possible values: &lt;br /&gt;
 - &amp;quot;db&amp;quot; for database-based locking &lt;br /&gt;
 - &amp;quot;hz&amp;quot; for Hazelcast-based locking (default) &lt;br /&gt;
 - &amp;quot;none&amp;quot; for no cluster lock mechanism&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_imapidle.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.udp_listen_multicast&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define if the listener should receive multicast messages &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.use_ox_login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to use the ox login name to check for a valid push event. The default is to only check the users aliases. If mailboxname@example.com is not contained in the list of aliases, set this to true. Warning: This won&amp;amp;#39;t work in multidomain setups where the same login might exist in different contexts! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:23&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.use_full_email_address&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether to use the full email address from aliases or just use the localpart. When using a multidomain setup where the imap login is an email address, this should be set to true. If not, login might not be unique because foo@example.com and foo@example.net might be different users. Note: Do NOT set com.openexchange.push.mail.notify.imap_login_delimiter in this case! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:32&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.udp_listen_host&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the hostname or interface/multicast group where the udp server should listen &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.udp_listen_port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;23420&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the port where the udp server should listen &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.push.mail.notify.delay_millis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;5000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;specifies the delay time frame in which incoming UDP events are collected and send out as one push event to the OX cluster. Default is 5000 milliseconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| push_mailnotify.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quartz.startLocalScheduler &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Wether the local quartz scheduler instance should be started. If false, this node is unable to perform local jobs. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quartz.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quartz.localThreads &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of worker threads for the local scheduler instance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quartz.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.contact&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of contacts that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any contact in affected context. &lt;br /&gt;
Default is -1 (unlimited) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.infostore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of documents that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), &lt;br /&gt;
but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any document in affected context. &lt;br /&gt;
Default is -1 (unlimited)  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.attachment&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of attachments bound to PIM objects that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), &lt;br /&gt;
but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any attachment in affected context. &lt;br /&gt;
Default is -1 (unlimited) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.calendar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of appointments that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
 Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad),  but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate exception being thrown, denying to further create any appointment in affected context.  Default is -1 (unlimited)  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.quota.task&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the quota for the number of tasks that are allowed being created within a single context (tenant-wise scope). &lt;br /&gt;
 The purpose of this quota is to define a rough upper limit that is unlikely being reached during normal operation. &lt;br /&gt;
 Therefore it is rather supposed to prevent from excessive item creation (e.g. a synchronizing client running mad), but not intended to have a fine-grained quota setting. Thus exceeding that quota limitation will cause an appropriate  exception being thrown, denying to further create any task in affected context. &lt;br /&gt;
 Default is -1 (unlimited)  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| quota.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.realtime.isTraceAllUsersEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable tracing for all users. Default value: false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| realtime.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.realtime.usersToTrace&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable tracing only for a set of users by using the userID@contextID notation e.g.: 1@1, 2@1, 3@1 Default value: empty set &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| realtime.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.documentconverter.errorDir&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;n/a&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A temporary directory, containing files that could not be converted due to an error condition or due to a timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| realtime.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;errorMessage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Error!!!&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The displayd error Message. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| recaptcha.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;publicKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API Key to use the recaptcha Service This is hosted by Google, so you need an Google Account to receive API Keys Go to: http://www.google.com/recaptcha to generate keys. Use the global-key option to avoid domain restrictions. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| recaptcha.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;privateKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| recaptcha.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.useproxy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This defines if a proxy server should be used to establish the http connection to the Open-Xchange report server, and if which server and proxy details to use. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.address&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;proxy.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8080&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.authrequired&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.username&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.report.client.proxy.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PASSWORD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reportclient.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.isEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable the requestwatcher. Default value: true (enabled). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.frequency&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 30000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the requestwatcher&amp;amp;#39;s frequency in milliseconds. Default value: 30000. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.maxRequestAge&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the maximum allowed age of requests in milliseconds. Default value: 60000. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.requestwatcher.restartPermission&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Permission to stop &amp;amp;amp; re-init system (works only for the ajp connector) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| requestwatcher.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RESELLER_STORAGE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.admin.reseller.storage.mysqlStorage.OXResellerMySQLStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| reseller.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rmi.host &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set this to 0 to bind on all interfaces &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rmi.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rmi.port &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; 1099&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rmi.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.rss&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the RSS Messaging Service is available or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rssmessaging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtClientMapping-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtClientMapping.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtIDMapping-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtIDMapping.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtResourceDirectory-2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;86400&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtResourceDirectory.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rtStanzaStorage-0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| rtStanzaStorage.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.secret.secretSource&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;&amp;amp;lt;password&amp;amp;gt;&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the source for secret (used to decrypt/encrypt user passwords) &amp;amp;lt;password&amp;amp;gt;:   Denotes the session&amp;amp;#39;s password (also the fall-back to previous handling) &amp;amp;lt;user-id&amp;amp;gt;:    Denotes the user identifier &amp;amp;lt;context-id&amp;amp;gt;: Denotes the context identifier &amp;amp;lt;random&amp;amp;gt;:     Denotes the value specified in property &amp;amp;#39;com.openexchange.secret.secretRandom&amp;amp;#39; &amp;amp;lt;list&amp;amp;gt;:       Step-wise trial-and-error with tokens specified in file &amp;amp;#39;secrets&amp;amp;#39; Literals are surrounded by single-quotes E.g. com.openexchange.secret.secretSource=&amp;amp;quot;&amp;amp;lt;user-id&amp;amp;gt; + &amp;amp;#39;@&amp;amp;#39; + &amp;amp;lt;context-id&amp;amp;gt;&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| secret.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.secret.secretRandom&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;eb495148-a9f8-441e-8a28-dcb9eecd60f9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The random secret token &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| secret.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.hash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;calculate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the hash value for the cookie name should be calculated or remembered from the session for each request. Possible values are: calculate (default) - Calculate hash from client login parameter and HTTP header User-Agent (may be modified through c.o.cookie.hash.fields) remember - remember once calculated hash in session and use it for the whole session life time (less secure) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:101&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.hash.salt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;replaceMe1234567890&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cookie hash salt to avoid a potential brute force attack to cookie hashes. This value should be replaced by any random String with at least 16 Characters. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:105&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.forceHTTPS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If an HTTPS connection is detected the cookie is automatically marked as secure. This tells the browser only to send the cookie over encrypted connections. If HTTPS is terminated in front by some load balancer only HTTP is detected. Then this parameter can force to set the secure flag for cookies. Additionally all links generated inside the groupware to point at itself will use the https:// protocol prefix when this is set. Use this flag to indicate that HTTPS termination happens elsewhere. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:111&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxActiveSessions&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;250000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum number of active sessions that will be created by this Manager, or -1 for no limit. Default is 250.000 HTTP sessions &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:115&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UPLOAD_DIRECTORY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/var/spool/open-xchange/uploads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Upload Parameter. All uploads that are done by a client are temporarily saved in that directory. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:12&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxInactiveInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1800&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The initial maximum time interval, in seconds, between client requests before a HTTP session is invalidated. This only applies to the HTTP session controlled by special JSESSIONID cookie, and does therefore not influence life-time of Groupware session. A negative value will result in sessions never timing out. If the attribute is not provided, a default of 1800 seconds is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:121&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxBodySize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;104857600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the maximum body size allowed being transferred via PUT or POST method A request exceeding that limit will be responded with a 500 error and that request is discarded Equal or less than zero means no restriction concerning body size By default limit is set to 100MB (104857600 bytes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.echoHeaderName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;X-Echo-Header&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the echo header whose value is echoed for each request providing that header &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:130&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.contentSecurityPolicy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The value of Content-Security-Policy header Please refer to An Introduction to Content Security Policy (http://www.html5rocks.com/en/tutorials/security/content-security-policy/) Default value is empty; meaning no Content-Security-Policy header &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:135&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateTimeWindow&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the rate limit&amp;amp;#39; time window in which to track incoming HTTP requests Default value is 300000 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:139&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the rate limit that applies to incoming HTTP requests A client that exceeds that limit will receive a &amp;amp;quot;429 Too Many Requests&amp;amp;quot; HTTP error code That rate limit acts like a sliding window time frame; meaning that it considers only requests that fit into time windows specified through &amp;amp;quot;com.openexchange.servlet.maxRateTimeWindow&amp;amp;quot; from current time stamp: window-end := $now window-start := $window-end - $maxRateTimeWindow Default value is 500 requests per $maxRateTimeWindow (default: 5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:148&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateLenientModules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;rt, system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify those AJAX-accessible modules which are excluded from the rate limit checks Default value: rt, system &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:152&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateLenientClients&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;amp;quot;Open-Xchange .NET HTTP Client*&amp;amp;quot;, &amp;amp;quot;Open-Xchange USM HTTP Client*&amp;amp;quot;, &amp;amp;quot;Jakarta Commons-HttpClient*&amp;amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify (wildcard notation supported) those User-Agents which are excluded from the rate limit checks Default value: &amp;amp;quot;Open-Xchange .NET HTTP Client*&amp;amp;quot;, &amp;amp;quot;Open-Xchange USM HTTP Client*&amp;amp;quot;, &amp;amp;quot;Jakarta Commons-HttpClient*&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:156&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateKeyPartProviders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify how to associate a rate limit with a HTTP request By default a rate limit is associated with that tuple of { remote-address, user-agent } This does not apply to all scenarios. Therefore it is possible to specify more parts in a comma-separated list that build up the key. Possible values are: - &amp;amp;quot;http-session&amp;amp;quot;                   := The identifier of the request-associated HTTP session aka JSESSIONID cookie - &amp;amp;quot;cookie-&amp;amp;quot; + &amp;amp;lt;cookie-name&amp;amp;gt;        := Specifies the (ignore-case) name of the arbitrary cookie whose value is considered. If missing it is ignored. - &amp;amp;quot;header-&amp;amp;quot; + &amp;amp;lt;header-name&amp;amp;gt;        := Specifies the (ignore-case) name of the arbitrary header whose value is considered. If missing it is ignored. - &amp;amp;quot;parameter-&amp;amp;quot; + &amp;amp;lt;parameter-name&amp;amp;gt;  := Specifies the (ignore-case) name of the arbitrary parameter whose value is considered. If missing it is ignored.  E.g. com.openexchange.servlet.maxRateKeyPartProviders=cookie-My-Secret-Cookie, parameter-request_num  Default is empty; meaning only remote-address and user-agent are considered &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:170&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.log.suppressedCategories&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER_INPUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies a comma-separated list of those error categories that shall not be logged Default value is: USER_INPUT &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:174&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.log.maxMessageLength&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies max. message length to log. Messages that exceed that limit are split. A value of less than 1 means unlimited. Default is -1 (unlimited) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:179&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.json.maxSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the max. number of allowed attributes for a JSON object &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:182&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.webdav.disabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Setting this to true means that the WebDav XML servlets for attachments, calendar, contacts and tasks will be disabled. On requests to these servlets a service-not-available (503) response will be sent. See &amp;amp;quot;webdav-disabled-message.txt&amp;amp;quot; to customize the detailed error message that will be sent. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:187&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.ajax.response.includeStackTraceOnError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the JSON response object should provide the stack trace of the associated exception &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:190&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.connector.networkListenerHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The host for the connector&amp;amp;#39;s (ajp, http) network listener. Set to &amp;amp;quot;*&amp;amp;quot; if you want to listen on all available interfaces. Default value: 127.0.0.1, bind to localhost only. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:195&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.connector.networkListenerPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;8009&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The default port for the connector&amp;amp;#39;s (ajp, http) network listener. Default value: 8009. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:199&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;104857600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the sum of all uploaded files in one request is greater than this value, the upload will be rejected. This value can be overridden on a per-module basis by setting the MAX_UPLOAD_SIZE parameter in the modules config file (attachment.properties or infostore.properties). Or it can be overriden on a per-user basis by setting the upload_quota in the mail configuration of this user If this value is set to 0 and not overridden by the module config or user config uploads will be unrestricted. The size is in bytes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.connector.maxRequestParameters&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the max. number of allowed request parameters for the connector (ajp, http) Default value: 30 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:203&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.backendRoute&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;To enable proper load balancing and request routing from {client1, client2 .. .} --&amp;amp;gt; balancer --&amp;amp;gt; {backend1, backend2 ...} we have to append a backend route to the JSESSIONID cookies separated by a &amp;amp;#39;.&amp;amp;#39;. It&amp;amp;#39;s important that this backend route is unique for every single backend behind the load balancer. The string has to be a sequence of characters excluding semi-colon, comma and white space so the JSESSIONID cookie stays in accordance with the cookie specification after we append the backendroute to it. Default value: OX0 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:213&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.considerXForwards&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Decides if we should consider X-Forward-Headers that reach the backend. Those can be spoofed by clients so we have to make sure to consider the headers only if the proxy/proxies reliably override those headers for incoming requests. Default value: true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:219&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.forHeader&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;X-Forwarded-For&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the protocolHeader used to identify the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer. This is needed for grizzly based setups that make use of http proxying. If the header isn&amp;amp;#39;t found the first proxy in front of grizzly will be used as originating IP/remote address. Default value: X-Forwarded-For &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:227&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.server.knownProxies &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;A list of know proxies in front of our httpserver/balancer as comma separated IPs e.g: 192.168.1.50, 192.168.1.51 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:230&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.html.css.parse.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the amount of seconds to wait for a CSS content being parsed This property influences parsing of HTML messages. If CSS could not be parsed in time, CSS is stripped from message&amp;amp;#39;s content. Default value is 4 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:235&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_UPLOAD_IDLE_TIME_MILLIS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. idle time in milliseconds for an uploaded file temporary stored in upload directory &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.log.suppressedCategories&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;USER_INPUT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the OXException categories (comma separted) to be suppressed when logging. The Exception itself will still be logged as configured, but the StackTraces are omitted. Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING Default is USER_INPUT. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:241&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rest.services.basic-auth.login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the user name used for HTTP basic auth by internal REST servlet  Both settings need to be set in order to have basic auth enabled - &amp;amp;quot;com.openexchange.rest.services.basic-auth.login&amp;amp;quot; and &amp;amp;quot;com.openexchange.rest.services.basic-auth.password&amp;amp;quot;  Default is empty. Please change! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:248&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.rest.services.basic-auth.password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the password used for HTTP basic auth by internal REST servlet  Both settings need to be set in order to have basic auth enabled - &amp;amp;quot;com.openexchange.rest.services.basic-auth.login&amp;amp;quot; and &amp;amp;quot;com.openexchange.rest.services.basic-auth.password&amp;amp;quot;  Default is empty. Please change! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:255&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MAX_BODY_SIZE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The max. HTTP body size Zero or less means infinite. /!\   Deprecated: Use &amp;amp;quot;com.openexchange.servlet.maxBodySize&amp;amp;quot; instead   /!\ &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.defaultMaxConcurrentAJAXRequests&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The default max. number of allowed concurrent requests per user This property only has effect if no individual value has been specified for active user A value less than or equal to zero means infinite &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DefaultEncoding&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DEFAULT ENCODING FOR INCOMING HTTP REQUESTS This value MUST be equal to web server&amp;amp;#39;s default encoding &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.MinimumSearchCharacters&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Minimum number of characters a search pattern must contain. 0 means no minimum. This should prevent slow searches for contacts or big responses in large contexts. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PUBLISH_REVOKE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;e-mail address of a person that can be called if data has been published and the actual owner of the data objects to the publication. If removed or left empty, the e-maill address of the context admin is used. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPCheck&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;On session validation of every request the client IP address is compared with the client IP address used for the login request. If this configuration parameter is set to &amp;amp;quot;true&amp;amp;quot; and the client IP addresses do not match the request will be denied and the denied request is logged with level info. Setting this parameter to &amp;amp;quot;false&amp;amp;quot; will only log the different client IP addresses with debug level.  WARNING! This should be only set to &amp;amp;quot;false&amp;amp;quot; if you know what you are doing and if all requests are secure - requests are always encrypted by using HTTPS. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:56&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPMaskV4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Subnet mask for accepting IP-ranges. Using CIDR-Notation for v4 and v6 or dotted decimal only for v4. Examples: com.openexchange.IPMaskV4=255.255.255.0 com.openexchange.IPMaskV4=/24 com.openexchange.IPMaskV6=/60 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:64&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPMaskV6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:65&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.IPCheckWhitelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify a comma-separated list of client patterns that do bypass IP check E.g. com.openexchange.IPCheckWhitelist=&amp;amp;quot;Mobile App*&amp;amp;quot;, &amp;amp;quot;Foo*&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:69&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.UIWebPath&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ox6/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Configures the path on the web server where the UI is located. This path is used to generate links directly into the UI. The default conforms to the path where the UI is installed by the standard packages on the web server. This path is used for the [uiwebpath]. For the Open-Xchange 6 frontend the path needs to be configured to &amp;amp;quot;/ox6/index.html&amp;amp;quot; which is still the default. For the App Suite frontend the path needs to be configured to &amp;amp;quot;/appsuite/&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.dispatcher.prefix&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the prefix for Central Dispatcher framework (the Open-Xchange AJAX interface) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:78&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;PrefetchEnabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable or disable SearchIterator prefetch. If prefetch is enabled the underlying ResultSet data is completely stored and all related resources are released immediately when creating a SearchIterator. Possible values: TRUE / FALSE &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.ttl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1W&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The time-to-live for session, secret and JSESSIONID cookie. Note: Time-to-live is only relevant for session and secret cookie, if autologin is enabled as well. Autologin is configured in sessiond.properties by &amp;amp;quot;com.openexchange.sessiond.autologin&amp;amp;quot; property. Can contain units of measurement: D (=days) W(=weeks) H(=hours).  Special identifier &amp;amp;quot;web-browser&amp;amp;quot; to let the Cookie(s) be deleted when the Web browser exits &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:87&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.cookie.httpOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the &amp;amp;quot;; HttpOnly&amp;amp;quot; should be appended to server cookies exits &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties:90&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.servlet.maxRateLenientRemoteAddresses&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;That property allows to specify (wildcard notation supported) those remote addresses/IPs which are excluded from the rate limit checks. Default value is empty. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.preview.thumbnail.blockingWorker&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The backend either delivers a thumbnail when it's available from cache or fails fast while initiating the thumbnail creation/caching in the background. The advantage is that clients aren't blocked and can simply retry later when the thumbnail can be delivered from cache. &lt;br /&gt;
If there is no cache configured for the user/context: &lt;br /&gt;
We either have to generate the thumbnail on the fly which has the potential to block the whole client by occupying the max number of allowed connections to the domain or simply fail fast which leaves the client responsive but without thumbnails &lt;br /&gt;
Default value is &amp;amp;quot;false&amp;amp;quot; to keep the client responsive. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| server.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sessionId2token-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. This value should be set equal to value of property &amp;amp;quot;com.openexchange.tokenlogin.maxIdleTime&amp;amp;quot; in file &amp;amp;quot;tokenlogin.properties&amp;amp;quot;. Defaults to 300 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionId2tokenHz.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.maxSessionPerClient&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the number of sessions allowed per client (Web UI, EAS, WebDAV, ...) and user. A value equal to or less than zero means unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.sessionDefaultLifeTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3600000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Life time (in milliseconds) of a session in the short term session containers. After this time the session is put into the long life time container and all temporary session data is removed. This only applies if com.openexchange.sessiond.autologin is enabled. Short term session containers are rotated every 6 minutes. Therefore this value should be a multiple of 6 minutes.  Default is 3600000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.sessionLongLifeTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1W&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This amount of time a session can live without any interaction, if com.openexchange.sessiond.autologin is enabled. First the session lives in the short term session container, see configuration option com.openexchange.sessiond.sessionDefaultLifeTime. Then the session is moved into the long term session container. The session can be restored from here, but it won&amp;amp;#39;t have any temporary session data anymore. Restoring temporary session data may cause some slower functionality and maybe temporary errors on image, proxy data or the like. The overall time a session can live is defined by this option. The life time in the long term session container is the time configured here subtracted by the time in the short term session container. Can contain units of measurement: D(=days) W(=weeks) H(=hours) M(=minutes). Long term session containers are rotated every hour. Therefore this value should be a multiple of 1 hour. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.randomTokenTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;30000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The random token to access a newly created session is valid for this configured time. Can contain units of measurement: D(=days) W(=weeks) H(=hours) M(=minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.autologin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether autologin is allowed or not &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.encryptionKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;auw948cz,spdfgibcsp9e8ri+&amp;amp;lt;#qawcghgifzign7c6gnrns9oysoeivn&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Key to encrypt passwords during transmission during session migration. Change this, and make sure it&amp;amp;#39;s the same in the entire cluster &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.asyncPutToSessionStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify if sessions shall be put asynchronously to session storage Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:48&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.maxSession&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of concurrent sessions, 0 stands for unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.maxSessionPerUser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of concurrent sessions per user, a value less than or equal to zero means unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessiond.remoteParameterNames&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the colon-separated names of such parameters that are supposed to be taken over from session to stored session representation. The parameter names MUST NOT contain the ':' colon character that serves a delimiter. E.g. com.openexchange.sessiond.remoteParameterNames=remoteParameter1:remoteParameter2:...:remoteParameterN &lt;br /&gt;
# By default this setting is empty.Maximum number of concurrent sessions per user, a value less than or equal to zero means unlimited &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessiond.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;sessions-6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;640000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. To avoid unnecessary eviction, the value should be higher than the configured &amp;amp;#39;com.openexchange.sessiond.sessionLongLifeTime&amp;amp;#39; in &amp;amp;#39;sessiond.properties&amp;amp;#39;. Defaults to 640000 (a bit more than a week). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessions.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.sessionstorage.hazelcast.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enabled/disable Hazelcast-based session storage &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sessionstorage-hazelcast.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.smal.blacklist &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; *&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify host names of mail backends that shall be excluded from index access. If set to *, only the primary mail account is allowed to be indexed. Leave empty to allow indexing for all external mail accounts.  Example: gmail.com,googlemail.com &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smal.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpAuthEnc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UTF-8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the encoding for SMTP authentication Default is UTF-8 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpAuthentication&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable SMTP Authentication Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.setSMTPEnvelopeFrom&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines if SMTP header ENVELOPE-FROM should be explicitly set to user&amp;amp;#39;s primary email address or not Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;50000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket I/O timeout value in milliseconds. A value less than or equal to zero is infinite timeout. See also mail.smtp.timeout Default is 50000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpConnectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the socket connection timeout value in milliseconds. A value less or equal to zero is infinite timeout. See also mail.smtp.connectiontimeout Default is 10000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.logTransport&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies whether a transported message shall be logged providing &amp;amp;quot;Message-Id&amp;amp;quot; header, login, and SMTP server information Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.ssl.protocols&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SSLv3 TLSv1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace separated list of tokens. Default value is: SSLv3 TLSv1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.ssl.ciphersuites&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specifies the SSL cipher suites that will be enabled for SSL connections. The property value is a whitespace separated list of tokens.  Check &amp;amp;quot;http://&amp;amp;lt;ox-grizzly-hostname&amp;amp;gt;:&amp;amp;lt;ox-grizzly-port&amp;amp;gt;/stats/diagnostic?param=ciphersuites&amp;amp;quot; to check available cipher suites.  Default value is empty (fall-back to current JVM&amp;amp;#39;s default SSL cipher suite) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.smtp.smtpLocalhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;null&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The localhost name that is going to be used on SMTP&amp;amp;#39;s HELO or EHLO command. The default is set to InetAddress.getLocalHost().getHostName() but if either JDK or name service are not configured properly, this routine fails and the HELO or EHLO command is send without a name which leads to an error: &amp;amp;quot;501 HELO requires domain address&amp;amp;quot; The value &amp;amp;quot;null&amp;amp;quot; falls back to InetAddress.getLocalHost().getHostName() which works in most cases. Default is &amp;amp;quot;null&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| smtp.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.nosql.cassandra.snappyjava.nativelibs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; @oxsnappydir@/lib&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Path for native libs &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| snappy.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.entityExpansionLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;128000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Java platform limits the number of entity expansions that are allowed for a single XML document. Default is 128000, which is considered to be a pretty large number for any real life application.  However, if any application does need to have a higher limit, this property (which maps to &amp;amp;#39;entityExpansionLimit&amp;amp;#39; system property) can be increased to the desired size. Setting it to 0 (zero) means unlimited.  Default value is 128000 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.baseAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the base address for published end points; e.g. &amp;amp;quot;http://www.myserver.com/myservices&amp;amp;quot; Default is empty; meaning to use running machine&amp;amp;#39;s address &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.hideServiceListPage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether to hice service list page Default is false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:9&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;com.openexchange.soap.cxf.disableAddressUpdates&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;prevents the URL manipulation Default is true &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| soap-cxf.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.solrHome &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the home directory of the embedded Solr server. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.libDir &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/lib&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the library directory of the embedded Solr server. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configDir &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration directory of the embedded Solr server. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.schemaMail &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/schema-mail.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the schema file for the mail index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configMail &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/solrconfig-mail.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration file for the mail index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:26&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.schemaInfostore &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/schema-infostore.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the schema file for the infostore index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:30&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configInfostore &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/solrconfig-infostore.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration file for the infostore index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.schemaAttachments &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/schema-attachments.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the schema file for the attachment index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.configAttachments &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; /opt/open-xchange/solr/conf/solrconfig-attachments.xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This is the path to the configuration file for the attachment index. Don&amp;amp;#39;t change this unless you know what you are doing! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:42&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.solr.isSolrNode &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates whether this OX node is a Solr node or not. Being a Solr node means that this node will be used to perform Solr searches and jobs like indexing mailboxes etc. If set to false, all index search actions will be delegated to a Solr node. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| solr.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.port&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;783&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the port of the spamassassin daemon here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.timeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the timeout after which the try to connect is aborted here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.retries&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the connect retries here. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.spamd&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Choose if a mail should be send to spamd afterwards &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.retrysleep&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the connect retries sleep here. This is how log should be waited between the different tries. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.unsubscribeSpamFolders&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Indicates whether the confirmed-spam/confirmed-ham folders shall automatically be unsubscribed during login. Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.spamassassin.hostname&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;If the mail should be send to spamd specify the hostname of the spamassassin daemon here &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamassassin.properties:6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.spamhandler.spamexperts/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The following property enables the Spamexperts Iframe GUI-Plugins &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts-ui.properties:9&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel_servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/spamexperts/panel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The next property defines the mount point of the panel servlet  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.api_interface_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://demo1.spambrand.com/api/authticket/create/username/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; URL of spamexperts Interface to generate new sessions  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.admin_user&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;admin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines the username which should be used as basic auth   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.admin_password&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;demo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; This property defines the password which should be used as basic auth   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:27&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.api_auth_attribute&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mail&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Which user attribute should be used for authentication against panel API  Possible values: - imaplogin -&amp;amp;gt; Users IMAP login - mail -&amp;amp;gt; Users mail address - login -&amp;amp;gt; String which user entered at login mask - username -&amp;amp;gt; Users &amp;amp;quot;username&amp;amp;quot; attribute. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:37&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.panel.web_ui_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://demo1.spambrand.com/?authticket=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Defines the URL where the panel is available  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:43&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.imapurl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; the imap url to the spamexperts imap server  Example: imap://myserver.example.com  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:55&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.imapuser&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; username to authenticate against the imap server  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:60&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.imappassword&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; password to authenticate against the imap server  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:65&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.trainspamfolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Foldername of folder to place spam mails in order to train the system  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:70&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.custom.spamexperts.trainhamfolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Not Spam&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Foldername of folder to place ham mails in order to train the system  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamexperts.properties:75&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.cloudmark.targetHamEmailAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the eMail address to which the selected eMails will be bounced, if they are marked as Ham. If no address is specified the bounce will be skipped, but moving the selected mails back to the Inbox will still be processed (if configured). Privacy note: This will send private mails of users to that address when marked as Ham &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamhandler_cloudmark.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.cloudmark.targetSpamFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines to which folder the selected mails should be moved to after they have been bounced to the target eMail address. If no option is configured the selected mails will be moved to the users trash folder. Possible options are:  0 = Do not move the message at all 1 = User&amp;amp;#39;s trash folder (Default) 2 = User&amp;amp;#39;s SPAM folder 3 = Subscribed confirmed-spam folder (experimental) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamhandler_cloudmark.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.spamhandler.cloudmark.targetSpamEmailAddress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the eMail address to which the selected eMails will be bounced. If no address is specified the bounce will be skipped, but moving the selected mails to the target folder will still be processed (if configured) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| spamhandler_cloudmark.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;driver &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; com.mysql.jdbc.Driver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; openexchange&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;password &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/open-xchange-db_6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/open-xchange-db_6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/ox_test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://localhost/ox_test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;url &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; jdbc:mysql://devel-master.netline.de/openexchangeHEAD_14&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| sql.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.autorun&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines whether subscriptions should be run automatically on login, if a given interval has elapsed The intervals default to one day, but can be configured individually by subscription type in the subscription source specific configuration files &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| subscribe.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serviceUsageInspection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enabled/disable service usage inspection. If enabled, all services obtained and managed by ServiceHolder class will be tracked to ensure all services are put back (via unget) within a certain amount of time. The time range can be defined through property &amp;amp;#39;serviceUsageTimeout&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;serviceUsageTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The service usage timeout in milliseconds. This property only has effect if property &amp;amp;#39;serviceUsageInspection&amp;amp;#39; is set to &amp;amp;#39;true&amp;amp;#39;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:14&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;MimeTypeFileName&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;mime.types&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the MIME type file &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UserConfigurationStorage&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Caching&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Name of the class implementing the UserConfigurationStorage. Currently known aliases: Caching, DB &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Cache&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Switch for enabling caching in the groupware. Normally this should be set to true or the database will get a lot more load. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:25&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;CalendarSQL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.groupware.calendar.CalendarMySQL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;SERVER_NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;local&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Server name registered by registerserver in the configuration database can be read with listservers &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.config.cascade.scopes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user, context, contextSets, server&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The scopes to use in the config cascade, and their precedence &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.caching.configfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;cache.ccf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Location of default cache configuration file &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| system.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.freqmillis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Frequency millis &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.factor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Increase factor &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.sleepmillis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2500&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Time to waste per task &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enabled &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.testinjector.rampup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Ramp-up count &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| testinjector.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.maximumPoolSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2147483647&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The maximum number of threads to allow in the pool. Default is max. integer value of 2^31 - 1 which is considered as unlimited max. number of threads. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.keepAliveTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;60000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;When the number of threads is greater than the core, this is the maximum time (in milliseconds) that excess idle threads will wait for new tasks before terminating. Default is 60000msec &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.workQueue&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;synchronous&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The queue type to use for holding tasks before they are executed. This queue will hold only the tasks submitted by the execute method. Supported values: synchronous and linked A synchronous queue is an appropriate choice when &amp;amp;quot;com.openexchange.threadpool.maximumPoolSize&amp;amp;quot; is unlimited and possible rejection of tasks is allowed. A synchronous queue has no capacity, it rather acts as a direct hand-off of tasks to an already waiting worker thread and will deny the task if there is no further worker thread to process the task. A linked queue is an appropriate choice when &amp;amp;quot;com.openexchange.threadpool.maximumPoolSize&amp;amp;quot; is limited and rejection of tasks is prohibited. A linked queue has a (fixed) capacity to store submitted tasks which have to wait for a worker thread to become ready. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:29&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.corePoolSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The number of threads to keep in the pool, even if they are idle. If unsure follow this rule: Number of CPUs + 1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.workQueueSize&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The size of the work queue. Zero means unlimited size. Note: If this property is set to a value greater than zero, property &amp;amp;quot;com.openexchange.threadpool.workQueue&amp;amp;quot; is implicitly set to &amp;amp;quot;linked&amp;amp;quot; to accomplish a fixed-size work queue. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.blocking&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable blocking behavior. A blocking behavior means that caller is blocked until space becomes available in working queue. This is useful for installation with limited capacities concerning max. number of threads and a bounded blocking work queue. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:38&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.refusedExecutionBehavior&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;abort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The default behavior to obey when execution is blocked because the thread bounds and queue capacities are reached. Supported values: abort, caller-runs, discard abort: Aborts execution by throwing an appropriate exception to the caller caller-runs: The caller is considered to run the task if thread pool is unable to do so discard: The task is silently discarded. No exception is thrown. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.threadpool.prestartAllCoreThreads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Starts all core threads, causing them to idly wait for work. This overrides the default policy of starting core threads only when new tasks are executed. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| threadpool.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.backupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of backups. If 1 is set as the backup-count for example, then all entries of the map will be copied to another JVM for fail-safety. 0 means no backup. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.asyncBackupCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Number of nodes with async backups. Async backups do not block operations and do not require acknowledgements. 0 means no backup. Any integer between 0 and 6. Default is 0, setting bigger than 6 has no effect. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.readBackupData&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Can we read the local backup entries? Default value is false for strong consistency. Being able to read backup data will give you greater performance. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:21&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.name&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;token2sessionId-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The name of the map. Don&amp;amp;#39;t change this on your own. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.hazelcast.configuration.map.maxIdleSeconds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Maximum number of seconds for each entry to stay idle in the map. Entries that are idle (not touched) for more than &amp;amp;lt;max-idle-seconds&amp;amp;gt; will get automatically evicted from the map. Entry is touched if get, put or containsKey is called. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. This value should be set equal to value of property &amp;amp;quot;com.openexchange.tokenlogin.maxIdleTime&amp;amp;quot; in file &amp;amp;quot;tokenlogin.properties&amp;amp;quot;. Defaults to 300 (5 minutes). &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| token2sessionIdHz.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.tokenlogin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable or disable token-login &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| tokenlogin.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.tokenlogin.maxIdleTime&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;300000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the maximum time (in milliseconds) a token may be idle before it is evicted Default is 300000 (5 minutes) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| tokenlogin.properties:8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable to publish email attachments if quota is exceeded rather than throwing an appropriate error.  ------- /!\ Please be aware that this option requires infostore module to be enabled! /!\ -------  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.publishingPublicInfostoreFolder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;i18n-defined&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the name of the publishing infostore folder which is created below public infostore folder. The denoted folder is created if absent only if &amp;amp;quot;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;amp;quot; is enabled The special identifier &amp;amp;quot;i18n-defined&amp;amp;quot; indicates to use translation of text &amp;amp;quot;E-Mail attachments&amp;amp;quot;. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.publishPrimaryAccountOnly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether all accounts or only primary account are affected if property &amp;amp;quot;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;amp;quot; is enabled. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.sendAttachmentToExternalRecipients&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether external recipients shall receive file attachments instead of publication links although quota is exceeded if property &amp;amp;quot;com.openexchange.mail.transport.enablePublishOnExceededQuota&amp;amp;quot; is enabled. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.provideLinksInAttachment&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;This options enables that publication links are provided in a separate &amp;amp;quot;text/html&amp;amp;quot; file attachment named &amp;amp;quot;links.html, instead of inserting them to top of mail text. This avoids modification of original mail text. If set to &amp;amp;quot;false&amp;amp;quot;, the publication links are inserted to top of mail text. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.publishedDocumentTimeToLive&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;604800000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the time-to-live in milliseconds for published email attachments &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:36&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.referencedPartLimit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1048576&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the limit in bytes for keeping an internal copy of a referenced MIME message&amp;amp;#39;s part when sending a mail. If a part exceeds this limit a temporary file is created holding part&amp;amp;#39;s copy &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.externalRecipientsLocale&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;user-defined&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set the identifier of the locale to use when composing text sent to external recipients; e.g &amp;amp;quot;en&amp;amp;quot;, or &amp;amp;quot;de&amp;amp;quot; The special identifier &amp;amp;quot;user-defined&amp;amp;quot; indicates to use that locale from the user who sends the email. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:40&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.transport.removeMimeVersionInSubParts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether to strictly obey suggestion in RFC 2045 The MIME-Version header field is required at the top level of a message, but is _not_ required for each body part of a multipart entity. If set to &amp;amp;quot;true&amp;amp;quot;, each message is processed to not contain a MIME-Version header in sub-parts Default is &amp;amp;quot;false&amp;amp;quot; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:46&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.mail.defaultTransportProvider&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;smtp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The transport provider fallback if an URL does not contain/define a protocol &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| transport.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.proxyPort&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The HTTP proxy port &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.connectionTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Connection time out &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.readTimeout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;120000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Read time out &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.retryCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Retry count &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.retryIntervalSecs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;10&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Retry interval seconds &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.consumerKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;kZX3V4AmAWwC53yA5RjHbQ&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.consumerSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;HvY7pVFFQSGPVu9LCoBMUhvMpS00qdtqBob99jucc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:31&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.clientVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;2.2.3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The client version string &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.twitter.http.proxyHost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The HTTP proxy host &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitter.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.messaging.twitter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Whether the twitter messaging service is available &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twittermessaging.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.twitter&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable Twitter OAuth bundle &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| twitteroauth.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/toolbar/mode/value&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;tabbased&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UI: Toolbar type Possible values: tabbased|simple &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/toolbar/mode/configurable&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;All user to configure the latter Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/mail/showContactImage/value &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UI: Show contact images in email view Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:19&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/mail/showContactImage/configurable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;All user to configure the latter Possible values: true|false Please configure the ui.yml accordingly. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:24&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/mail/replyTo/configurable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allow user to configure a reply-to address Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:28&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/windows/mode/value&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;embedded&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;UI: Window manager Possible values: embedded and popups &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/portal/autoRefresh &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Auto refresh portal page Possible values: true|false Whenever the user accesses the portal, all visible widgets get refreshed (mail, calendar, contacts etc.). Default is false. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:34&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/portal/customUWA &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allow custom UWA widgets Possible values: true|false Disables add, remove, edit in UI. Default is true. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/expert/mode/configurable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Allow disabling of expert mode Possible values: true|false value does not affect user setting. reserved for future use. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:44&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/expert/mode/value &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;ui/global/windows/mode/configurable&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;All user to configure the latter Possible values: true|false &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| ui.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.outlook.updater.allowEditUrl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Set this to false if users should not be able to change the URL that points to update.xml. &lt;br /&gt;
 In that case the updater is delivered with an according installation parameter that forbids editing the URL.  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| updater.properties&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;modules/com.openexchange.upsell.multiple.gui/module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell-multiple-gui.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.oxuser.template_subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/groupware/upsell_mail_subject_ox_enduser.tmpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Subject to use for emails which are sent to the ox enduser.  If you need i18n support, create template with suffix &amp;amp;quot;_&amp;amp;lt;LANGUAGE_CODE&amp;amp;gt;&amp;amp;quot; Example: upsell_mail_subject_ox_enduser.tmpl_de_DE For placeholders, see above. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:102&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.servlet&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/ajax/upsell/multiple&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; The next property defines the mount point of the servlet &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:109&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.host&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; FOR TESTING, DEMO ONLY. DO NOT TOUCH IF YOU DONT KNOW WHAT THESE OPTIONS MEAN!   OX API RMI Host, IF not localhost, make sure the OX accepts remote RMI connections! See AdminDaemon.properties for enabling remote connections. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:117&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.masteradmin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;oxadminmaster&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX API RMI Masteradmin  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:122&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.masteradmin.pass&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;secret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; OX API RMI Masteradmin Password  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:127&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.rmi.downgrade.accessname&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;pim&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Which access-combination-name should be used for downgrading the context  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:132&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.external.shop_api_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://shop.host.com/api/generateshopurl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;DISABLED AT THE MOMENT!  URL of the external Interface to generate &amp;amp;quot;upsell URL&amp;amp;quot; for customers shop or control center URL will be used in a POST request with following parameters of the logged in ox user:  src = &amp;amp;quot;ox_upsell&amp;amp;quot; user = &amp;amp;lt;ox_username&amp;amp;gt; userid = &amp;amp;lt;ox_user_id&amp;amp;gt; pwd = &amp;amp;lt;ox_user_password&amp;amp;gt; cid = &amp;amp;lt;ox_user_cid&amp;amp;gt; mail = &amp;amp;lt;ox_user_mail&amp;amp;gt; login = &amp;amp;lt;ox_user_full_login_from_login_mask&amp;amp;gt; imaplogin = &amp;amp;lt;ox_user_imap_login&amp;amp;gt; clicked_feat = &amp;amp;lt;clicked_feature_at_gui&amp;amp;gt; upsell_plan = &amp;amp;lt;clicked_upsell_plan&amp;amp;gt;  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:151&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;static&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Define which Upsell method should be used  Possible values: a) direct b) static, c) email  direct = Redirect within IFRAME immediately to com.openexchange.upsell.multiple.method.static.shop_redir_url value after clicking one of the upsell triggers  static = Redirect AFTER clicking a button within the shipped OX Upsell pages  email = Send email to specific address AFTER clicking a button within the shipped OX Upsell pages  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:33&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.static.shop_redir_url&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://shop.host.tld/?shop=true&amp;amp;amp;src=ox&amp;amp;amp;user=_USER_&amp;amp;amp;userid=_USERID_&amp;amp;amp;mail=_MAIL_&amp;amp;amp;login=_LOGIN_&amp;amp;amp;imaplogin=_IMAPLOGIN_&amp;amp;amp;clicked_feat=_CLICKED_FEATURE_&amp;amp;amp;lang=_LANG_&amp;amp;amp;cid=_CID_&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;b) Defines the static URL to redirect with all parameters we can pass , see below for all possible parameters  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:39&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.address&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;upsell@shop.host.tld&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;c) Defines the email address where upsell will send all infos to for processing this request  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:45&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.template&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/groupware/upsell_mail_body.tmpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Email template to load, if not found, hardcoded text will be used. Following placeholders will be replaced by ox users data:  &amp;amp;quot;_USER_&amp;amp;quot; &amp;amp;quot;_USERID_&amp;amp;quot; &amp;amp;quot;_MAIL_&amp;amp;quot; &amp;amp;quot;_LOGIN_&amp;amp;quot; &amp;amp;quot;_IMAPLOGIN&amp;amp;quot; &amp;amp;quot;_CLICKED_FEATURE_&amp;amp;quot; &amp;amp;quot;_UPSELL_PLAN_&amp;amp;quot; - Not in use. &amp;amp;quot;_CID_&amp;amp;quot; &amp;amp;quot;_LANG_&amp;amp;quot; &amp;amp;quot;_PURCHASE_TYPE_&amp;amp;quot; - Only used if email or static method is used due to the OX upsell layout/buttons &amp;amp;quot;_INVITE_&amp;amp;quot; - User checked &amp;amp;quot;invite my friends&amp;amp;quot; checkbox in upsell box  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:63&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.subject&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;OX upsell in context _CID_ for user _USERID_ (_USER_) with email _MAIL_ was requested by clicking _CLICKED_FEATURE_&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Mail subject to use when sending upsell request mails. See available placeholders in option above  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:68&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.oxuser.enabled&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt; Send info email to ox enduser to inform about upsell?  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:74&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.upsell.multiple.method.email.oxuser.template&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;/opt/open-xchange/etc/groupware/upsell_mail_body_ox_enduser.tmpl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Following placeholders can be replaced by ox users data:  &amp;amp;quot;_USER_&amp;amp;quot; &amp;amp;quot;_USERID_&amp;amp;quot; &amp;amp;quot;_MAIL_&amp;amp;quot; &amp;amp;quot;_LOGIN_&amp;amp;quot; &amp;amp;quot;_IMAPLOGIN&amp;amp;quot; &amp;amp;quot;_CLICKED_FEATURE_&amp;amp;quot; &amp;amp;quot;_UPSELL_PLAN_&amp;amp;quot; - Not in use. &amp;amp;quot;_CID_&amp;amp;quot; &amp;amp;quot;_LANG_&amp;amp;quot; &amp;amp;quot;_PURCHASE_TYPE_&amp;amp;quot; - Only used if email or static method is used due to the OX upsell layout/buttons  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| upsell.properties:94&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.contactCollectOnMailAccess&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the default behavior whether to collect contacts on mail access Note: Appropriate user access permission still needs to be granted in order to take effect &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:11&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.contactCollectOnMailTransport&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Define the default behavior whether to collect contacts on mail transport Note: Appropriate user access permission still needs to be granted in order to take effect &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:15&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.maxClientCount&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify the max. allowed number of client identifiers stored/tracked per user A value equal to or less than zero means unlimited Default is -1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.user.beta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Specify whether beta features are enabled/disabled per default. The value is remembered for every user in its attributes. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.folder.tree&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Defines the default folder tree that should be used if a user has not selected one. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| user.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_SECRET&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API secret &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.consumerKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_CONSUMER_KEY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer key (for upsell) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.consumerSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_CONSUMER_SECRET&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The consumer secret (for upsell) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.xing.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_YOUR_XING_PRODUCTIVE_KEY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;The API key &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingoauth.properties:7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.xing&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable XING subscribe service &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| xingsubscribe.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.yahoo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;false&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;Enable/disable Yahoo OAuth support &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoooauth.properties:2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.yahoo.apiKey&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_VALUE_OBTAINED_FROM_YAHOO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoooauth.properties:4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.oauth.yahoo.apiSecret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;REPLACE_THIS_WITH_VALUE_OBTAINED_FROM_YAHOO&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoooauth.properties:5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.yahoo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;true&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoosubscribe.properties:1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;com.openexchange.subscribe.socialplugin.yahoo.autorunInterval&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| yahoosubscribe.properties:2&lt;br /&gt;
|}&lt;br /&gt;
[[Category:OX6]] [[Category:AppSuite]] [[Category:Administrator]] [[Category:Configuration]] [[Category:Generated]]&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Filestorages&amp;diff=23135</id>
		<title>AppSuite:Filestorages</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Filestorages&amp;diff=23135"/>
		<updated>2017-03-20T12:56:09Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Common preparations =&lt;br /&gt;
This page shows how to setup external file stores. For all of these file stores you have to install the package &amp;quot;open-xchange-oauth&amp;quot;, which provides the necessary authentication mechanisms.&lt;br /&gt;
&lt;br /&gt;
Moreover your setup is required to be reachable via HTTPS, since the providers expect that a call-back URL to your setup is specified. Such a call-back URL is only accepted if it contains the &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://&amp;quot;&amp;lt;/source&amp;gt; scheme., e.g.:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;quot;https://my.oxsetup.invalid/ajax/defer&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keep HTTPS protocol ==&lt;br /&gt;
[[Appsuite:Grizzly#Cluster_setup]] shows that HTTPS communication is terminated by the Apache balancer in front of the Open-Xchange nodes. To let the Open-Xchange application know about the HTTPS protocol that is used to communicate with the Apache server:&lt;br /&gt;
* Either set a special header in the SSL virtual hosts configurations in Apache to forward this information. The de facto standard for this is the &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;X-Forwarded-Proto&amp;quot;&amp;lt;/source&amp;gt; header. See [[Appsuite:Grizzly#X-FORWARDED-PROTO_Header]] for how to setup that header.&lt;br /&gt;
* Or force the Open-Xchange application to assume it is reached via SSL through setting property &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;properties&amp;quot;&amp;gt;&amp;quot;com.openexchange.forceHTTPS=true&amp;quot;&amp;lt;/source&amp;gt; in file ''/opt/open-xchange/etc/server.properties''.&lt;br /&gt;
&lt;br /&gt;
== Deferrer URL ==&lt;br /&gt;
Open-Xchange application uses the deferrer URL as call-back for some of the providers, which use OAuth v2.0 authentication (such as Google).&lt;br /&gt;
&lt;br /&gt;
If your OX server is reachable only via one host name, you won't have to do anything. If it is reachable by more than one host name, create or open the file ''/opt/openexchange/etc/groupware/deferrer.properties'' and set the properties therein as such:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.http.deferrer.url=https://mymaindomain.invalid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Dropbox =&lt;br /&gt;
&lt;br /&gt;
To setup the Dropbox file store you have to install the package &amp;quot;open-xchange-file-storage-dropbox&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Registering your app ==&lt;br /&gt;
* Log in to your Dropbox account [https://www.dropbox.com/login here], and create your Dropbox app [https://www.dropbox.com/developers/apps/create here]&lt;br /&gt;
* There are two options available creating an app, Drops-in App &amp;amp; Dropbox API App. Please select '''Dropbox API''' app and enter the name of your app.&lt;br /&gt;
* Go to [https://www.dropbox.com/developers/apps App Console] and select your created app. Select settings tab to view the &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;APP_KEY&amp;lt;/source&amp;gt; (App key) and &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;SECRET_KEY&amp;lt;/source&amp;gt; (App secret)&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In addition you have to configure the following properties in file ''/opt/open-xchange/etc/dropboxoauth.properties'':&lt;br /&gt;
&lt;br /&gt;
* Enable the OAuth connector to Dropbox OAuth&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.dropbox=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the API key and secret&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.dropbox.apiKey=REPLACE_THIS_WITH_DROPBOX_APP_KEY&lt;br /&gt;
 com.openexchange.oauth.dropbox.apiSecret=REPLACE_THIS_WITH_DROPBOX_APP_SECRET&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the redirect URL. Please ensure the following conditions are met:&lt;br /&gt;
** The redirect URL specified in the Dropbox App needs to be the same as the one specified by this   property.&lt;br /&gt;
** The redirect URI uses &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://&amp;quot;&amp;lt;/source&amp;gt; as protocol&lt;br /&gt;
** The redirect URI follows the pattern: &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://&amp;quot; + &amp;lt;host-name&amp;gt; + &amp;quot;/ajax/defer&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.dropbox.redirectUrl=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
E.g. &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://myappsuite.mydomain.invalid/ajax/defer&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the product ID of the registered Dropbox app&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.dropbox.productName=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can define them system-wide or via the config cascade mechanism.&lt;br /&gt;
&lt;br /&gt;
{{InstallPlugin|pluginname=open-xchange-file-storage-dropbox|toplevel=products|sopath=appsuite/stable/backend|version=App Suite}}&lt;br /&gt;
&lt;br /&gt;
= Google Drive = &lt;br /&gt;
&lt;br /&gt;
To setup the Google Drive file store you have to install the package &amp;quot;open-xchange-file-storage-googledrive&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Registering your app ==&lt;br /&gt;
* Sign in to [https://console.developers.google.com/ Google Developers Console] using your Google account&lt;br /&gt;
* Please follow [https://developers.google.com/identity/sign-in/web/devconsole-project these] instructions to create a new project with a client ID, which is needed to call the sign-in API&lt;br /&gt;
* Enable the following APIs for your project&lt;br /&gt;
** BigQuery API&lt;br /&gt;
** Calendar API&lt;br /&gt;
** Contacts API&lt;br /&gt;
** Drive API&lt;br /&gt;
** Drive SDK&lt;br /&gt;
** Gmail API&lt;br /&gt;
** Google Cloud SQL&lt;br /&gt;
** Google Cloud Storage&lt;br /&gt;
** Google Cloud Storage JSON API&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In addition you have to configure the following properties in file ''/opt/open-xchange/etc/googleoauth.properties'':&lt;br /&gt;
&lt;br /&gt;
* Enable the OAuth connector to Google OAuth&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.google=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the API key and secret, which is Client ID and Client Secret to call the sign-in API (Select your project, select API manager from upper left burger menu, select credentials in left side bar, select Client ID for Web application)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.google.apiKey=REPLACE_THIS_WITH_YOUR_CLIENT_ID&lt;br /&gt;
 com.openexchange.oauth.google.apiSecret=REPLACE_THIS_WITH_YOUR_CLIENT_SECRET&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the redirect URL. Please ensure the following conditions are met:&lt;br /&gt;
** The redirect URL specified in the Google App needs to be the same as the one specified by this   property.&lt;br /&gt;
** The redirect URI uses &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://&amp;quot;&amp;lt;/source&amp;gt; as protocol&lt;br /&gt;
** The redirect URI follows the pattern: &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://&amp;quot; + &amp;lt;host-name&amp;gt; + &amp;quot;/ajax/defer&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.google.redirectUrl=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
E.g. &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://myappsuite.mydomain.invalid/ajax/defer&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the product ID of the registered Google app&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.google.productName=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can define them system-wide or via the config cascade mechanism.&lt;br /&gt;
&lt;br /&gt;
{{InstallPlugin|pluginname=open-xchange-file-storage-googledrive|toplevel=products|sopath=appsuite/stable/backend|version=App Suite}}&lt;br /&gt;
&lt;br /&gt;
= Microsoft Onedrive =&lt;br /&gt;
To setup the Microsoft OneDrive file store you have to install the package &amp;quot;open-xchange-file-storage-onedrive&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Registering your app ==&lt;br /&gt;
* Please follow [https://msdn.microsoft.com/en-us/library/ff751474.aspx this guide] to create/register your app&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In addition you have to configure the following properties in file ''/opt/open-xchange/etc/msliveconntectoauth.properties'':&lt;br /&gt;
&lt;br /&gt;
* Enable the OAuth connector&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.msliveconnect=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the API key and secret&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.msliveconnect.apiKey=REPLACE_THIS_WITH_YOUR_MS_LIVE_CONNECT_CLIENT_KEY&lt;br /&gt;
 com.openexchange.oauth.msliveconnect.apiSecret=REPLACE_THIS_WITH_YOUR_MS_LIVE_CONNECT_CLIENT_SECRET&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the redirect URL&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.msliveconnect.redirectUrl=REPLACE_THIS_WITH_YOUR_MS_LIVE_CONNECT_REDIRECT_URL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can define them system-wide or via the config cascade mechanism.&lt;br /&gt;
&lt;br /&gt;
{{InstallPlugin|pluginname=open-xchange-file-storage-onedrive|toplevel=products|sopath=appsuite/stable/backend|version=App Suite}}&lt;br /&gt;
&lt;br /&gt;
= Box.com = &lt;br /&gt;
To setup the Box.com file store you have to install the package &amp;quot;open-xchange-file-storage-boxcom&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Registering your app ==&lt;br /&gt;
* Sign in to [https://developers.box.com/ box Developers]&lt;br /&gt;
* Select '''Create a Box Application'''&lt;br /&gt;
* Select '''Box Content'''&lt;br /&gt;
* Hit '''Configure your application'''&lt;br /&gt;
* Enter ''redirect_uri''' (the deferrer URL; e.g. &amp;lt;source enclose=&amp;quot;none&amp;quot; lang=&amp;quot;java&amp;quot;&amp;gt;&amp;quot;https://my.oxsetup.invalid/ajax/defer&amp;quot;&amp;lt;/source&amp;gt;)&lt;br /&gt;
* Enable ''Read and write all files and folders''&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In addition you have to configure the following properties in file ''/opt/open-xchange/etc/boxcomoauth.properties'':&lt;br /&gt;
&lt;br /&gt;
* Enable the OAuth connector&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.boxcom=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the API key and secret&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.boxcom.apiKey=REPLACE_THIS_WITH_YOUR_BOX_CLIENT_KEY&lt;br /&gt;
 com.openexchange.oauth.boxcom.apiSecret=REPLACE_THIS_WITH_YOUR_BOX_CLIENT_SECRET&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the redirect URL&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
 com.openexchange.oauth.boxcom.redirectUrl=REPLACE_THIS_WITH_YOUR_BOX_REDIRECT_URL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can define them system-wide or via the config cascade mechanism.&lt;br /&gt;
&lt;br /&gt;
{{InstallPlugin|pluginname=open-xchange-file-storage-boxcom|toplevel=products|sopath=appsuite/stable/backend|version=App Suite}}&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=22439</id>
		<title>HTTP API MailFilter</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=22439"/>
		<updated>2016-10-11T11:02:09Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Actions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''Open-Xchange Mail Filter HTTP API'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document describes only the mail filter HTTP-API. So it's only a part which must be embedded into something which counts for login/logout, session handling and low-level protocol issues such as error handling. At the moment this will be the groupware server. So the modules needed for basic operations can be found there.&lt;br /&gt;
&lt;br /&gt;
= Module mailfilter =&lt;br /&gt;
This module is used to access all mail filter related options.&lt;br /&gt;
&lt;br /&gt;
First of all the main structure of a mail filter script is, that it has different rules. Each of them contains one command. This command takes a test condition which executes the actions given in that command if the test condition is true.&lt;br /&gt;
&lt;br /&gt;
The test condition consists of a test command and some arguments for this command depending on the command itself. Because the available tests depend on the mail filter server, these tests must be determined at runtime. So that no test field is transferred to the server which it isn't able to handle. Examples for tests are &amp;lt;tt&amp;gt;address&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;allof&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;anyof&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each test has a special comparison. The list of available comparisons depends on the test given and the mail filter server configuration so they have to be determined at runtime too.&lt;br /&gt;
&lt;br /&gt;
Each time you want to do some action on a mail you need a so called action command. This describes what to do with a mail. To action commands the same applies as to the test commands and their comparison types, they must be determined at runtime.&lt;br /&gt;
&lt;br /&gt;
All those dynamical values can be fetched via a config object at startup. This object shows the capabilities of the server to the client. This allows the client to show only the capabilities the server actually has to the user and to send only objects to the server which produce no errors on the server side.&lt;br /&gt;
&lt;br /&gt;
To deal with this high flexibility of mail filters this specification can be roughly divided into 2 parts. A non-changing core and dynamical extensions. The core specification is that each rule consists of a name, an ID, a value showing if this rule is active or not and a tag which can be set on a rule to mark that rule for a special purpose. Furthermore each rule takes a test object, specifying in what case the following actions are triggered, and one or many actioncommands, specifying the actions itself. For a detailed specification see [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
The objects for the tests and the actions are dynamical, so the set presented in this specification may be changed over the time, but only compatible changes are allowed to the objects, otherwise new test or action objects have to be introduced. Due to the fact that not every sieve implementation will offer all the capabilities written in this document, the server will sent his configuration if a special request is made. This configuration will show which of the tests and which of the actions are allowed. So for example if the server signals that it is capable of handling vacation, sending a vacation object as action is safe.&lt;br /&gt;
&lt;br /&gt;
Furthermore some tests use a comparison field as stated above which specifies how the fields are compared. The values of this field must also be determined at runtime. So in the configuration object there is a special part which shows the comparisons which are available. Note that not all comparisons can be used with every test. Some of them are denoted to a special test, which can be found in the [[#Table 3|Table 3]].&lt;br /&gt;
&lt;br /&gt;
= The core =&lt;br /&gt;
As written in the introduction the main part of a mail filter are the rules. A rule object will always have the structure you can see in the table below ([[#Table 1|Table 1]]). The dynamical parts are the test, which are represented by different options, see [[#Tests|4.1. Tests]], and the actions, also represented in [[#Actions|4.2. Actions]]. Note that the test and actioncmds fields and the text and errormsg fields are mutual exclusive. So if test and actioncmds fields are filled the text and errormsg fields are not present and vice versa.&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 1&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| A unique identifier (once created must not be changed)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The position inside the mail filter list. Starts with 0&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rulename&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name describing the rule, can be empty but must not contain a line break&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| active&lt;br /&gt;
| Boolean&lt;br /&gt;
| &lt;br /&gt;
| If this rule is active or not&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing flags which are set on this rule. Each flag can only contain the following characters: 1-9 a-z A-Z. Currently 3 flags are reserved here: &amp;quot;spam&amp;quot; which marks the default spam rule, &amp;quot;vacation&amp;quot; which marks the vacation rules and &amp;quot;autoforward&amp;quot; which marks an autoforwarding rule.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| The structure of the different test objects can be found in section [[#Tests|4.1. Tests]]. The valid tests in the current setup can be found in the configuration object &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncmds&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array of action objects whose different structures can be found in section [[#Actions|4.2. Actions]]. The action commands which are valid here can be determined through the config object see Table 24&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing the whole lines of this command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| errormsg&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing a message why, or what part of the rule isn't known&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 1: Structure of a rule''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= The dynamical part =&lt;br /&gt;
== Tests ==&lt;br /&gt;
In this section you will find the structures of all test commands which are specified until now. First a complete list of all test commands is given with a short description of them, afterwards a complete list of all comparison as they belong to the test section. Finally the different objects for those test commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  id=&amp;quot;Table 2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| address&lt;br /&gt;
| This test type applies to addresses only. So it may be used for all header fields which contain addresses. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| envelope&lt;br /&gt;
| This test applies to the envelope of a mail. This test isn't used under normal circumstances as the envelope isn't accessible in all mail setups. This test returns true if any combination of the header-list and values-list arguments match'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| true&lt;br /&gt;
| A test for a true result (can be used if an action command should be executed every time)'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| not&lt;br /&gt;
| Negates a given test'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Deals with the size of the mail'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| currentdate&lt;br /&gt;
| Compares a given date with the current date ('''available with 6.20''')&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| header&lt;br /&gt;
| Tests against all headers of a mail. So with this test in contrast to the address test also fields such as subject can be handled. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body&lt;br /&gt;
| Tests against the content of a mail.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| allof&lt;br /&gt;
| Defines an AND condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| anyof&lt;br /&gt;
| Defines an OR condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 2: List of all possible tests''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| If a field is equal to a given value&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| contains&lt;br /&gt;
| If a field contains a given value at any position&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| matches&lt;br /&gt;
| Tests if the value matches the value in the specified field. Here some wild cards can be used. &amp;quot;*&amp;quot; matches zero or more characters, and &amp;quot;?&amp;quot; matches a single character. To use the characters themselves they have to be escaped via a backslash.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| regex&lt;br /&gt;
| Tests if a given regular expression matches with the value present in the specified field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| user&lt;br /&gt;
| Tests if the user part of an e-mail address is the value given here. This means in [mailto:herbert+mustermann@example.com herbert+mustermann@example.com]. The user checks the part herbert.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| detail&lt;br /&gt;
| Tests if the detail part of an e-mail address is the value given here. In the example above this evaluates to mustermann.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| all&lt;br /&gt;
| Tests if the e-mail address is the value given here. This means in [mailto:herbert.mustermann@example.com herbert.mustermann@example.com], the all checks the entire e-mail address (Since 7.8.3)&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| localpart&lt;br /&gt;
| Tests if the local part of an e-mail address is the value given here. This means in [mailto:herbert.mustermann@example.com herbert.mustermann@example.com], the localpart checks the part herbert.mustermann (Since 7.8.3).&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| domain&lt;br /&gt;
| Tests if the domain part of an e-mail address is the value given here. This means in [mailto:herbert.mustermann@example.com herbert.mustermann@example.com], the domain checks the part example.com (Since 7.8.3).&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 3: List of all possible comparisons''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 4&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| address&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 4: Structure of address-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| envelope&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 5: Structure of envelope-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 6&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| true&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 6: Structure of true-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 7&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| not&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| One of the test objects which result will be negated&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 7: Structure of not-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 8&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| size&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only two types are valid here. A description can be found in [[#Table 9|Table 9]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Number&lt;br /&gt;
| &lt;br /&gt;
| A number specifying the size for this comparison, in bytes.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 8: Structure of size-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 9&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| over&lt;br /&gt;
| Used in the size test to check for a value greater than the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| under&lt;br /&gt;
| Used in the size test to check for a value less than the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 9: Types of comparison for size''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;currentdate&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| currentdate&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only three types are valid here. A description can be found in [[#Table 11|Table 11]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datepart&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the string &amp;quot;date&amp;quot;, &amp;quot;weekday&amp;quot; or &amp;quot;time&amp;quot; ('''available with 7.6.1''') as we only allow fix date, time and weekday comparisions for now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datevalue&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A value array containing the corresponding value to the datepart. For &amp;quot;date&amp;quot; and &amp;quot;time&amp;quot; this will be an array of &amp;quot;Date&amp;quot; (unix timestamp). For &amp;quot;weekday&amp;quot;, it will be an array of integers ranging from 0 to 6, reflecting the equivalent weekday, starting from Sunday through Saturday, i.e. 0 - Sunday, ..., 6 - Saturday. The test will be true if any of the values matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 10: Structure of currentdate-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 11&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| Used in the date test to check for a value equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ge&lt;br /&gt;
| Used in the date test to check for a value greater or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| le&lt;br /&gt;
| Used in the date test to check for a value less or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 11: Types of comparison for currentdate''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 12&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| header&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]])&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 12: Structure of header-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 13&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| body&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionskey&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The extension key can be one of the value found in [[#Table 12|Table 12]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionsvalue&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A value for the given key. If the key has no value (see [[#Table 12|Table 12]] for this information) the value given here is ignored&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the body. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 13: Structure of body-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 14&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| content&lt;br /&gt;
| An extension used in conjunction with the body test to define the content which should be considered. This extension will need a parameter specifying the mime-type of the part of the message which will be searched.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| An extension used in conjunction with the body test to define that only the text of the body should be considered in this test. This extension takes no parameter&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 14: List of possible extensions''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 15&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| allof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 15: Structure of allof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 16&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| anyof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 16: Structure of anyof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actions ==&lt;br /&gt;
In this section you will find the structures of all action commands which are specified until now. First a complete list of all action commands is given with a short description of them, later on the different objects for those commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 17&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keep&lt;br /&gt;
| Keeps a mail non changed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| discard&lt;br /&gt;
| Discards a mail without any processing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| redirect&lt;br /&gt;
| Redirects a mail to a given e-mail address&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| move&lt;br /&gt;
| Moves a mail into a given subfolder. The syntax for the subfolder given here. Must be the correct syntax of the underlying IMAP-server. So it is up to the GUI to detect things such as altnamespace or unixhierarchysep.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| reject&lt;br /&gt;
| Rejects the mail with a given text&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| stop&lt;br /&gt;
| Stops any further progressing of a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| vacation&lt;br /&gt;
| Creates a vacation mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addflags&lt;br /&gt;
| Adds flags to a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| notify&lt;br /&gt;
| adds a notification&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pgp&lt;br /&gt;
| encrypts a mail via pgp&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 17: List of possible action commands''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 18&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| keep&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 18: Structure of keep-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 19&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| discard&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 19: Structure of discard-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| redirect&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| to&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing where the mail should be redirected to&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keep&lt;br /&gt;
| boolean&lt;br /&gt;
| &lt;br /&gt;
| A boolean flag indicating whether a copy of the e-mail will be kept in the local INBOX (Since 7.8.3)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 20: Structure of redirect-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 21&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| move&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| into&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| This string takes the object id of the destination mail folder as specified in the HTTP API of the groupware&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 21: Structure of move-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 22&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| reject&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the reason why the mail is rejected&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 22: Structure of reject-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 23&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| stop&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 23: Structure of stop-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 24&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| vacation&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| days&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The days for which a vacation text is returned&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addresses&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The addresses for which this vacation is responsible. That means for which addresses out of the aliases array of the user defining this filter, vacations will be sent.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| from&lt;br /&gt;
| String or Array&lt;br /&gt;
| &lt;br /&gt;
| Support for the ':from' tag. Specifies the value of the from header for the auto-reply mail, e.g. Foo Bear &amp;lt;foo.bear@ox.io&amp;gt; (Since 7.8.1). The array of strings should be a simple JSONArray with length 2; the first element should include the personal part of the e-mail address and the second element the actual e-mail address. If only the e-mail address is available, that should be the only element of the array.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| subject&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The new subject for the returned message (can be left empty, when only adding RE:)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The vacation text itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 24: Structure of vacation-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 25&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| addflags&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the flags which should be added to that mail. A flag can be either a system flag or a user flag. System flags begin with a backslash (\) and can be one of the following:&lt;br /&gt;
* \seen&lt;br /&gt;
* \answered&lt;br /&gt;
* \flagged&lt;br /&gt;
* \deleted&lt;br /&gt;
* \draft&lt;br /&gt;
* \recent&lt;br /&gt;
System flags are case-insensitive.&lt;br /&gt;
&lt;br /&gt;
User flags begin with a dollar sign ($) and can contain any ASCII characters between 0x21 (!) and 0x7E (~), inclusive, except for the characters 0x22, 0x25, 0x28, 0x29, 0x2A, 0x5C, 0x5D and 0x7B, which correspond to&lt;br /&gt;
 &amp;quot;%()*\]{&lt;br /&gt;
Mail color flags as used by OX are implemented by user flags of the form $cl_''n'', where ''n'' is a number between 1 and 10, includive.&lt;br /&gt;
&lt;br /&gt;
See RFC 3501 for further details on IMAP flags and their meanings.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 25: Structure of addflags-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 26&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| notify&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| message&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the content of the notification message&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the method of the notification message, e.g. &amp;lt;pre&amp;gt;&amp;quot;mailto:012345678@sms.gateway&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 26: Structure of notify-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 27&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| pgp&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keys&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The public keys as string which should be used for encryption&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 27: Structure of pgp-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requests =&lt;br /&gt;
== Get the configuration of the mail filter backend ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An object describing the configuration like described in [[#Table 28|Table 28]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 28&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing test-objects like described in [[#Table 29|Table 29]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncommands&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the valid action commands as strings. A list of all possible values can be found in [[#Table 17|Table 17]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 28: Config object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 29&amp;quot;  cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name for the test. A list of all possible tests can be found in [[#Table 2|Table 2]]. The corresponding objects can be used in the test field in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the valid comparison types for this test. Possible values are given in [[#Table 3|Table 3]]. Values given in this array can be used in the comparison field in &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 29: Test object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get all mail filter rules ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=list&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;flag&amp;lt;/tt&amp;gt; If given, only rules with this flag are returned&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An array of rule objects like described in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
== Create a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=new&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]]. If the field &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt; is included in [[#Table 1|Table 1]] it's taken as the position of the rule in the array on the server side. Note that this value shouldn't be greater than the size of all rules&lt;br /&gt;
&lt;br /&gt;
Response body: An integer for the id of the new created rule.&lt;br /&gt;
&lt;br /&gt;
== Delete a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=delete&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An object with the field &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Reorder mail filter rules ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=reorder&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An array of unique ids which represents how the rule with the corresponding unique ids are ordered&lt;br /&gt;
&lt;br /&gt;
== Update a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=update&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]] with the &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; set (which identifies the rule to change). Only modified fields are present.&lt;br /&gt;
&lt;br /&gt;
== Delete the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=deletescript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to kick a whole script if it contains errors in the grammar.&lt;br /&gt;
&lt;br /&gt;
== Get the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=getscript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: A text of the complete sieve script&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to get the plaintext of a complete script.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=22438</id>
		<title>HTTP API MailFilter</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=22438"/>
		<updated>2016-10-11T09:36:19Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''Open-Xchange Mail Filter HTTP API'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document describes only the mail filter HTTP-API. So it's only a part which must be embedded into something which counts for login/logout, session handling and low-level protocol issues such as error handling. At the moment this will be the groupware server. So the modules needed for basic operations can be found there.&lt;br /&gt;
&lt;br /&gt;
= Module mailfilter =&lt;br /&gt;
This module is used to access all mail filter related options.&lt;br /&gt;
&lt;br /&gt;
First of all the main structure of a mail filter script is, that it has different rules. Each of them contains one command. This command takes a test condition which executes the actions given in that command if the test condition is true.&lt;br /&gt;
&lt;br /&gt;
The test condition consists of a test command and some arguments for this command depending on the command itself. Because the available tests depend on the mail filter server, these tests must be determined at runtime. So that no test field is transferred to the server which it isn't able to handle. Examples for tests are &amp;lt;tt&amp;gt;address&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;allof&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;anyof&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each test has a special comparison. The list of available comparisons depends on the test given and the mail filter server configuration so they have to be determined at runtime too.&lt;br /&gt;
&lt;br /&gt;
Each time you want to do some action on a mail you need a so called action command. This describes what to do with a mail. To action commands the same applies as to the test commands and their comparison types, they must be determined at runtime.&lt;br /&gt;
&lt;br /&gt;
All those dynamical values can be fetched via a config object at startup. This object shows the capabilities of the server to the client. This allows the client to show only the capabilities the server actually has to the user and to send only objects to the server which produce no errors on the server side.&lt;br /&gt;
&lt;br /&gt;
To deal with this high flexibility of mail filters this specification can be roughly divided into 2 parts. A non-changing core and dynamical extensions. The core specification is that each rule consists of a name, an ID, a value showing if this rule is active or not and a tag which can be set on a rule to mark that rule for a special purpose. Furthermore each rule takes a test object, specifying in what case the following actions are triggered, and one or many actioncommands, specifying the actions itself. For a detailed specification see [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
The objects for the tests and the actions are dynamical, so the set presented in this specification may be changed over the time, but only compatible changes are allowed to the objects, otherwise new test or action objects have to be introduced. Due to the fact that not every sieve implementation will offer all the capabilities written in this document, the server will sent his configuration if a special request is made. This configuration will show which of the tests and which of the actions are allowed. So for example if the server signals that it is capable of handling vacation, sending a vacation object as action is safe.&lt;br /&gt;
&lt;br /&gt;
Furthermore some tests use a comparison field as stated above which specifies how the fields are compared. The values of this field must also be determined at runtime. So in the configuration object there is a special part which shows the comparisons which are available. Note that not all comparisons can be used with every test. Some of them are denoted to a special test, which can be found in the [[#Table 3|Table 3]].&lt;br /&gt;
&lt;br /&gt;
= The core =&lt;br /&gt;
As written in the introduction the main part of a mail filter are the rules. A rule object will always have the structure you can see in the table below ([[#Table 1|Table 1]]). The dynamical parts are the test, which are represented by different options, see [[#Tests|4.1. Tests]], and the actions, also represented in [[#Actions|4.2. Actions]]. Note that the test and actioncmds fields and the text and errormsg fields are mutual exclusive. So if test and actioncmds fields are filled the text and errormsg fields are not present and vice versa.&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 1&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| A unique identifier (once created must not be changed)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The position inside the mail filter list. Starts with 0&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rulename&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name describing the rule, can be empty but must not contain a line break&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| active&lt;br /&gt;
| Boolean&lt;br /&gt;
| &lt;br /&gt;
| If this rule is active or not&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing flags which are set on this rule. Each flag can only contain the following characters: 1-9 a-z A-Z. Currently 3 flags are reserved here: &amp;quot;spam&amp;quot; which marks the default spam rule, &amp;quot;vacation&amp;quot; which marks the vacation rules and &amp;quot;autoforward&amp;quot; which marks an autoforwarding rule.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| The structure of the different test objects can be found in section [[#Tests|4.1. Tests]]. The valid tests in the current setup can be found in the configuration object &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncmds&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array of action objects whose different structures can be found in section [[#Actions|4.2. Actions]]. The action commands which are valid here can be determined through the config object see Table 24&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing the whole lines of this command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| errormsg&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing a message why, or what part of the rule isn't known&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 1: Structure of a rule''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= The dynamical part =&lt;br /&gt;
== Tests ==&lt;br /&gt;
In this section you will find the structures of all test commands which are specified until now. First a complete list of all test commands is given with a short description of them, afterwards a complete list of all comparison as they belong to the test section. Finally the different objects for those test commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  id=&amp;quot;Table 2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| address&lt;br /&gt;
| This test type applies to addresses only. So it may be used for all header fields which contain addresses. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| envelope&lt;br /&gt;
| This test applies to the envelope of a mail. This test isn't used under normal circumstances as the envelope isn't accessible in all mail setups. This test returns true if any combination of the header-list and values-list arguments match'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| true&lt;br /&gt;
| A test for a true result (can be used if an action command should be executed every time)'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| not&lt;br /&gt;
| Negates a given test'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Deals with the size of the mail'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| currentdate&lt;br /&gt;
| Compares a given date with the current date ('''available with 6.20''')&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| header&lt;br /&gt;
| Tests against all headers of a mail. So with this test in contrast to the address test also fields such as subject can be handled. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body&lt;br /&gt;
| Tests against the content of a mail.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| allof&lt;br /&gt;
| Defines an AND condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| anyof&lt;br /&gt;
| Defines an OR condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 2: List of all possible tests''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| If a field is equal to a given value&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| contains&lt;br /&gt;
| If a field contains a given value at any position&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| matches&lt;br /&gt;
| Tests if the value matches the value in the specified field. Here some wild cards can be used. &amp;quot;*&amp;quot; matches zero or more characters, and &amp;quot;?&amp;quot; matches a single character. To use the characters themselves they have to be escaped via a backslash.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| regex&lt;br /&gt;
| Tests if a given regular expression matches with the value present in the specified field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| user&lt;br /&gt;
| Tests if the user part of an e-mail address is the value given here. This means in [mailto:herbert+mustermann@example.com herbert+mustermann@example.com]. The user checks the part herbert.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| detail&lt;br /&gt;
| Tests if the detail part of an e-mail address is the value given here. In the example above this evaluates to mustermann.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| all&lt;br /&gt;
| Tests if the e-mail address is the value given here. This means in [mailto:herbert.mustermann@example.com herbert.mustermann@example.com], the all checks the entire e-mail address (Since 7.8.3)&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| localpart&lt;br /&gt;
| Tests if the local part of an e-mail address is the value given here. This means in [mailto:herbert.mustermann@example.com herbert.mustermann@example.com], the localpart checks the part herbert.mustermann (Since 7.8.3).&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| domain&lt;br /&gt;
| Tests if the domain part of an e-mail address is the value given here. This means in [mailto:herbert.mustermann@example.com herbert.mustermann@example.com], the domain checks the part example.com (Since 7.8.3).&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 3: List of all possible comparisons''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 4&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| address&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 4: Structure of address-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| envelope&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 5: Structure of envelope-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 6&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| true&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 6: Structure of true-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 7&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| not&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| One of the test objects which result will be negated&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 7: Structure of not-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 8&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| size&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only two types are valid here. A description can be found in [[#Table 9|Table 9]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Number&lt;br /&gt;
| &lt;br /&gt;
| A number specifying the size for this comparison, in bytes.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 8: Structure of size-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 9&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| over&lt;br /&gt;
| Used in the size test to check for a value greater than the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| under&lt;br /&gt;
| Used in the size test to check for a value less than the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 9: Types of comparison for size''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;currentdate&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| currentdate&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only three types are valid here. A description can be found in [[#Table 11|Table 11]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datepart&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the string &amp;quot;date&amp;quot;, &amp;quot;weekday&amp;quot; or &amp;quot;time&amp;quot; ('''available with 7.6.1''') as we only allow fix date, time and weekday comparisions for now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datevalue&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A value array containing the corresponding value to the datepart. For &amp;quot;date&amp;quot; and &amp;quot;time&amp;quot; this will be an array of &amp;quot;Date&amp;quot; (unix timestamp). For &amp;quot;weekday&amp;quot;, it will be an array of integers ranging from 0 to 6, reflecting the equivalent weekday, starting from Sunday through Saturday, i.e. 0 - Sunday, ..., 6 - Saturday. The test will be true if any of the values matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 10: Structure of currentdate-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 11&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| Used in the date test to check for a value equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ge&lt;br /&gt;
| Used in the date test to check for a value greater or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| le&lt;br /&gt;
| Used in the date test to check for a value less or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 11: Types of comparison for currentdate''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 12&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| header&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]])&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 12: Structure of header-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 13&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| body&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionskey&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The extension key can be one of the value found in [[#Table 12|Table 12]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionsvalue&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A value for the given key. If the key has no value (see [[#Table 12|Table 12]] for this information) the value given here is ignored&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the body. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 13: Structure of body-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 14&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| content&lt;br /&gt;
| An extension used in conjunction with the body test to define the content which should be considered. This extension will need a parameter specifying the mime-type of the part of the message which will be searched.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| An extension used in conjunction with the body test to define that only the text of the body should be considered in this test. This extension takes no parameter&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 14: List of possible extensions''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 15&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| allof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 15: Structure of allof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 16&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| anyof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 16: Structure of anyof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actions ==&lt;br /&gt;
In this section you will find the structures of all action commands which are specified until now. First a complete list of all action commands is given with a short description of them, later on the different objects for those commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 17&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keep&lt;br /&gt;
| Keeps a mail non changed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| discard&lt;br /&gt;
| Discards a mail without any processing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| redirect&lt;br /&gt;
| Redirects a mail to a given e-mail address&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| move&lt;br /&gt;
| Moves a mail into a given subfolder. The syntax for the subfolder given here. Must be the correct syntax of the underlying IMAP-server. So it is up to the GUI to detect things such as altnamespace or unixhierarchysep.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| reject&lt;br /&gt;
| Rejects the mail with a given text&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| stop&lt;br /&gt;
| Stops any further progressing of a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| vacation&lt;br /&gt;
| Creates a vacation mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addflags&lt;br /&gt;
| Adds flags to a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| notify&lt;br /&gt;
| adds a notification&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pgp&lt;br /&gt;
| encrypts a mail via pgp&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 17: List of possible action commands''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 18&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| keep&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 18: Structure of keep-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 19&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| discard&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 19: Structure of discard-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| redirect&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| to&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing where the mail should be redirected to&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 20: Structure of redirect-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 21&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| move&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| into&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| This string takes the object id of the destination mail folder as specified in the HTTP API of the groupware&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 21: Structure of move-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 22&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| reject&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the reason why the mail is rejected&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 22: Structure of reject-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 23&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| stop&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 23: Structure of stop-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 24&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| vacation&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| days&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The days for which a vacation text is returned&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addresses&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The addresses for which this vacation is responsible. That means for which addresses out of the aliases array of the user defining this filter, vacations will be sent.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| from&lt;br /&gt;
| String or Array&lt;br /&gt;
| &lt;br /&gt;
| Support for the ':from' tag. Specifies the value of the from header for the auto-reply mail, e.g. Foo Bear &amp;lt;foo.bear@ox.io&amp;gt; (Since 7.8.1). The array of strings should be a simple JSONArray with length 2; the first element should include the personal part of the e-mail address and the second element the actual e-mail address. If only the e-mail address is available, that should be the only element of the array.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| subject&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The new subject for the returned message (can be left empty, when only adding RE:)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The vacation text itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 24: Structure of vacation-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 25&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| addflags&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the flags which should be added to that mail. A flag can be either a system flag or a user flag. System flags begin with a backslash (\) and can be one of the following:&lt;br /&gt;
* \seen&lt;br /&gt;
* \answered&lt;br /&gt;
* \flagged&lt;br /&gt;
* \deleted&lt;br /&gt;
* \draft&lt;br /&gt;
* \recent&lt;br /&gt;
System flags are case-insensitive.&lt;br /&gt;
&lt;br /&gt;
User flags begin with a dollar sign ($) and can contain any ASCII characters between 0x21 (!) and 0x7E (~), inclusive, except for the characters 0x22, 0x25, 0x28, 0x29, 0x2A, 0x5C, 0x5D and 0x7B, which correspond to&lt;br /&gt;
 &amp;quot;%()*\]{&lt;br /&gt;
Mail color flags as used by OX are implemented by user flags of the form $cl_''n'', where ''n'' is a number between 1 and 10, includive.&lt;br /&gt;
&lt;br /&gt;
See RFC 3501 for further details on IMAP flags and their meanings.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 25: Structure of addflags-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 26&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| notify&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| message&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the content of the notification message&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the method of the notification message, e.g. &amp;lt;pre&amp;gt;&amp;quot;mailto:012345678@sms.gateway&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 26: Structure of notify-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 27&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| pgp&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keys&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The public keys as string which should be used for encryption&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 27: Structure of pgp-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requests =&lt;br /&gt;
== Get the configuration of the mail filter backend ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An object describing the configuration like described in [[#Table 28|Table 28]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 28&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing test-objects like described in [[#Table 29|Table 29]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncommands&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the valid action commands as strings. A list of all possible values can be found in [[#Table 17|Table 17]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 28: Config object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 29&amp;quot;  cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name for the test. A list of all possible tests can be found in [[#Table 2|Table 2]]. The corresponding objects can be used in the test field in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the valid comparison types for this test. Possible values are given in [[#Table 3|Table 3]]. Values given in this array can be used in the comparison field in &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 29: Test object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get all mail filter rules ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=list&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;flag&amp;lt;/tt&amp;gt; If given, only rules with this flag are returned&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An array of rule objects like described in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
== Create a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=new&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]]. If the field &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt; is included in [[#Table 1|Table 1]] it's taken as the position of the rule in the array on the server side. Note that this value shouldn't be greater than the size of all rules&lt;br /&gt;
&lt;br /&gt;
Response body: An integer for the id of the new created rule.&lt;br /&gt;
&lt;br /&gt;
== Delete a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=delete&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An object with the field &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Reorder mail filter rules ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=reorder&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An array of unique ids which represents how the rule with the corresponding unique ids are ordered&lt;br /&gt;
&lt;br /&gt;
== Update a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=update&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]] with the &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; set (which identifies the rule to change). Only modified fields are present.&lt;br /&gt;
&lt;br /&gt;
== Delete the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=deletescript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to kick a whole script if it contains errors in the grammar.&lt;br /&gt;
&lt;br /&gt;
== Get the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=getscript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: A text of the complete sieve script&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to get the plaintext of a complete script.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=21220</id>
		<title>HTTP API MailFilter</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=21220"/>
		<updated>2016-01-11T11:37:09Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Actions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''Open-Xchange Mail Filter HTTP API'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document describes only the mail filter HTTP-API. So it's only a part which must be embedded into something which counts for login/logout, session handling and low-level protocol issues such as error handling. At the moment this will be the groupware server. So the modules needed for basic operations can be found there.&lt;br /&gt;
&lt;br /&gt;
= Module mailfilter =&lt;br /&gt;
This module is used to access all mail filter related options.&lt;br /&gt;
&lt;br /&gt;
First of all the main structure of a mail filter script is, that it has different rules. Each of them contains one command. This command takes a test condition which executes the actions given in that command if the test condition is true.&lt;br /&gt;
&lt;br /&gt;
The test condition consists of a test command and some arguments for this command depending on the command itself. Because the available tests depend on the mail filter server, these tests must be determined at runtime. So that no test field is transferred to the server which it isn't able to handle. Examples for tests are &amp;lt;tt&amp;gt;address&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;allof&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;anyof&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each test has a special comparison. The list of available comparisons depends on the test given and the mail filter server configuration so they have to be determined at runtime too.&lt;br /&gt;
&lt;br /&gt;
Each time you want to do some action on a mail you need a so called action command. This describes what to do with a mail. To action commands the same applies as to the test commands and their comparison types, they must be determined at runtime.&lt;br /&gt;
&lt;br /&gt;
All those dynamical values can be fetched via a config object at startup. This object shows the capabilities of the server to the client. This allows the client to show only the capabilities the server actually has to the user and to send only objects to the server which produce no errors on the server side.&lt;br /&gt;
&lt;br /&gt;
To deal with this high flexibility of mail filters this specification can be roughly divided into 2 parts. A non-changing core and dynamical extensions. The core specification is that each rule consists of a name, an ID, a value showing if this rule is active or not and a tag which can be set on a rule to mark that rule for a special purpose. Furthermore each rule takes a test object, specifying in what case the following actions are triggered, and one or many actioncommands, specifying the actions itself. For a detailed specification see [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
The objects for the tests and the actions are dynamical, so the set presented in this specification may be changed over the time, but only compatible changes are allowed to the objects, otherwise new test or action objects have to be introduced. Due to the fact that not every sieve implementation will offer all the capabilities written in this document, the server will sent his configuration if a special request is made. This configuration will show which of the tests and which of the actions are allowed. So for example if the server signals that it is capable of handling vacation, sending a vacation object as action is safe.&lt;br /&gt;
&lt;br /&gt;
Furthermore some tests use a comparison field as stated above which specifies how the fields are compared. The values of this field must also be determined at runtime. So in the configuration object there is a special part which shows the comparisons which are available. Note that not all comparisons can be used with every test. Some of them are denoted to a special test, which can be found in the [[#Table 3|Table 3]].&lt;br /&gt;
&lt;br /&gt;
= The core =&lt;br /&gt;
As written in the introduction the main part of a mail filter are the rules. A rule object will always have the structure you can see in the table below ([[#Table 1|Table 1]]). The dynamical parts are the test, which are represented by different options, see [[#Tests|4.1. Tests]], and the actions, also represented in [[#Actions|4.2. Actions]]. Note that the test and actioncmds fields and the text and errormsg fields are mutual exclusive. So if test and actioncmds fields are filled the text and errormsg fields are not present and vice versa.&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 1&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| A unique identifier (once created must not be changed)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The position inside the mail filter list. Starts with 0&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rulename&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name describing the rule, can be empty but must not contain a line break&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| active&lt;br /&gt;
| Boolean&lt;br /&gt;
| &lt;br /&gt;
| If this rule is active or not&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing flags which are set on this rule. Each flag can only contain the following characters: 1-9 a-z A-Z. Currently 3 flags are reserved here: &amp;quot;spam&amp;quot; which marks the default spam rule, &amp;quot;vacation&amp;quot; which marks the vacation rules and &amp;quot;autoforward&amp;quot; which marks an autoforwarding rule.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| The structure of the different test objects can be found in section [[#Tests|4.1. Tests]]. The valid tests in the current setup can be found in the configuration object &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncmds&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array of action objects whose different structures can be found in section [[#Actions|4.2. Actions]]. The action commands which are valid here can be determined through the config object see Table 24&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing the whole lines of this command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| errormsg&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing a message why, or what part of the rule isn't known&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 1: Structure of a rule''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= The dynamical part =&lt;br /&gt;
== Tests ==&lt;br /&gt;
In this section you will find the structures of all test commands which are specified until now. First a complete list of all test commands is given with a short description of them, afterwards a complete list of all comparison as they belong to the test section. Finally the different objects for those test commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  id=&amp;quot;Table 2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| address&lt;br /&gt;
| This test type applies to addresses only. So it may be used for all header fields which contain addresses. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| envelope&lt;br /&gt;
| This test applies to the envelope of a mail. This test isn't used under normal circumstances as the envelope isn't accessible in all mail setups. This test returns true if any combination of the header-list and values-list arguments match'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| true&lt;br /&gt;
| A test for a true result (can be used if an action command should be executed every time)'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| not&lt;br /&gt;
| Negates a given test'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Deals with the size of the mail'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| currentdate&lt;br /&gt;
| Compares a given date with the current date ('''available with 6.20''')&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| header&lt;br /&gt;
| Tests against all headers of a mail. So with this test in contrast to the address test also fields such as subject can be handled. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body&lt;br /&gt;
| Tests against the content of a mail.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| allof&lt;br /&gt;
| Defines an AND condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| anyof&lt;br /&gt;
| Defines an OR condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 2: List of all possible tests''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| If a field is equal to a given value&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| contains&lt;br /&gt;
| If a field contains a given value at any position&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| matches&lt;br /&gt;
| Tests if the value matches the value in the specified field. Here some wild cards can be used. &amp;quot;*&amp;quot; matches zero or more characters, and &amp;quot;?&amp;quot; matches a single character. To use the characters themselves they have to be escaped via a backslash.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| regex&lt;br /&gt;
| Tests if a given regular expression matches with the value present in the specified field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| user&lt;br /&gt;
| Tests if the user part of an e-mail address is the value given here. This means in [mailto:herbert+mustermann@example.com herbert+mustermann@example.com]. The user checks the part herbert.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| detail&lt;br /&gt;
| Tests if the detail part of an e-mail address is the value given here. In the example above this evaluates to mustermann.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 3: List of all possible comparisons''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 4&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| address&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 4: Structure of address-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| envelope&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 5: Structure of envelope-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 6&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| true&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 6: Structure of true-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 7&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| not&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| One of the test objects which result will be negated&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 7: Structure of not-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 8&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| size&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only two types are valid here. A description can be found in [[#Table 9|Table 9]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Number&lt;br /&gt;
| &lt;br /&gt;
| A number specifying the size for this comparison, in bytes.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 8: Structure of size-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 9&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| over&lt;br /&gt;
| Used in the size test to check for a value greater than the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| under&lt;br /&gt;
| Used in the size test to check for a value less than the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 9: Types of comparison for size''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;currentdate&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| currentdate&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only three types are valid here. A description can be found in [[#Table 11|Table 11]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datepart&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the string &amp;quot;date&amp;quot;, &amp;quot;weekday&amp;quot; or &amp;quot;time&amp;quot; ('''available with 7.6.1''') as we only allow fix date, time and weekday comparisions for now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datevalue&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A value array containing the corresponding value to the datepart. For &amp;quot;date&amp;quot; and &amp;quot;time&amp;quot; this will be an array of &amp;quot;Date&amp;quot; (unix timestamp). For &amp;quot;weekday&amp;quot;, it will be an array of integers ranging from 0 to 6, reflecting the equivalent weekday, starting from Sunday through Saturday, i.e. 0 - Sunday, ..., 6 - Saturday. The test will be true if any of the values matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 10: Structure of currentdate-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 11&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| Used in the date test to check for a value equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ge&lt;br /&gt;
| Used in the date test to check for a value greater or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| le&lt;br /&gt;
| Used in the date test to check for a value less or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 11: Types of comparison for currentdate''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 12&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| header&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]])&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 12: Structure of header-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 13&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| body&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionskey&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The extension key can be one of the value found in [[#Table 12|Table 12]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionsvalue&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A value for the given key. If the key has no value (see [[#Table 12|Table 12]] for this information) the value given here is ignored&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the body. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 13: Structure of body-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 14&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| content&lt;br /&gt;
| An extension used in conjunction with the body test to define the content which should be considered. This extension will need a parameter specifying the mime-type of the part of the message which will be searched.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| An extension used in conjunction with the body test to define that only the text of the body should be considered in this test. This extension takes no parameter&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 14: List of possible extensions''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 15&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| allof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 15: Structure of allof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 16&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| anyof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 16: Structure of anyof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actions ==&lt;br /&gt;
In this section you will find the structures of all action commands which are specified until now. First a complete list of all action commands is given with a short description of them, later on the different objects for those commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 17&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keep&lt;br /&gt;
| Keeps a mail non changed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| discard&lt;br /&gt;
| Discards a mail without any processing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| redirect&lt;br /&gt;
| Redirects a mail to a given e-mail address&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| move&lt;br /&gt;
| Moves a mail into a given subfolder. The syntax for the subfolder given here. Must be the correct syntax of the underlying IMAP-server. So it is up to the GUI to detect things such as altnamespace or unixhierarchysep.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| reject&lt;br /&gt;
| Rejects the mail with a given text&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| stop&lt;br /&gt;
| Stops any further progressing of a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| vacation&lt;br /&gt;
| Creates a vacation mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addflags&lt;br /&gt;
| Adds flags to a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| notify&lt;br /&gt;
| adds a notification&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pgp&lt;br /&gt;
| encrypts a mail via pgp&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 17: List of possible action commands''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 18&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| keep&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 18: Structure of keep-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 19&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| discard&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 19: Structure of discard-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| redirect&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| to&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing where the mail should be redirected to&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 20: Structure of redirect-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 21&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| move&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| into&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| This string takes the object id of the destination mail folder as specified in the HTTP API of the groupware&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 21: Structure of move-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 22&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| reject&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the reason why the mail is rejected&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 22: Structure of reject-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 23&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| stop&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 23: Structure of stop-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 24&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| vacation&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| days&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The days for which a vacation text is returned&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addresses&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The addresses for which this vacation is responsible. That means for which addresses out of the aliases array of the user defining this filter, vacations will be sent.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| from&lt;br /&gt;
| String or Array&lt;br /&gt;
| &lt;br /&gt;
| Support for the ':from' tag. Specifies the value of the from header for the auto-reply mail, e.g. Foo Bear &amp;lt;foo.bear@ox.io&amp;gt; (Since 7.8.1). The array of strings should be a simple JSONArray with length 2; the first element should include the personal part of the e-mail address and the second element the actual e-mail address. If only the e-mail address is available, that should be the only element of the array.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| subject&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The new subject for the returned message (can be left empty, when only adding RE:)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The vacation text itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 24: Structure of vacation-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 25&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| addflags&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the flags which should be added to that mail. A flag can be either a system flag or a user flag. System flags begin with a backslash (\) and can be one of the following:&lt;br /&gt;
* \seen&lt;br /&gt;
* \answered&lt;br /&gt;
* \flagged&lt;br /&gt;
* \deleted&lt;br /&gt;
* \draft&lt;br /&gt;
* \recent&lt;br /&gt;
System flags are case-insensitive.&lt;br /&gt;
&lt;br /&gt;
User flags begin with a dollar sign ($) and can contain any ASCII characters between 0x21 (!) and 0x7E (~), inclusive, except for the characters 0x22, 0x25, 0x28, 0x29, 0x2A, 0x5C, 0x5D and 0x7B, which correspond to&lt;br /&gt;
 &amp;quot;%()*\]{&lt;br /&gt;
Mail color flags as used by OX are implemented by user flags of the form $cl_''n'', where ''n'' is a number between 1 and 10, includive.&lt;br /&gt;
&lt;br /&gt;
See RFC 3501 for further details on IMAP flags and their meanings.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 25: Structure of addflags-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 26&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| notify&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| message&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the content of the notification message&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the method of the notification message, e.g. &amp;lt;pre&amp;gt;&amp;quot;mailto:012345678@sms.gateway&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 26: Structure of notify-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 27&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| pgp&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keys&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The public keys as string which should be used for encryption&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 27: Structure of pgp-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requests =&lt;br /&gt;
== Get the configuration of the mail filter backend ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An object describing the configuration like described in [[#Table 28|Table 28]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 28&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing test-objects like described in [[#Table 29|Table 29]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncommands&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the valid action commands as strings. A list of all possible values can be found in [[#Table 17|Table 17]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 28: Config object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 29&amp;quot;  cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name for the test. A list of all possible tests can be found in [[#Table 2|Table 2]]. The corresponding objects can be used in the test field in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the valid comparison types for this test. Possible values are given in [[#Table 3|Table 3]]. Values given in this array can be used in the comparison field in &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 29: Test object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get all mail filter rules ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=list&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;flag&amp;lt;/tt&amp;gt; If given, only rules with this flag are returned&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An array of rule objects like described in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
== Create a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=new&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]]. If the field &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt; is included in [[#Table 1|Table 1]] it's taken as the position of the rule in the array on the server side. Note that this value shouldn't be greater than the size of all rules&lt;br /&gt;
&lt;br /&gt;
Response body: An integer for the id of the new created rule.&lt;br /&gt;
&lt;br /&gt;
== Delete a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=delete&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An object with the field &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Reorder mail filter rules ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=reorder&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An array of unique ids which represents how the rule with the corresponding unique ids are ordered&lt;br /&gt;
&lt;br /&gt;
== Update a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=update&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]] with the &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; set (which identifies the rule to change). Only modified fields are present.&lt;br /&gt;
&lt;br /&gt;
== Delete the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=deletescript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to kick a whole script if it contains errors in the grammar.&lt;br /&gt;
&lt;br /&gt;
== Get the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=getscript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: A text of the complete sieve script&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to get the plaintext of a complete script.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=20773</id>
		<title>HTTP API MailFilter</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=20773"/>
		<updated>2015-10-14T11:43:10Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''Open-Xchange Mail Filter HTTP API'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document describes only the mail filter HTTP-API. So it's only a part which must be embedded into something which counts for login/logout, session handling and low-level protocol issues such as error handling. At the moment this will be the groupware server. So the modules needed for basic operations can be found there.&lt;br /&gt;
&lt;br /&gt;
= Module mailfilter =&lt;br /&gt;
This module is used to access all mail filter related options.&lt;br /&gt;
&lt;br /&gt;
First of all the main structure of a mail filter script is, that it has different rules. Each of them contains one command. This command takes a test condition which executes the actions given in that command if the test condition is true.&lt;br /&gt;
&lt;br /&gt;
The test condition consists of a test command and some arguments for this command depending on the command itself. Because the available tests depend on the mail filter server, these tests must be determined at runtime. So that no test field is transferred to the server which it isn't able to handle. Examples for tests are &amp;lt;tt&amp;gt;address&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;allof&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;anyof&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each test has a special comparison. The list of available comparisons depends on the test given and the mail filter server configuration so they have to be determined at runtime too.&lt;br /&gt;
&lt;br /&gt;
Each time you want to do some action on a mail you need a so called action command. This describes what to do with a mail. To action commands the same applies as to the test commands and their comparison types, they must be determined at runtime.&lt;br /&gt;
&lt;br /&gt;
All those dynamical values can be fetched via a config object at startup. This object shows the capabilities of the server to the client. This allows the client to show only the capabilities the server actually has to the user and to send only objects to the server which produce no errors on the server side.&lt;br /&gt;
&lt;br /&gt;
To deal with this high flexibility of mail filters this specification can be roughly divided into 2 parts. A non-changing core and dynamical extensions. The core specification is that each rule consists of a name, an ID, a value showing if this rule is active or not and a tag which can be set on a rule to mark that rule for a special purpose. Furthermore each rule takes a test object, specifying in what case the following actions are triggered, and one or many actioncommands, specifying the actions itself. For a detailed specification see [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
The objects for the tests and the actions are dynamical, so the set presented in this specification may be changed over the time, but only compatible changes are allowed to the objects, otherwise new test or action objects have to be introduced. Due to the fact that not every sieve implementation will offer all the capabilities written in this document, the server will sent his configuration if a special request is made. This configuration will show which of the tests and which of the actions are allowed. So for example if the server signals that it is capable of handling vacation, sending a vacation object as action is safe.&lt;br /&gt;
&lt;br /&gt;
Furthermore some tests use a comparison field as stated above which specifies how the fields are compared. The values of this field must also be determined at runtime. So in the configuration object there is a special part which shows the comparisons which are available. Note that not all comparisons can be used with every test. Some of them are denoted to a special test, which can be found in the [[#Table 3|Table 3]].&lt;br /&gt;
&lt;br /&gt;
= The core =&lt;br /&gt;
As written in the introduction the main part of a mail filter are the rules. A rule object will always have the structure you can see in the table below ([[#Table 1|Table 1]]). The dynamical parts are the test, which are represented by different options, see [[#Tests|4.1. Tests]], and the actions, also represented in [[#Actions|4.2. Actions]]. Note that the test and actioncmds fields and the text and errormsg fields are mutual exclusive. So if test and actioncmds fields are filled the text and errormsg fields are not present and vice versa.&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 1&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| A unique identifier (once created must not be changed)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The position inside the mail filter list. Starts with 0&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rulename&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name describing the rule, can be empty but must not contain a line break&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| active&lt;br /&gt;
| Boolean&lt;br /&gt;
| &lt;br /&gt;
| If this rule is active or not&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing flags which are set on this rule. Each flag can only contain the following characters: 1-9 a-z A-Z. Currently 3 flags are reserved here: &amp;quot;spam&amp;quot; which marks the default spam rule, &amp;quot;vacation&amp;quot; which marks the vacation rules and &amp;quot;autoforward&amp;quot; which marks an autoforwarding rule.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| The structure of the different test objects can be found in section [[#Tests|4.1. Tests]]. The valid tests in the current setup can be found in the configuration object &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncmds&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array of action objects whose different structures can be found in section [[#Actions|4.2. Actions]]. The action commands which are valid here can be determined through the config object see Table 24&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing the whole lines of this command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| errormsg&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing a message why, or what part of the rule isn't known&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 1: Structure of a rule''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= The dynamical part =&lt;br /&gt;
== Tests ==&lt;br /&gt;
In this section you will find the structures of all test commands which are specified until now. First a complete list of all test commands is given with a short description of them, afterwards a complete list of all comparison as they belong to the test section. Finally the different objects for those test commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  id=&amp;quot;Table 2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| address&lt;br /&gt;
| This test type applies to addresses only. So it may be used for all header fields which contain addresses. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| envelope&lt;br /&gt;
| This test applies to the envelope of a mail. This test isn't used under normal circumstances as the envelope isn't accessible in all mail setups. This test returns true if any combination of the header-list and values-list arguments match'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| true&lt;br /&gt;
| A test for a true result (can be used if an action command should be executed every time)'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| not&lt;br /&gt;
| Negates a given test'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Deals with the size of the mail'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| currentdate&lt;br /&gt;
| Compares a given date with the current date ('''available with 6.20''')&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| header&lt;br /&gt;
| Tests against all headers of a mail. So with this test in contrast to the address test also fields such as subject can be handled. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body&lt;br /&gt;
| Tests against the content of a mail.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| allof&lt;br /&gt;
| Defines an AND condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| anyof&lt;br /&gt;
| Defines an OR condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 2: List of all possible tests''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| If a field is equal to a given value&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| contains&lt;br /&gt;
| If a field contains a given value at any position&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| matches&lt;br /&gt;
| Tests if the value matches the value in the specified field. Here some wild cards can be used. &amp;quot;*&amp;quot; matches zero or more characters, and &amp;quot;?&amp;quot; matches a single character. To use the characters themselves they have to be escaped via a backslash.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| regex&lt;br /&gt;
| Tests if a given regular expression matches with the value present in the specified field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| user&lt;br /&gt;
| Tests if the user part of an e-mail address is the value given here. This means in [mailto:herbert+mustermann@example.com herbert+mustermann@example.com]. The user checks the part herbert.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| detail&lt;br /&gt;
| Tests if the detail part of an e-mail address is the value given here. In the example above this evaluates to mustermann.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 3: List of all possible comparisons''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 4&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| address&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 4: Structure of address-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| envelope&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 5: Structure of envelope-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 6&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| true&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 6: Structure of true-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 7&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| not&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| One of the test objects which result will be negated&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 7: Structure of not-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 8&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| size&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only two types are valid here. A description can be found in [[#Table 9|Table 9]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Number&lt;br /&gt;
| &lt;br /&gt;
| A number specifying the size for this comparison, in bytes.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 8: Structure of size-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 9&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| over&lt;br /&gt;
| Used in the size test to check for a value greater than the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| under&lt;br /&gt;
| Used in the size test to check for a value less than the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 9: Types of comparison for size''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;currentdate&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| currentdate&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only three types are valid here. A description can be found in [[#Table 11|Table 11]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datepart&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the string &amp;quot;date&amp;quot;, &amp;quot;weekday&amp;quot; or &amp;quot;time&amp;quot; ('''available with 7.6.1''') as we only allow fix date, time and weekday comparisions for now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datevalue&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A value array containing the corresponding value to the datepart. For &amp;quot;date&amp;quot; and &amp;quot;time&amp;quot; this will be an array of &amp;quot;Date&amp;quot; (unix timestamp). For &amp;quot;weekday&amp;quot;, it will be an array of integers ranging from 0 to 6, reflecting the equivalent weekday, starting from Sunday through Saturday, i.e. 0 - Sunday, ..., 6 - Saturday. The test will be true if any of the values matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 10: Structure of currentdate-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 11&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| Used in the date test to check for a value equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ge&lt;br /&gt;
| Used in the date test to check for a value greater or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| le&lt;br /&gt;
| Used in the date test to check for a value less or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 11: Types of comparison for currentdate''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 12&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| header&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]])&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 12: Structure of header-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 13&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| body&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionskey&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The extension key can be one of the value found in [[#Table 12|Table 12]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionsvalue&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A value for the given key. If the key has no value (see [[#Table 12|Table 12]] for this information) the value given here is ignored&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the body. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 13: Structure of body-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 14&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| content&lt;br /&gt;
| An extension used in conjunction with the body test to define the content which should be considered. This extension will need a parameter specifying the mime-type of the part of the message which will be searched.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| An extension used in conjunction with the body test to define that only the text of the body should be considered in this test. This extension takes no parameter&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 14: List of possible extensions''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 15&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| allof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 15: Structure of allof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 16&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| anyof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 16: Structure of anyof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actions ==&lt;br /&gt;
In this section you will find the structures of all action commands which are specified until now. First a complete list of all action commands is given with a short description of them, later on the different objects for those commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 17&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keep&lt;br /&gt;
| Keeps a mail non changed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| discard&lt;br /&gt;
| Discards a mail without any processing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| redirect&lt;br /&gt;
| Redirects a mail to a given e-mail address&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| move&lt;br /&gt;
| Moves a mail into a given subfolder. The syntax for the subfolder given here. Must be the correct syntax of the underlying IMAP-server. So it is up to the GUI to detect things such as altnamespace or unixhierarchysep.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| reject&lt;br /&gt;
| Rejects the mail with a given text&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| stop&lt;br /&gt;
| Stops any further progressing of a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| vacation&lt;br /&gt;
| Creates a vacation mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addflags&lt;br /&gt;
| Adds flags to a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| notify&lt;br /&gt;
| adds a notification&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pgp&lt;br /&gt;
| encrypts a mail via pgp&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 17: List of possible action commands''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 18&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| keep&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 18: Structure of keep-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 19&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| discard&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 19: Structure of discard-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| redirect&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| to&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing where the mail should be redirected to&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 20: Structure of redirect-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 21&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| move&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| into&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| This string takes the object id of the destination mail folder as specified in the HTTP API of the groupware&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 21: Structure of move-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 22&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| reject&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the reason why the mail is rejected&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 22: Structure of reject-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 23&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| stop&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 23: Structure of stop-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 24&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| vacation&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| days&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The days for which a vacation text is returned&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addresses&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The addresses for which this vacation is responsible. That means for which addresses out of the aliases array of the user defining this filter, vacations will be sent.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| from&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Support for the ':from' tag. Specifies the value of the from header for the auto-reply mail, e.g. Foo Bear &amp;lt;foo.bear@ox.io&amp;gt; (Since 7.8.1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| subject&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The new subject for the returned message (can be left empty, when only adding RE:)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The vacation text itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 24: Structure of vacation-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 25&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| addflags&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the flags which should be added to that mail. A flag can be either a system flag or a user flag. System flags begin with a backslash (\) and can be one of the following:&lt;br /&gt;
* \seen&lt;br /&gt;
* \answered&lt;br /&gt;
* \flagged&lt;br /&gt;
* \deleted&lt;br /&gt;
* \draft&lt;br /&gt;
* \recent&lt;br /&gt;
System flags are case-insensitive.&lt;br /&gt;
&lt;br /&gt;
User flags begin with a dollar sign ($) and can contain any ASCII characters between 0x21 (!) and 0x7E (~), inclusive, except for the characters 0x22, 0x25, 0x28, 0x29, 0x2A, 0x5C, 0x5D and 0x7B, which correspond to&lt;br /&gt;
 &amp;quot;%()*\]{&lt;br /&gt;
Mail color flags as used by OX are implemented by user flags of the form $cl_''n'', where ''n'' is a number between 1 and 10, includive.&lt;br /&gt;
&lt;br /&gt;
See RFC 3501 for further details on IMAP flags and their meanings.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 25: Structure of addflags-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 26&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| notify&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| message&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the content of the notification message&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the method of the notification message, e.g. &amp;lt;pre&amp;gt;&amp;quot;mailto:012345678@sms.gateway&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 26: Structure of notify-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 27&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| pgp&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keys&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The public keys as string which should be used for encryption&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 27: Structure of pgp-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requests =&lt;br /&gt;
== Get the configuration of the mail filter backend ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An object describing the configuration like described in [[#Table 28|Table 28]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 28&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing test-objects like described in [[#Table 29|Table 29]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncommands&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the valid action commands as strings. A list of all possible values can be found in [[#Table 17|Table 17]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 28: Config object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 29&amp;quot;  cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name for the test. A list of all possible tests can be found in [[#Table 2|Table 2]]. The corresponding objects can be used in the test field in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the valid comparison types for this test. Possible values are given in [[#Table 3|Table 3]]. Values given in this array can be used in the comparison field in &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 29: Test object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get all mail filter rules ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=list&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;flag&amp;lt;/tt&amp;gt; If given, only rules with this flag are returned&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An array of rule objects like described in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
== Create a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=new&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]]. If the field &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt; is included in [[#Table 1|Table 1]] it's taken as the position of the rule in the array on the server side. Note that this value shouldn't be greater than the size of all rules&lt;br /&gt;
&lt;br /&gt;
Response body: An integer for the id of the new created rule.&lt;br /&gt;
&lt;br /&gt;
== Delete a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=delete&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An object with the field &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Reorder mail filter rules ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=reorder&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An array of unique ids which represents how the rule with the corresponding unique ids are ordered&lt;br /&gt;
&lt;br /&gt;
== Update a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=update&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]] with the &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; set (which identifies the rule to change). Only modified fields are present.&lt;br /&gt;
&lt;br /&gt;
== Delete the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=deletescript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to kick a whole script if it contains errors in the grammar.&lt;br /&gt;
&lt;br /&gt;
== Get the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=getscript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: A text of the complete sieve script&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to get the plaintext of a complete script.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=20772</id>
		<title>HTTP API MailFilter</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=HTTP_API_MailFilter&amp;diff=20772"/>
		<updated>2015-10-14T11:42:44Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''Open-Xchange Mail Filter HTTP API'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This document describes only the mail filter HTTP-API. So it's only a part which must be embedded into something which counts for login/logout, session handling and low-level protocol issues such as error handling. At the moment this will be the groupware server. So the modules needed for basic operations can be found there.&lt;br /&gt;
&lt;br /&gt;
= Module mailfilter =&lt;br /&gt;
This module is used to access all mail filter related options.&lt;br /&gt;
&lt;br /&gt;
First of all the main structure of a mail filter script is, that it has different rules. Each of them contains one command. This command takes a test condition which executes the actions given in that command if the test condition is true.&lt;br /&gt;
&lt;br /&gt;
The test condition consists of a test command and some arguments for this command depending on the command itself. Because the available tests depend on the mail filter server, these tests must be determined at runtime. So that no test field is transferred to the server which it isn't able to handle. Examples for tests are &amp;lt;tt&amp;gt;address&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;allof&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;anyof&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each test has a special comparison. The list of available comparisons depends on the test given and the mail filter server configuration so they have to be determined at runtime too.&lt;br /&gt;
&lt;br /&gt;
Each time you want to do some action on a mail you need a so called action command. This describes what to do with a mail. To action commands the same applies as to the test commands and their comparison types, they must be determined at runtime.&lt;br /&gt;
&lt;br /&gt;
All those dynamical values can be fetched via a config object at startup. This object shows the capabilities of the server to the client. This allows the client to show only the capabilities the server actually has to the user and to send only objects to the server which produce no errors on the server side.&lt;br /&gt;
&lt;br /&gt;
To deal with this high flexibility of mail filters this specification can be roughly divided into 2 parts. A non-changing core and dynamical extensions. The core specification is that each rule consists of a name, an ID, a value showing if this rule is active or not and a tag which can be set on a rule to mark that rule for a special purpose. Furthermore each rule takes a test object, specifying in what case the following actions are triggered, and one or many actioncommands, specifying the actions itself. For a detailed specification see [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
The objects for the tests and the actions are dynamical, so the set presented in this specification may be changed over the time, but only compatible changes are allowed to the objects, otherwise new test or action objects have to be introduced. Due to the fact that not every sieve implementation will offer all the capabilities written in this document, the server will sent his configuration if a special request is made. This configuration will show which of the tests and which of the actions are allowed. So for example if the server signals that it is capable of handling vacation, sending a vacation object as action is safe.&lt;br /&gt;
&lt;br /&gt;
Furthermore some tests use a comparison field as stated above which specifies how the fields are compared. The values of this field must also be determined at runtime. So in the configuration object there is a special part which shows the comparisons which are available. Note that not all comparisons can be used with every test. Some of them are denoted to a special test, which can be found in the [[#Table 3|Table 3]].&lt;br /&gt;
&lt;br /&gt;
= The core =&lt;br /&gt;
As written in the introduction the main part of a mail filter are the rules. A rule object will always have the structure you can see in the table below ([[#Table 1|Table 1]]). The dynamical parts are the test, which are represented by different options, see [[#Tests|4.1. Tests]], and the actions, also represented in [[#Actions|4.2. Actions]]. Note that the test and actioncmds fields and the text and errormsg fields are mutual exclusive. So if test and actioncmds fields are filled the text and errormsg fields are not present and vice versa.&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 1&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| A unique identifier (once created must not be changed)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The position inside the mail filter list. Starts with 0&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rulename&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name describing the rule, can be empty but must not contain a line break&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| active&lt;br /&gt;
| Boolean&lt;br /&gt;
| &lt;br /&gt;
| If this rule is active or not&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing flags which are set on this rule. Each flag can only contain the following characters: 1-9 a-z A-Z. Currently 3 flags are reserved here: &amp;quot;spam&amp;quot; which marks the default spam rule, &amp;quot;vacation&amp;quot; which marks the vacation rules and &amp;quot;autoforward&amp;quot; which marks an autoforwarding rule.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| The structure of the different test objects can be found in section [[#Tests|4.1. Tests]]. The valid tests in the current setup can be found in the configuration object &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncmds&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array of action objects whose different structures can be found in section [[#Actions|4.2. Actions]]. The action commands which are valid here can be determined through the config object see Table 24&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing the whole lines of this command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| errormsg&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| If this rule cannot be read in this string is filled containing a message why, or what part of the rule isn't known&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 1: Structure of a rule''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= The dynamical part =&lt;br /&gt;
== Tests ==&lt;br /&gt;
In this section you will find the structures of all test commands which are specified until now. First a complete list of all test commands is given with a short description of them, afterwards a complete list of all comparison as they belong to the test section. Finally the different objects for those test commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  id=&amp;quot;Table 2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| address&lt;br /&gt;
| This test type applies to addresses only. So it may be used for all header fields which contain addresses. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| envelope&lt;br /&gt;
| This test applies to the envelope of a mail. This test isn't used under normal circumstances as the envelope isn't accessible in all mail setups. This test returns true if any combination of the header-list and values-list arguments match'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| true&lt;br /&gt;
| A test for a true result (can be used if an action command should be executed every time)'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| not&lt;br /&gt;
| Negates a given test'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Deals with the size of the mail'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| currentdate&lt;br /&gt;
| Compares a given date with the current date ('''available with 6.20''')&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| header&lt;br /&gt;
| Tests against all headers of a mail. So with this test in contrast to the address test also fields such as subject can be handled. This test returns true if any combination of the header-list and values-list arguments match.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body&lt;br /&gt;
| Tests against the content of a mail.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| allof&lt;br /&gt;
| Defines an AND condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| anyof&lt;br /&gt;
| Defines an OR condition between several tests'''.'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 2: List of all possible tests''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| If a field is equal to a given value&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| contains&lt;br /&gt;
| If a field contains a given value at any position&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| matches&lt;br /&gt;
| Tests if the value matches the value in the specified field. Here some wild cards can be used. &amp;quot;*&amp;quot; matches zero or more characters, and &amp;quot;?&amp;quot; matches a single character. To use the characters themselves they have to be escaped via a backslash.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| regex&lt;br /&gt;
| Tests if a given regular expression matches with the value present in the specified field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| user&lt;br /&gt;
| Tests if the user part of an e-mail address is the value given here. This means in [mailto:herbert+mustermann@example.com herbert+mustermann@example.com]. The user checks the part herbert.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| detail&lt;br /&gt;
| Tests if the detail part of an e-mail address is the value given here. In the example above this evaluates to mustermann.&lt;br /&gt;
&lt;br /&gt;
'''Attention: '''This comparison can only be used in conjunction with the address test&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 3: List of all possible comparisons''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 4&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| address&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 4: Structure of address-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| envelope&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the value for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 5: Structure of envelope-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 6&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| true&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 6: Structure of true-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 7&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| not&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| Object&lt;br /&gt;
| &lt;br /&gt;
| One of the test objects which result will be negated&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 7: Structure of not-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 8&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| size&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only two types are valid here. A description can be found in [[#Table 9|Table 9]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| Number&lt;br /&gt;
| &lt;br /&gt;
| A number specifying the size for this comparison, in bytes.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 8: Structure of size-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 9&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| over&lt;br /&gt;
| Used in the size test to check for a value greater than the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| under&lt;br /&gt;
| Used in the size test to check for a value less than the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 9: Types of comparison for size''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;currentdate&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| currentdate&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Only three types are valid here. A description can be found in [[#Table 11|Table 11]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datepart&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the string &amp;quot;date&amp;quot;, &amp;quot;weekday&amp;quot; or &amp;quot;time&amp;quot; ('''available with 7.6.1''') as we only allow fix date, time and weekday comparisions for now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| datevalue&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A value array containing the corresponding value to the datepart. For &amp;quot;date&amp;quot; and &amp;quot;time&amp;quot; this will be an array of &amp;quot;Date&amp;quot; (unix timestamp). For &amp;quot;weekday&amp;quot;, it will be an array of integers ranging from 0 to 6, reflecting the equivalent weekday, starting from Sunday through Saturday, i.e. 0 - Sunday, ..., 6 - Saturday. The test will be true if any of the values matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 10: Structure of currentdate-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 11&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is&lt;br /&gt;
| Used in the date test to check for a value equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ge&lt;br /&gt;
| Used in the date test to check for a value greater or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| le&lt;br /&gt;
| Used in the date test to check for a value less or equal to the given one&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 11: Types of comparison for currentdate''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 12&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| header&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]])&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| headers&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the header fields&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the header fields. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 12: Structure of header-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 13&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| body&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Available types can be found in the config object. (see [[#Table 26|Table 26]]).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionskey&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The extension key can be one of the value found in [[#Table 12|Table 12]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| extensionsvalue&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A value for the given key. If the key has no value (see [[#Table 12|Table 12]] for this information) the value given here is ignored&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| values&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the values for the body. The test will be true if any of the strings matches&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 13: Structure of body-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 14&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| content&lt;br /&gt;
| An extension used in conjunction with the body test to define the content which should be considered. This extension will need a parameter specifying the mime-type of the part of the message which will be searched.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| An extension used in conjunction with the body test to define that only the text of the body should be considered in this test. This extension takes no parameter&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 14: List of possible extensions''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 15&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| allof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 15: Structure of allof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 16&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| anyof&lt;br /&gt;
| A string describing the test command.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A array of tests&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 16: Structure of anyof-test''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actions ==&lt;br /&gt;
In this section you will find the structures of all action commands which are specified until now. First a complete list of all action commands is given with a short description of them, later on the different objects for those commands are specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 17&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keep&lt;br /&gt;
| Keeps a mail non changed&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| discard&lt;br /&gt;
| Discards a mail without any processing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| redirect&lt;br /&gt;
| Redirects a mail to a given e-mail address&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| move&lt;br /&gt;
| Moves a mail into a given subfolder. The syntax for the subfolder given here. Must be the correct syntax of the underlying IMAP-server. So it is up to the GUI to detect things such as altnamespace or unixhierarchysep.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| reject&lt;br /&gt;
| Rejects the mail with a given text&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| stop&lt;br /&gt;
| Stops any further progressing of a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| vacation&lt;br /&gt;
| Creates a vacation mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addflags&lt;br /&gt;
| Adds flags to a mail&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| notify&lt;br /&gt;
| adds a notification&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pgp&lt;br /&gt;
| encrypts a mail via pgp&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 17: List of possible action commands''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 18&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| keep&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 18: Structure of keep-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 19&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| discard&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 19: Structure of discard-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| redirect&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| to&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing where the mail should be redirected to&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 20: Structure of redirect-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 21&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| move&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| into&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| This string takes the object id of the destination mail folder as specified in the HTTP API of the groupware&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 21: Structure of move-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 22&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| reject&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A string containing the reason why the mail is rejected&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 22: Structure of reject-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 23&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| stop&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 23: Structure of stop-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 24&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| vacation&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| days&lt;br /&gt;
| Integer&lt;br /&gt;
| &lt;br /&gt;
| The days for which a vacation text is returned&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| addresses&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The addresses for which this vacation is responsible. That means for which addresses out of the aliases array of the user defining this filter, vacations will be sent.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| from&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| Support for the ':from' tag. Specifies the value of the from header for the auto-reply mail, e.g. Foo Bear &amp;lt;foo.bear@ox.io&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| subject&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The new subject for the returned message (can be left empty, when only adding RE:)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| The vacation text itself&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 24: Structure of vacation-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 25&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| addflags&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| flags&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the flags which should be added to that mail. A flag can be either a system flag or a user flag. System flags begin with a backslash (\) and can be one of the following:&lt;br /&gt;
* \seen&lt;br /&gt;
* \answered&lt;br /&gt;
* \flagged&lt;br /&gt;
* \deleted&lt;br /&gt;
* \draft&lt;br /&gt;
* \recent&lt;br /&gt;
System flags are case-insensitive.&lt;br /&gt;
&lt;br /&gt;
User flags begin with a dollar sign ($) and can contain any ASCII characters between 0x21 (!) and 0x7E (~), inclusive, except for the characters 0x22, 0x25, 0x28, 0x29, 0x2A, 0x5C, 0x5D and 0x7B, which correspond to&lt;br /&gt;
 &amp;quot;%()*\]{&lt;br /&gt;
Mail color flags as used by OX are implemented by user flags of the form $cl_''n'', where ''n'' is a number between 1 and 10, includive.&lt;br /&gt;
&lt;br /&gt;
See RFC 3501 for further details on IMAP flags and their meanings.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 25: Structure of addflags-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 26&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| notify&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| message&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the content of the notification message&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| the method of the notification message, e.g. &amp;lt;pre&amp;gt;&amp;quot;mailto:012345678@sms.gateway&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 26: Structure of notify-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 27&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| String&lt;br /&gt;
| pgp&lt;br /&gt;
| A string defining the object itself&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| keys&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| The public keys as string which should be used for encryption&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 27: Structure of pgp-command''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requests =&lt;br /&gt;
== Get the configuration of the mail filter backend ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An object describing the configuration like described in [[#Table 28|Table 28]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 28&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tests&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing test-objects like described in [[#Table 29|Table 29]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| actioncommands&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| An array containing the valid action commands as strings. A list of all possible values can be found in [[#Table 17|Table 17]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 28: Config object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| id=&amp;quot;Table 29&amp;quot;  cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Type&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Value&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| test&lt;br /&gt;
| String&lt;br /&gt;
| &lt;br /&gt;
| A name for the test. A list of all possible tests can be found in [[#Table 2|Table 2]]. The corresponding objects can be used in the test field in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| comparison&lt;br /&gt;
| Array&lt;br /&gt;
| &lt;br /&gt;
| A string array containing the valid comparison types for this test. Possible values are given in [[#Table 3|Table 3]]. Values given in this array can be used in the comparison field in &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;center&amp;gt;''Table 29: Test object''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get all mail filter rules ==&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /ajax/mailfilter?action=list&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;flag&amp;lt;/tt&amp;gt; If given, only rules with this flag are returned&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: An array of rule objects like described in [[#Table 1|Table 1]].&lt;br /&gt;
&lt;br /&gt;
== Create a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=new&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]]. If the field &amp;lt;tt&amp;gt;position&amp;lt;/tt&amp;gt; is included in [[#Table 1|Table 1]] it's taken as the position of the rule in the array on the server side. Note that this value shouldn't be greater than the size of all rules&lt;br /&gt;
&lt;br /&gt;
Response body: An integer for the id of the new created rule.&lt;br /&gt;
&lt;br /&gt;
== Delete a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=delete&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An object with the field &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Reorder mail filter rules ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=reorder&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: An array of unique ids which represents how the rule with the corresponding unique ids are ordered&lt;br /&gt;
&lt;br /&gt;
== Update a mail filter rule ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=update&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Request body: Rule object as described in [[#Table 1|Table 1]] with the &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; set (which identifies the rule to change). Only modified fields are present.&lt;br /&gt;
&lt;br /&gt;
== Delete the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=deletescript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to kick a whole script if it contains errors in the grammar.&lt;br /&gt;
&lt;br /&gt;
== Get the whole script ==&lt;br /&gt;
PUT &amp;lt;tt&amp;gt;/ajax/mailfilter?action=getscript&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; This parameter must contain the user name for admin mode. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed&lt;br /&gt;
&lt;br /&gt;
Response body: A text of the complete sieve script&lt;br /&gt;
&lt;br /&gt;
Note that this call is only used as workaround for parsing errors in the backend, so that the user is able to get the plaintext of a complete script.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20364</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20364"/>
		<updated>2015-09-10T07:18:31Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* MDC properties explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone):&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20363</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20363"/>
		<updated>2015-09-10T07:17:13Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* MDC properties explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone):&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address (depends on the configuration described [http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#X-FORWARDED-FOR_Header here])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20351</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20351"/>
		<updated>2015-09-08T09:36:04Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* MDC properties explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone):&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId=1618&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=1.2.3.4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=10.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=35387551837281237793.koxg4l7scaj0qgxpmh1d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0001337&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=oxdude&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema=oxdatabase_7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20350</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20350"/>
		<updated>2015-09-08T09:33:17Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone):&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MDC properties explanation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
__threadId&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The thread identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.action=autologin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.ajax.module=login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The AJAX module for the AJAX action&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.queryString=action=autologin&amp;amp;client=open-xchange-appsuite&amp;amp;rampup=true&amp;amp;rampupFor=open-xchange-appsuite&amp;amp;version=7.6.2-22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The complete query string that is contained in the request URL after the path&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.method&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The HTTP method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remoteAddress=217.7.151.106&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's IP address&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.remotePort=65127&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client's port&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.requestURI=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The request URI without any parameters&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.serverName=80.12.215.80&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The host name of the server to which the request was sent. It is the value of the part before &amp;quot;:&amp;quot; in the 'Host' header  value, if any, or the resolved server name, or the server IP address.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.servletPath=/ajax/login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The part of this request's URL that calls the servlet. This path starts with a &amp;quot;/&amp;quot; character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.session=6769740252278062781.dvme11oxm01noi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sticky session identifier from Apache to the OX backend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.threadName=OXWorker-0000113&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The middleware's thread name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.grizzly.userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The content of the 'User-Agent' header.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.request.trackingId=983767a5c98646a988247b0ef83d6bb3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The tracking identifier of the request&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.authId=342dfecaf0f5425f9b70b13115835e9a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The authentication identifier of the session&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.clientId=open-xchange-appsuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The client identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.contextId=27&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The context identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.loginName=MELOFR-200-+l2ELXpWB9MaJyc/U5oqeW4ilJh29dz4UroPL4Gcngs=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The login name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.sessionId=faf5223338ea4371aacbbb9745a934a1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The session identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userId=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user identifier&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.session.userName=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The user name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.database.schema&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The database schema&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20298</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20298"/>
		<updated>2015-09-01T14:10:56Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Examples of a few category log entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone):&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:07:07,803+0200 WARN [OXTimer-0000007] com.openexchange.push.impl.balancing.reschedulerpolicy.PermanentListenerRescheduler.reschedule(PermanentListenerRescheduler.java:332)&lt;br /&gt;
Failed to distribute permanent listeners among cluster nodes&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20297</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20297"/>
		<updated>2015-09-01T14:09:45Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Examples of a few category log entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone):&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:39,489+0200 WARN [Start Level: Equinox Container: c0c886a6-b250-0015-13ab-e76fa445f503] com.openexchange.database.internal.ReplicationMonitor.checkFallback(ReplicationMonitor.java:126)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T16:06:40,017+0200 ERROR [Thread-12] com.openexchange.database.migration.internal.DBMigrationExecutor.run(DBMigrationExecutor.java:152)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20296</id>
		<title>AppSuite:OX Logging</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:OX_Logging&amp;diff=20296"/>
		<updated>2015-09-01T14:08:52Z</updated>

		<summary type="html">&lt;p&gt;Ioannis.chouklis: /* Examples of a few category log entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Author: Steffen Templin &amp;lt;steffen.templin@open-xchange.com&amp;gt; --&amp;gt;&lt;br /&gt;
[[Category: Server]]&lt;br /&gt;
[[Category: AppSuite]]&lt;br /&gt;
[[Category: OX6]]&lt;br /&gt;
[[Category: Admin]]&lt;br /&gt;
[[Category: Developer]]&lt;br /&gt;
 {{VersionFrom|7.4.2}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Server-side Logging&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With OX App Suite 7.4.2 the groupware server introduces [http://logback.qos.ch LOGBack] as logging implementation. Formerly [http://logging.apache.org/log4j/1.2 log4j 1.2] or java.util.logging have been used for logging. As of now the package 'open-xchange-log4j' has become obsolete and LOGBack is entirely contained in 'open-xchange-core'. No additional packages are needed even for syslog-based logging or sophisticated logging configurations anymore. Log4j and java.util.logging have been completely replaced by LOGBack.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= For Operators =&lt;br /&gt;
== Configuration ==&lt;br /&gt;
LOGBacks configuration is defined in /opt/open-xchange/etc/logback.xml. We ship the file pre-configured for new installations and set some useful defaults. Without any changes, the groupware writes log files to /var/log/open-xchange. See chapter [[#Backward Compatibility]] for detailed information on product upgrades from older versions. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details on configuring LOGBack.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Configuration Migration ===&lt;br /&gt;
In most cases no further work should be necessary after upgrading to OX App Suite 7.4.2. Based on your existing logging configuration (/opt/open-xchange/etc/file-logging.properties or /opt/open-xchange/etc/log4j.xml) we automatically migrate custom configured logger levels via package post installation scripts to the new logback configuration.&lt;br /&gt;
&lt;br /&gt;
We also configure file-based logging or syslog-based logging in accordance with the default configuration of the formerly used logging implementation. That means depending whether open-xchange-log4j was installed or not, the package post installation scripts modify the default logback configuration to send logs to a remote syslog daemon. You don't have to change anything if&lt;br /&gt;
* you use plain file logging and did not modify the 'handler'-section in file-logging.properties.&lt;br /&gt;
* you use syslog-based logging via log4j and did not change the configured 'SERVER_LOG' appender.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' If you customized handlers or appenders you have to port your changes manually to /opt/open-xchange/etc/logback.xml. See [http://logback.qos.ch/manual/index.html LOGBack manual] for details.&lt;br /&gt;
&lt;br /&gt;
=== Log File Format ===&lt;br /&gt;
We keep the former default layout for log events on product upgrades. So nothing should break if you wrote your own log file parser.&lt;br /&gt;
&lt;br /&gt;
''Please note:'' We also ship a pre-configured new log file layout. You are strongly encouraged to use this one for file-based logging, as it provides more information and is better structured than the old one.&lt;br /&gt;
To enable it, change the appender reference of appender ASYNC to FILE instead of FILE_COMPAT in /opt/open-xchange/etc/logback.xml.&lt;br /&gt;
&lt;br /&gt;
Before:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE_COMPAT&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
=== Config-based Asynchronous Logging ===&lt;br /&gt;
Publishing log events to files, syslogd or the like is performed asynchronously. Therefore the root loggers appender is set to 'ASYNC', which is configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;appender name=&amp;quot;ASYNC&amp;quot; class=&amp;quot;ch.qos.logback.classic.AsyncAppender&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
    &amp;lt;discardingThreshold&amp;gt;0&amp;lt;/discardingThreshold&amp;gt;&lt;br /&gt;
    &amp;lt;includeCallerData&amp;gt;true&amp;lt;/includeCallerData&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;FILE&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/appender&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The most important property is &amp;quot;appender-ref&amp;quot;. It denotes the name of the appender, that finally writes log events out in some way. A detailed description of the other parameters can be found here: [http://logback.qos.ch/manual/appenders.html#AsyncAppender].&lt;br /&gt;
&lt;br /&gt;
If you introduce your own log appender, only change the above mentioned 'appender-ref' property. Don't remove or deactivate the configuration for asynchronous logging! It might decrease the applications performance significantly.&lt;br /&gt;
&lt;br /&gt;
=== Suppression Of Stacktraces ===&lt;br /&gt;
It is possible to suppress Java stacktraces in log messages for configured categories. Those categories are part of OX App Suites internal error and exception handling. Suppression can be configured in server.properties by adjusting the value for 'com.openexchange.log.suppressedCategories'. See below excerpt of /opt/open-xchange/etc/server.properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
# Specify the OXException categories (comma separated) to be suppressed when logging.&lt;br /&gt;
# The Exception itself will still be logged as configured, but the StackTraces are omitted.&lt;br /&gt;
# Valid categories are ERROR, TRY_AGAIN, USER_INPUT, PERMISSION_DENIED, CONFIGURATION, CONNECTIVITY, SERVICE_DOWN, TRUNCATED, CONFLICT, CAPACITY, WARNING&lt;br /&gt;
# Default is USER_INPUT.&lt;br /&gt;
com.openexchange.log.suppressedCategories=USER_INPUT&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracing Of Sessions, Users and Contexts ===&lt;br /&gt;
It is possible to enable extended logging for defined scopes like sessions, users or contexts at a whole. This means that every log event which belongs to a configured scope will be logged despite of it's level, if it's logger belongs to a configured whitelist. The whitelist is configured in logback.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whitelists purpose is to avoid flooding your log files with unwanted tracing events from e.g. 3rd party libraries. The &amp;quot;value&amp;quot;-attribute can be adjusted. It may contain a comma-separated list of loggers. It's hierarchical. That means 'com.openexchange' also allows all child-loggers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Imagine logback is configured to log on level 'INFO' and additionally the logger 'com.openexchange.example.SomeLogger' is only allowed to log warnings and errors. The whitelist is configured as shown above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logging.filter.loggerWhitelist&amp;quot; value=&amp;quot;com.openexchange&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;appender-ref ref=&amp;quot;ASYNC&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/root&amp;gt;&lt;br /&gt;
  &amp;lt;logger name=&amp;quot;com.openexchange.example.SomeLogger&amp;quot; level=&amp;quot;WARN&amp;quot;/&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If tracing is activated for user '5' in context '1', events belonging to this user are written out, even if they deceed the configured thresholds. I.e. you can find log entries with level 'DEBUG' from logger 'com.openexchange.example.SomeLogger' that belong to the traced user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-09 15:29:31,641 DEBUG [OXWorker-0000001] com.openexchange.example.SomeLogger&lt;br /&gt;
Some very useful debug message.&lt;br /&gt;
 com.openexchange.session.sessionId=711c651fa4c94dc0894c733c92bc77d4&lt;br /&gt;
 com.openexchange.session.contextId=1&lt;br /&gt;
 com.openexchange.session.userId=5&lt;br /&gt;
 com.openexchange.session.userName=oxuser&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The decision whether to log such an event is based on the whitelist and the context information that every log event carries along. These information is structured as key-value-pairs and always printed below the log events message. Afterwards it's easy to find the tracing events in the log file. You just have to search for 'com.openexchange.session.contextId=1' and 'com.openexchange.session.userId=5'. If you trace a specific session, according events can be found with looking for 'com.openexchange.session.sessionId=session_id_to_trace'.&lt;br /&gt;
&lt;br /&gt;
=== New Log Event Layout ===&lt;br /&gt;
We ship a new default layout for log events that&lt;br /&gt;
* contains a more precise timestamp&lt;br /&gt;
* carries the name of the current thread&lt;br /&gt;
* is easier to parse&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2013-12-11 12:41:35,660 INFO  [LoginPerformer-0000003] com.openexchange.caching.internal.JCSCache&lt;br /&gt;
Cache 'UserPermissionBits' is operating in distributed mode&lt;br /&gt;
 com.openexchange.ajax.action=login&lt;br /&gt;
 com.openexchange.ajax.requestNumber=5&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please note:'' The new layout applys only for fresh installations. On upgrades you have to enable it manually. See [[#Log File Format]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Remote logging to logstash ===&lt;br /&gt;
{{VersionFrom|7.6.2}}&lt;br /&gt;
In 7.6.2 we introduced a new feature that allows the OX server to log directly to a logstash[http://logstash.net/|] server.&lt;br /&gt;
&lt;br /&gt;
To enable that feature you will need (besides the logstash server) to add/enable the OX logstash appender in the logback.xml file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.enabled&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.alwaysPersistEvents&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;property scope=&amp;quot;context&amp;quot; name=&amp;quot;com.openexchange.logback.extensions.logstash.loadFactor&amp;quot; value=&amp;quot;0.67&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&amp;quot;LOGSTASH&amp;quot; class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashSocketAppender&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;remoteHost&amp;gt;localhost&amp;lt;/remoteHost&amp;gt;&lt;br /&gt;
  &amp;lt;port&amp;gt;31337&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;reconnectionDelay&amp;gt;10000&amp;lt;/reconnectionDelay&amp;gt;&lt;br /&gt;
  &amp;lt;eventDelayLimit&amp;gt;30000&amp;lt;/eventDelayLimit&amp;gt;&lt;br /&gt;
  &amp;lt;encoder class=&amp;quot;com.openexchange.logback.extensions.logstash.LogstashEncoder&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;queueSize&amp;gt;2048&amp;lt;/queueSize&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three properties defined at the beginning of the XML snippet have the following use:&lt;br /&gt;
&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.enabled - This flag is used to enable the JMX metrics for the event queue size in the appender&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.alwaysPersistEvents - If set to true, then log events that are in queue and can not be send to the logstash server (for what ever reason) are persisted to open-xchange-console.log as JSON formated logstash events.&lt;br /&gt;
* com.openexchange.logback.extensions.logstash.loadFactor - The load factor of the queue before flushing it.&lt;br /&gt;
&lt;br /&gt;
The logstash appender has to then be referenced to the root logger:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;root level=&amp;quot;INFO&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;appender-ref ref=&amp;quot;LOGSTASH&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course the logstash server should also be appropriately configured. You can add the following lines in your input configuration:&lt;br /&gt;
 # For LogX&lt;br /&gt;
 tcp {&lt;br /&gt;
   port =&amp;gt; 31337&lt;br /&gt;
   type =&amp;gt; &amp;quot;LogX&amp;quot;&lt;br /&gt;
   codec =&amp;gt; line {&lt;br /&gt;
     charset =&amp;gt; &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
     format =&amp;gt; &amp;quot;string&amp;quot; &lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And the following filter to your filter configuration (note that you will have to adjust your timezone):&lt;br /&gt;
 if [type] == &amp;quot;LogX&amp;quot; {&lt;br /&gt;
    json {&lt;br /&gt;
      source =&amp;gt; &amp;quot;message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    date {&lt;br /&gt;
        match =&amp;gt; [&amp;quot;timestamp&amp;quot;, &amp;quot;ISO8601&amp;quot;]&lt;br /&gt;
        timezone =&amp;gt; &amp;quot;Europe/Berlin&amp;quot;&lt;br /&gt;
        remove_field =&amp;gt; [&amp;quot;timestamp&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== logconf CLT ==&lt;br /&gt;
The above mentioned features can be managed via the logconf command line tool (/opt/open-xchange/sbin/logconf). It creates log filters for sessions, context and (user/context) tuples, suppresses stacktraces for defined exception categories and dynamically changes log levels of specified loggers. It is also possible to create a filter for a user or a context or a session and set the level of the desired loggers independently.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-a | -d] [-c &amp;lt;contextid&amp;gt; [-u &amp;lt;userid&amp;gt;] | -s &amp;lt;sessionid&amp;gt;] [-l &amp;lt;logger_name_1&amp;gt;=&amp;lt;logger_level_x&amp;gt; ...] [-U &amp;lt;JMX-User&amp;gt; -P &amp;lt;JMX-Password&amp;gt; [-p &amp;lt;JMX-Port&amp;gt;]]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf -oec &amp;lt;category_1&amp;gt;,...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
logconf [-cf] | [-lf] | [-ll [&amp;lt;logger_1&amp;gt; ...] | [dynamic]] | [-le] | [-h]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -h,--help&lt;br /&gt;
| Prints usage of the command line tool&lt;br /&gt;
|-&lt;br /&gt;
| -a,--add&lt;br /&gt;
| Flag to add the filter&lt;br /&gt;
|-&lt;br /&gt;
| -d,--delete&lt;br /&gt;
| Flag to delete the filter&lt;br /&gt;
|-&lt;br /&gt;
| -c,--context &amp;lt;contextid&amp;gt;&lt;br /&gt;
| The context id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -cf,--clear-filters&lt;br /&gt;
| Clear all logging filters&lt;br /&gt;
|-&lt;br /&gt;
| -u,--user &amp;lt;userid&amp;gt;&lt;br /&gt;
| The user id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -s,--session &amp;lt;sessionid&amp;gt;&lt;br /&gt;
| The session id for which to create the log filter&lt;br /&gt;
|-&lt;br /&gt;
| -l,--level &amp;lt;logger_1&amp;gt;=&amp;lt;loglevel_x&amp;gt; ... &amp;lt;logger_n&amp;gt;=&amp;lt;loglevel_y&amp;gt;&lt;br /&gt;
| Define the log level for the specified loggers&lt;br /&gt;
|-&lt;br /&gt;
| -le, --list-exception-category&lt;br /&gt;
| Get a list with all supressed exception categories&lt;br /&gt;
|-&lt;br /&gt;
| -lf, --list-filters&lt;br /&gt;
| Get a list with all logging filters of the system&lt;br /&gt;
|-&lt;br /&gt;
| -ll, --list-loggers&lt;br /&gt;
| Get a list with all loggers of the system. &lt;br /&gt;
&lt;br /&gt;
Can optionally have a list with loggers as arguments, i.e. -ll &amp;lt;logger1&amp;gt; &amp;lt;logger2&amp;gt; &lt;br /&gt;
OR the keyword 'dynamic' that instructs the command line tool to fetch all dynamically modified loggers. Any other keyword is then ignored, and a full list will be retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| -oec, --override-exception-categories &amp;lt;category name&amp;gt;,...&lt;br /&gt;
| Override the exception categories to be suppressed, comma separated&lt;br /&gt;
|}&lt;br /&gt;
Follow switches are valid if JMX authentication is enabled&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| -U, --JMX-User &amp;lt;username&amp;gt;&lt;br /&gt;
| JMX username&lt;br /&gt;
|-&lt;br /&gt;
| -P, --JMX-Password &amp;lt;password&amp;gt;&lt;br /&gt;
| JMX password&lt;br /&gt;
|-&lt;br /&gt;
| -p, --JMX-Port &amp;lt;port&amp;gt;&lt;br /&gt;
| JMX port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The flags -a and -d are mutually exclusive.&lt;br /&gt;
Valid log levels: {OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&lt;br /&gt;
Valid categories: {ERROR, USER_INPUT, CONFIGURATION, PERMISSION_DENIED, TRY_AGAIN, CONNECTIVITY, SERVICE_DOWN,&lt;br /&gt;
TRUNCATED, CONFLICT, CAPACITY, WARNING}&lt;br /&gt;
&lt;br /&gt;
=== Categories vs. Log Levels ===&lt;br /&gt;
&lt;br /&gt;
The OX server defines different categories to the OX exceptions that are thrown during the operation. Those categories should not be confused with the logging levels &amp;lt;code&amp;gt;{OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL}&amp;lt;/code&amp;gt; of the logback framework which are described [http://logback.qos.ch/manual/architecture.html#effectiveLevel here].&lt;br /&gt;
&lt;br /&gt;
The following list briefly describes each OX exception category.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CAPACITY&amp;lt;/code&amp;gt;''': The category for a 3rd party system when reporting capacity restrictions, e.g. quota&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFIGURATION&amp;lt;/code&amp;gt;''': The category for a configuration issue (e.g. missing required property)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONFLICT&amp;lt;/code&amp;gt;''': The category for conflicting data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;CONNECTIVITY&amp;lt;/code&amp;gt;''': The category for a connectivity issue, e.g. broken/lost TCP connection&lt;br /&gt;
* '''&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;''': The category for an error&lt;br /&gt;
* '''&amp;lt;code&amp;gt;PERMISSION_DENIED&amp;lt;/code&amp;gt;''': The category for a permission-denied issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;''': The category for a missing service or system, e.g. database&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRUNCATED&amp;lt;/code&amp;gt;''': The category for truncated data&lt;br /&gt;
* '''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;''': The category for a try-again issue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;''': The category for an invalid user input&lt;br /&gt;
* '''&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;''': The category for a warning displayed to the user&lt;br /&gt;
&lt;br /&gt;
==== Examples of a few category log entries ====&lt;br /&gt;
Stack-traces are omitted for clarity's sake.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;USER_INPUT&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:35:33,582+0200 ERROR [OXWorker-0000006] com.openexchange.exception.OXException: MSG-1013 Categories=USER_INPUT Message='Message could not be sent to the following recipients: [invalid@non-existing.tld] (550 - 550 5.1.1 &amp;lt;invalid@non-existing.tld&amp;gt;: Recipient address rejected: User unknown in virtual mailbox table)' exceptionID=-1316379722-11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;TRY_AGAIN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2015-09-01T15:58:59,009+0200 ERROR [RMI TCP Connection(4)-127.0.0.1] com.openexchange.consistency.Consistency.erroroutput(Consistency.java:551)&lt;br /&gt;
com.openexchange.exception.OXException: SRV-0001 Categories=TRY_AGAIN Message='The required service com.openexchange.database.DatabaseService is temporary not available. Please try again later.' exceptionID=251360648-2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;SERVICE_DOWN&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;�2015-09-01T16:06:39,489+0200� WARN [Start Level: Equinox Container: c0c886a6-b250-0015-13ab-e76fa445f503]� com.openexchange.database.internal.ReplicationMonitor.checkFallback(ReplicationMonitor.java:126)&lt;br /&gt;
com.openexchange.exception.OXException: DBP-0001 Categories=SERVICE_DOWN Message='Cannot get connection to config DB.' exceptionID=-1771518749-1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command output ===&lt;br /&gt;
&lt;br /&gt;
INFO/ERROR/WARNING: [msg1, msg2, ... msgn]&lt;br /&gt;
&lt;br /&gt;
Operation [operation name] with parameters: {...} succeeded.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Create a user/context filter for user 1618, context 314 and loggers c.o.mail and c.o.appsuite with levels TRACE and DEBUG respectively&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -a -l com.openexchange.appsuite=DEBUG com.openexchange.mail=TRACE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Created new filter for user with ID &amp;quot;1618&amp;quot;, in context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;, Added logger &amp;quot;com.openexchange.mail&amp;quot; with level &amp;quot;TRACE&amp;quot;, Added logger &amp;quot;com.openexchange.appsuite&amp;quot; with level &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a logger from a user/context filter with user 1618 and context 314&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -u 1618 -c 314 -d -l com.openexchange.appsuite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Removed logger &amp;quot;com.openexchange.appsuite&amp;quot; from  user filter for user with ID &amp;quot;1618&amp;quot;, context with ID &amp;quot;314&amp;quot; and policy &amp;quot;ACCEPT&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the log level for the com.openexchange.appsuite logger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -l com.openexchange.appsuite=DEBUG com.openexchange.usm=DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting log level for &amp;quot;com.openexchange.appsuite&amp;quot; to &amp;quot;DEBUG&amp;quot;, Setting log level for &amp;quot;com.openexchange.usm&amp;quot; to &amp;quot;DEBUG&amp;quot;]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suppress category CONFIGURATION and CONNECTIVITY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# logconf -oec CONFIGURATION CONNECTIVITY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INFO: [Setting suppressed Exception Categories to CONFIGURATION,CONNECTIVITY]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= For Developers =&lt;br /&gt;
== Instantiate Loggers ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import org.slf4j.Logger;&lt;br /&gt;
import org.slf4j.LoggerFactory;&lt;br /&gt;
&lt;br /&gt;
public class Clazz {&lt;br /&gt;
&lt;br /&gt;
    private static final Logger LOG = LoggerFactory.getLogger(Clazz.class);&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using Apache Commons Logging as logging facade is depracted as of OX App Suite 7.4.2. Formerly we used own wrapper classes to enable extended logging features. With the current logging implementation this is not necessary anymore. Obtaining loggers via&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
com.openexchange.log.Log.loggerFor(Clazz.class); or&lt;br /&gt;
com.openexchange.log.LogFactory.getLog(Clazz.class); or&lt;br /&gt;
com.openexchange.log.Log.valueOf(LogFactory.getLog(Clazz.class));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
still works for backward compatibility, but should not be used for new classes. Existing classes should be ported to SLF4J, when touched during refactorings, bugfixes etc.&lt;br /&gt;
&lt;br /&gt;
Of course it is also required to fix the corresponding bundles &amp;lt;tt&amp;gt;META-INF/MANIFEST.MF&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
'''Remove''' &lt;br /&gt;
&lt;br /&gt;
 com.openexchange.log&lt;br /&gt;
 org.apache.commons.logging&lt;br /&gt;
&lt;br /&gt;
'''Add'''&lt;br /&gt;
&lt;br /&gt;
 org.slf4j&lt;br /&gt;
&lt;br /&gt;
== Logging Statements ==&lt;br /&gt;
With SLF4J you should avoid code like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (LOG.isDebugEnabled()) {&lt;br /&gt;
    LOG.debug(&amp;quot;Some debug message for user &amp;quot; + userId + &amp;quot; in context &amp;quot; + contextId + &amp;quot;.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead relinquish the if-statement completely and make use of SLF4Js printf()-like syntax for log statements:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LOG.debug(&amp;quot;Some debug message for user {} in context {}.&amp;quot;, userId, contextId);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please read [http://www.slf4j.org/faq.html#logging_performance What is the fastest way of (not) logging?] for details.&lt;/div&gt;</summary>
		<author><name>Ioannis.chouklis</name></author>
	</entry>
</feed>