# AppServer parameters

All the available parameters for the WebSpellChecker Server management are listed in a special .xml file called **AppServerX.xml** file. Below you will find the description of each parameter as well as its default and possible values.

* The parameters listed below are valid for WebSpellChecker Server starting 5.20.0.0.
* By default, AppServerX.xml file is located in: **\<WebSpellChecker\_Installation\_Path>/WebSpellChecker/AppServer/AppServerX.xml**

### ServiceName <a href="#draft-appserverparameters-servicename" id="draft-appserverparameters-servicename"></a>

| Description:     | **ServiceName** parameter sets the WebSpellChecker service name in the Service Control Manager database (only for Windows). |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                      |
| Default value:   | WSCAppServer                                                                                                                |
| Possible values: | Any string value.                                                                                                           |

Before changing the name of the service, it is required to uninstall the service. Rename and install the service again with a new name.

```xml
<ServiceName>WSCAppServer</ServiceName>
```

[Back to the top...](#draft-appserverparameters-servicename)

### PathToServiceFilesDirectory

| Description:     | PathToServiceFilesDirectory parameter sets the directory for downloaded dictionaries and license. In selected directory `WebSpellChecker` directory is always created. |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                                 |
| Default value:   | <p>Windows: <code>C:\Program Data\</code><br>Linux: <code>/var/lib/</code></p>                                                                                         |
| Possible values: | Valid filesystem path.                                                                                                                                                 |

To ensure the service works properly, move the files from the old directory to the new directory after changing the parameter. If the license hasn't been activated, activate it after changing the parameter so it's created in the new path.

```xml
<PathToServiceFilesDirectory>/var/lib/</PathToServiceFilesDirectory>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Threads <a href="#draft-appserverparameters-threads" id="draft-appserverparameters-threads"></a>

### MaxConnectionThreads <a href="#draft-appserverparameters-maxconnectionthreads" id="draft-appserverparameters-maxconnectionthreads"></a>

UPD | 5.0.0

| Description:     | **MaxConnectionThreads** parameter defines a maximum number of AppServer connection threads. This is the upper limit on concurrent connections to the server.              |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                     |
| Default value:   | 1000                                                                                                                                                                       |
| Possible values: | <p>Must be greater than or equal to 0.</p><p>If 0 is specified, the TCPServerDispatcher will set this parameter to the number of available threads in its thread pool.</p> |

```xml
<MaxConnectionThreads>1000</MaxConnectionThreads>
```

[Back to the top...](#draft-appserverparameters-servicename)

### ConnectionThreadPriority <a href="#draft-appserverparameters-connectionthreadpriority" id="draft-appserverparameters-connectionthreadpriority"></a>

UPD | 5.0.0

| Description:     | **ConnectionThreadPriority** parameter sets the priority of the AppServer connection threads. |
| ---------------- | --------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                        |
| Default value:   | normal                                                                                        |
| Possible values: | <ul><li>lowest</li><li>low</li><li>normal</li><li>high</li><li>highest</li></ul>              |

```xml
<ConnectionThreadPriority>normal</ConnectionThreadPriority>
```

[Back to the top...](#draft-appserverparameters-servicename)

### WorkerThreads

UPD | 5.0.0

| Description:     | **WorkerThreads** parameter sets the number of worker threads which perform spell and grammar checks, etc. |
| ---------------- | ---------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                     |
| Default value:   | 16                                                                                                         |
| Possible values: | Non-zero value                                                                                             |

```xml
<WorkerThreads>16</WorkerThreads>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Memory <a href="#draft-appserverparameters-memory" id="draft-appserverparameters-memory"></a>

### PercentLowMemory <a href="#draft-appserverparameters-percentlowmemory" id="draft-appserverparameters-percentlowmemory"></a>

| Description:     | **PercentLowMemory** parameter defines a percent of the free physical memory remaining before the system will turn into low memory conditions state. |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                               |
| Default value:   | 5                                                                                                                                                    |
| Possible values: | 1..100                                                                                                                                               |

```xml
<PercentLowMemory>5</PercentLowMemory>
```

[Back to the top...](#draft-appserverparameters-servicename)

### AggressiveConserve <a href="#draft-appserverparameters-aggressiveconserve" id="draft-appserverparameters-aggressiveconserve"></a>

| Description:     | **AggressiveConserve** parameter turns on/off a special mode with aggressive memory conservation. In the turned-on mode, the memory will be freed as soon as possible. This parameter is bundled with the PercentLowMemory parameter. In the enabled mode, PercentLowMemory is ignored and the system is always considered to be in a low memory state. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                                                                                                                                                                                                                                                 |
| Default value:   | OFF                                                                                                                                                                                                                                                                                                                                                     |
| Possible values: | ON, OFF                                                                                                                                                                                                                                                                                                                                                 |

```xml
<AggressiveConserve>OFF</AggressiveConserve>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Connection <a href="#draft-appserverparameters-connection" id="draft-appserverparameters-connection"></a>

### Port <a href="#draft-appserverparameters-port" id="draft-appserverparameters-port"></a>

| Description:     | **Port** parameter sets a default port number which will be used by AppServer for serving requests. |
| ---------------- | --------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                              |
| Default value:   | 2880                                                                                                |
| Possible values: | Any available port number.                                                                          |

```xml
<Port>2880</Port>
```

[Back to the top...](#draft-appserverparameters-servicename)

### QueueSize <a href="#draft-appserverparameters-queuesize" id="draft-appserverparameters-queuesize"></a>

UPD | 5.0.0

| Description:     | **QueueSize** parameter defines the maximum size of the server socket backlog queue.                                                     |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                   |
| Default value:   | 3000                                                                                                                                     |
| Possible values: | 1...Nm, where Nm is the maximum allowed value of socket backlog queue. This maximum value is specific for each type of operating system. |

```xml
<QueueSize>3000</QueueSize>
```

[Back to the top...](#draft-appserverparameters-servicename)

### ClientTimeout <a href="#draft-appserverparameters-clienttimeout" id="draft-appserverparameters-clienttimeout"></a>

UPD | 5.0.0

| Description:     | **ClientTimeout** parameter sets a timeout value in seconds for spell, grammar requests made by clients to AppServer. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                |
| Default value:   | 60                                                                                                                    |
| Possible values: | <p>60...900</p><p>It is not recommended to set a ClientTimeout value to more than 900 seconds (15 minutes).</p>       |

```xml
<ClientTimeout>60</ClientTimeout>
```

[Back to the top...](#draft-appserverparameters-servicename)

### ServerTimeout <a href="#draft-appserverparameters-servertimeout" id="draft-appserverparameters-servertimeout"></a>

UPD | 5.0.0

| Description:     | **ServerTimeout** parameter sets a timeout value in seconds for requests made by AppServer to remote servers like license server. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                            |
| Default value:   | 60                                                                                                                                |
| Possible values: | <p>10...900</p><p>It is not recommended to set ServerTimeout value to more than 900 seconds (15 minutes).</p>                     |

```xml
<ServerTimeout>60</ServerTimeout>
```

[Back to the top...](#draft-appserverparameters-servicename)

## KeepAlive <a href="#draft-appserverparameters-keepalive" id="draft-appserverparameters-keepalive"></a>

### EnableKeepAlive <a href="#draft-appserverparameters-enablekeepalive" id="draft-appserverparameters-enablekeepalive"></a>

UPD | 5.0.0

| Description:     | **EnableKeepAlive** parameter enables a keep alive connection. |
| ---------------- | -------------------------------------------------------------- |
| Parameter type:  | Boolean                                                        |
| Default value:   | true                                                           |
| Possible values: | <ul><li>true</li><li>false</li></ul>                           |

```xml
<EnableKeepAlive>true</EnableKeepAlive>
```

[Back to the top...](#draft-appserverparameters-servicename)

### KeepAliveTimeout <a href="#draft-appserverparameters-keepalivetimeout" id="draft-appserverparameters-keepalivetimeout"></a>

UPD | 5.0.0

| Description:     | **KeepAliveTimeout** parameter sets a timeout interval for a keep alive connection. |
| ---------------- | ----------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                              |
| Default value:   | 10                                                                                  |
| Possible values: | <ul><li>1..Nm</li></ul>                                                             |

```xml
<KeepAliveTimeout>10</KeepAliveTimeout>
```

[Back to the top...](#draft-appserverparameters-servicename)

### MaxKeepAliveRequests <a href="#draft-appserverparameters-maxkeepaliverequests" id="draft-appserverparameters-maxkeepaliverequests"></a>

UPD | 5.0.0

| Description:     | **MaxKeepAliveRequests** parameter sets a maximum number of keep-alive requests. |
| ---------------- | -------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                           |
| Default value:   | 0                                                                                |
| Possible values: | <ul><li>0 – unlimited number of requests.</li><li>1..Nm</li></ul>                |

```xml
<MaxKeepAliveRequests>0</MaxKeepAliveRequests>
```

[Back to the top...](#draft-appserverparameters-servicename)

### SSL <a href="#draft-appserverparameters-ssl" id="draft-appserverparameters-ssl"></a>

### EnableSSL <a href="#draft-appserverparameters-enablggressiveconserveessl" id="draft-appserverparameters-enablggressiveconserveessl"></a>

UPD | 5.0.0

| Description:     | **EnableSSL** parameter defines whether a secure connection should be enabled. |
| ---------------- | ------------------------------------------------------------------------------ |
| Parameter type:  | Boolean                                                                        |
| Default value:   | false                                                                          |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                           |

```xml
<EnableSSL>false</EnableSSL>
```

[Back to the top...](#draft-appserverparameters-servicename)

### TLSVersion <a href="#draft-appserverparameters-tlsversion" id="draft-appserverparameters-tlsversion"></a>

UPD | 5.0.0

| Description:     | **TLSVersion** parameter sets a specific version of Transport Layer Security (TSL). |
| ---------------- | ----------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                              |
| Default value:   | TLSV1\_2                                                                            |
| Possible values: | <ul><li>TLSV1</li><li>TLSV1\_1</li><li>TLSV1\_2</li></ul>                           |

```xml
<TLSVersion>TLSV1_2</TLSVersion>
```

[Back to the top...](#draft-appserverparameters-servicename)

### VerificationMode

NEW | 5.6.4

| Description:     | **VerificationMode** parameter defines the depth of a client's SSL certificate verification.                                                                                                                                                   |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                                                                                                         |
| Default value:   | RELAXED                                                                                                                                                                                                                                        |
| Possible values: | <ul><li>NONE</li><li>RELAXED</li><li>STRICT</li></ul><p>Detailed description of each mode is available in the <a href="https://pocoproject.org/docs/Poco.Net.Context.html#28201">VerificationMove section of Class Poco::Net::Contect</a>.</p> |

```xml
<VerificationMode>RELAXED</VerificationMode>
```

[Back to the top..](#draft-appserverparameters-servicename)

## SSLCertificateFileSettings <a href="#draft-appserverparameters-sslcertificatefilesettings" id="draft-appserverparameters-sslcertificatefilesettings"></a>

### SSLCertificateFile <a href="#draft-appserverparameters-sslcertificatefile" id="draft-appserverparameters-sslcertificatefile"></a>

| Description:     | **SSLCertificateFile** parameter specifies a path to a private key file in a \*.pfx format that containing the certificate and corresponding private key. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                    |
| Default value:   | None                                                                                                                                                      |
| Possible values: | “C:/Program Files/WebSpellChecker/AppServer/certificate.pfx”                                                                                              |

```xml
<SSLCertificateFile></SSLCertificateFile>
```

[Back to the top...](#draft-appserverparameters-servicename)

### SSLCertificatePassword <a href="#draft-appserverparameters-sslcertificatepassword" id="draft-appserverparameters-sslcertificatepassword"></a>

NEW | 5.3.1

| Description:     | **SSLCertificatePassword** parameter specifies a pass of SSL certificate. Some of SSL certificates are exported with passwords. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                          |
| Default value:   | None                                                                                                                            |
| Possible values: | Any                                                                                                                             |

```xml
<SSLCertificatePassword></SSLCertificatePassword>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Proxy <a href="#draft-appserverparameters-proxy" id="draft-appserverparameters-proxy"></a>

### EnableProxy <a href="#draft-appserverparameters-enableproxy" id="draft-appserverparameters-enableproxy"></a>

NEW | 5.10.0.3

| Description:     | **EnableProxy** parameter enables support of HTTP proxy server configuration. If enabled, proxy is used for outbound requests, like license server.                                                     |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                                                                                                 |
| Default value:   | false                                                                                                                                                                                                   |
| Possible values: | <ul><li>true</li><li>false</li></ul><p>Detailed description is available in the <a href="https://pocoproject.org/docs/Poco.Net.HTTPClientSession.ProxyConfig.html">Poco/Net/HTTPClientSession.h</a></p> |

```xml
<EnableProxy>false</EnableProxy>
```

[Back to the top...](#draft-appserverparameters-servicename)

### ProxyHost <a href="#draft-appserverparameters-proxyhost" id="draft-appserverparameters-proxyhost"></a>

NEW | 5.10.0.3

| Description:     | **ProxyHost** parameter sets a proxy server host name or IP address. |
| ---------------- | -------------------------------------------------------------------- |
| Parameter type:  | String                                                               |
| Default value:   | None                                                                 |
| Possible values: | <ul><li>Host name or IP address</li></ul>                            |

```xml
<ProxyHost></ProxyHost>
```

[Back to the top...](#draft-appserverparameters-servicename)

### ProxyPort <a href="#draft-appserverparameters-proxyport" id="draft-appserverparameters-proxyport"></a>

NEW | 5.10.0.3

| Description:     | **ProxyPort** parameter sets a proxy server TCP port number. |
| ---------------- | ------------------------------------------------------------ |
| Parameter type:  | String                                                       |
| Default value:   | None                                                         |
| Possible values: | <ul><li>TCP port number</li></ul>                            |

```xml
<ProxyPort></ProxyPort>
```

[Back to the top...](#draft-appserverparameters-servicename)

### ProxyUserName <a href="#draft-appserverparameters-proxyusername" id="draft-appserverparameters-proxyusername"></a>

NEW | 5.10.0.3

| Description:     | **ProxyUserName** parameter sets a proxy server user name. |
| ---------------- | ---------------------------------------------------------- |
| Parameter type:  | String                                                     |
| Default value:   | None                                                       |
| Possible values: | <ul><li>user name</li></ul>                                |

```xml
<ProxyUserName></ProxyUserName>
```

[Back to the top...](#draft-appserverparameters-servicename)

### ProxyPassword <a href="#draft-appserverparameters-proxypassword" id="draft-appserverparameters-proxypassword"></a>

NEW | 5.10.0.3

| Description:     | **ProxyPassword** parameter sets a proxy server password. |
| ---------------- | --------------------------------------------------------- |
| Parameter type:  | String                                                    |
| Default value:   | None                                                      |
| Possible values: | <ul><li>password</li></ul>                                |

```xml
<ProxyPassword></ProxyPassword>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Compression <a href="#draft-appserverparameters-compression" id="draft-appserverparameters-compression"></a>

### EnableCompression <a href="#draft-appserverparameters-enablecompression" id="draft-appserverparameters-enablecompression"></a>

NEW | 5.4.X

| Description:     | **EnableCompression** parameter lets you enable or disable compression of outbound traffic (responses) from WebSpellChecker. |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                      |
| Default value:   | true                                                                                                                         |
| Possible values: | <ul><li>true for enabling compression</li><li>false for disabling compression</li></ul>                                      |

```xml
<EnableCompression>true</EnableCompression>
```

[Back to the top...](#draft-appserverparameters-servicename)

### MinSizeThreshold <a href="#draft-appserverparameters-minsizethreshold" id="draft-appserverparameters-minsizethreshold"></a>

NEW | 5.4.X

| Description:     | **MinSizeThreshold** specifies a minimum number of bytes of request’s body to be compressed. Any requests that are lower than this particular number (i.e. 150 bytes) are not compressed. |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                    |
| Default value:   | 150                                                                                                                                                                                       |
| Possible values: | <p>0 to any meaningful number.<br>Possible value of this parameter depends on desired RAM usage.</p>                                                                                      |

```xml
<MinSizeThreshold>150</MinSizeThreshold>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CompressionLevel <a href="#draft-appserverparameters-compressionlevel" id="draft-appserverparameters-compressionlevel"></a>

NEW | 5.4.X

| Description:     | <p><strong>CompressionLevel</strong> parameter specifies how strong the compression level should be.</p><p>For example, compression level 6 takes much less time than, say, compression level 9 and usually gives virtually the same result, thus, it is usually more effective than 9.</p> |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                                                      |
| Default value:   | 6                                                                                                                                                                                                                                                                                           |
| Possible values: | 0, 1..9 where 9 is best but slowest compression level type.                                                                                                                                                                                                                                 |

```xml
<CompressionLevel>6</CompressionLevel>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Licensing <a href="#draft-appserverparameters-licensing" id="draft-appserverparameters-licensing"></a>

### LicenseTicket <a href="#draft-appserverparameters-licenseticket" id="draft-appserverparameters-licenseticket"></a>

NEW | 5.4.X

| Description:     | **LicenseTicket** is a license used for the activation of WebSpellChecker Server package. |
| ---------------- | ----------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                    |
| Default value:   | <p>None<br></p>                                                                           |
| Possible values: | A string of 15 characters                                                                 |

```xml
<LicenseTicket></LicenseTicket>
```

[Back to the top...](#draft-appserverparameters-servicename)

### LicenseServerLink <a href="#draft-appserverparameters-licenseserverlink" id="draft-appserverparameters-licenseserverlink"></a>

NEW | 5.4.X

| Description:     | <p><strong>LicenseServerLink</strong> is an address link of WebSpellChecker licensing service. This address is built into the AppServer and is used to request a license from the server.</p><p>Leave the tag empty if only you are not provided alternative link to licensing service.</p> |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                                                                                                                                                      |
| Default value:   | None                                                                                                                                                                                                                                                                                        |
| Possible values: | Provided with installation instructions and should not be modified.                                                                                                                                                                                                                         |

```xml
<LicenseServerLink></LicenseServerLink>
```

[Back to the top...](#draft-appserverparameters-servicename)

### AutoLicenseReactivation <a href="#draft-appserverparameters-autolicensereactivation" id="draft-appserverparameters-autolicensereactivation"></a>

NEW | 5.5.9

| Description:     | **AutoLicenseReactivation** enables the automatic license reactivation attempts before its expiration date.        |
| ---------------- | ------------------------------------------------------------------------------------------------------------------ |
| Parameter type:  | Boolean                                                                                                            |
| Default value:   | true                                                                                                               |
| Possible values: | <ul><li>true - enable an automatic license reactivation</li><li>false - disable the license reactivation</li></ul> |

```xml
<AutoLicenseReactivation>true</AutoLicenseReactivation>
```

[Back to the top...](#draft-appserverparameters-servicename)

## FailSafety <a href="#draft-appserverparameters-failsafety" id="draft-appserverparameters-failsafety"></a>

### SuppressCrashes <a href="#draft-appserverparameters-suppresscrashes" id="draft-appserverparameters-suppresscrashes"></a>

| Description:     | **SuppressCrashes** parameter defines whether any errors like segmentation fault, access violation, illegal instruction, division by zero, etc. will be logged and suppressed. Their presence won't cause the application to crash but might result in unstable or undefined behavior. If disabled, any such situation will be logged and cause the affected process of application to crash and possibly be substituted by other worker processes. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Default value:   | true                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                |

```xml
<SuppressCrashes>true</SuppressCrashes>
```

[Back to the top...](#draft-appserverparameters-servicename)

### MinRestartInterval <a href="#draft-appserverparameters-minrestartinterval" id="draft-appserverparameters-minrestartinterval"></a>

| Description:     | **MinRestartInterval** parameters sets a minimal interval value in seconds between restarts of the second cascade process. Before starting a new process, a process thread will check the time when the replaceable process has started and failed. If the time from start to failure doesn't exceed the minimal interval value, a new process thread will wait until it is reached and then start a new process. Such an approach helps to avoid an endless loop of starting processes that might cause nearly 100% CPU consumption. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Default value:   | 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Possible values: | 1..60                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

```xml
<MinRestartInterval>10</MinRestartInterval>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CascadeSize <a href="#draft-appserverparameters-cascadesize" id="draft-appserverparameters-cascadesize"></a>

| Description:     | **CascadeSize** parameter defines a number of processes in the second cascade that will be running simultaneously. The monitoring process will try to keep the number of processes in the second cascade constant regardless any failures in the processes. |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                      |
| Default value:   | 2                                                                                                                                                                                                                                                           |
| Possible values: | <p>0..3</p><p>It is suggested not to have more than 3 processes in the second cascade.</p>                                                                                                                                                                  |

```xml
<CascadeSize>2</CascadeSize>
```

[Back to the top...](#draft-appserverparameters-servicename)

### WaitShutdownInterval <a href="#draft-appserverparameters-waitshutdowninterval" id="draft-appserverparameters-waitshutdowninterval"></a>

| Description:     | **WaitShutdownInterval** parameter sets a time interval value in seconds for the second child process to wait before it will be shut down gracefully. If the process is not shutting down during this period of time, it is allowed to terminate it. |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                               |
| Default value:   | 60                                                                                                                                                                                                                                                   |
| Possible values: | <p>0..120</p><p>It is suggested to keep the default value provided.</p>                                                                                                                                                                              |

```xml
<WaitShutdownInterval>60</WaitShutdownInterval>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CheckTimeout <a href="#draft-appserverparameters-checktimeout" id="draft-appserverparameters-checktimeout"></a>

| Description:     | **CheckTimeout** parameter sets a timeout interval value in seconds between sequential check calls to the active process in the second cascade. |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                          |
| Default value:   | 5                                                                                                                                               |
| Possible values: | 1..5                                                                                                                                            |

```xml
<CheckTimeout>5</CheckTimeout>
```

[Back to the top...](#draft-appserverparameters-servicename)

### WaitResponseTimeout <a href="#draft-appserverparameters-waitresponsetimeout" id="draft-appserverparameters-waitresponsetimeout"></a>

| Description:     | **WaitResponseTimeout** parameter sets a timeout interval value in seconds for the controlling process to wait for a response from a child process. If no response within the specified time, the controlling process will decide that a child process hang up and start termination of all child processes one-by-one. |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                                                                                  |
| Default value:   | 60                                                                                                                                                                                                                                                                                                                      |
| Possible values: | 10..600                                                                                                                                                                                                                                                                                                                 |

```xml
<WaitResponseTimeout>60</WaitResponseTimeout>
```

[Back to the top...](#draft-appserverparameters-servicename)

### InitialPause <a href="#draft-appserverparameters-initialpause" id="draft-appserverparameters-initialpause"></a>

| Description:     | **InitialPause** parameter sets a pause value in seconds when to begin monitoring processes which are starting. |
| ---------------- | --------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                          |
| Default value:   | 20                                                                                                              |
| Possible values: | 1..60                                                                                                           |

```xml
<InitialPause>20</InitialPause>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Log <a href="#draft-appserverparameters-log" id="draft-appserverparameters-log"></a>

The description of all the available parameters for log(s) files.

#### Size <a href="#draft-appserverparameters-size" id="draft-appserverparameters-size"></a>

| Description:     | **Size** parameter defines the maximum size of the AppServerX.log file in kilobytes. If the maximum size is reached, a new log file will be created and the previous one will be saved with an appropriate time stamp (log rotation). |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                |
| Default value:   | 10000                                                                                                                                                                                                                                 |
| Possible values: | <ul><li>0 to never rotate log files</li><li>non-zero value in kilobytes</li></ul>                                                                                                                                                     |

```xml
<Size>10000</Size>
```

[Back to the top...](#draft-appserverparameters-servicename)

### PrioritizationLevel <a href="#draft-appserverparameters-prioritizationlevel" id="draft-appserverparameters-prioritizationlevel"></a>

UPD | 5.0.0

| Description:     | **PrioritizationLevel** parameter sets a log level for notifications that will be recorded in the log file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Default value:   | information                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Possible values: | <ul><li>none – no logs' information will be recorded to the log file;</li><li>fatal</li><li>critical – very severe error events that will presumably lead the application to abort;</li><li>error – error events that might still allow the application to continue running;</li><li>warning</li><li>notice</li><li>information – important information that should be logged under normal conditions such as successful initialization, services starting and stopping etc.;</li><li>debug – fine-grained informational events that are most useful to debug an application;</li><li>trace – more detailed code debugging information.</li></ul><p>The log levels are ordered by their priority from the highest to the lowest accordingly. For example, if the default value for PrioritizationLevel is set to “information” then not only information notifications will be recorded in the log file but also notifications from its all the preceding log levels such as notice, warning, error, critical and fatal.</p> |

```xml
<PrioritizationLevel>information</PrioritizationLevel>
```

[Back to the top...](#draft-appserverparameters-servicename)

### PathToLogsDirectory <a href="#draft-appserverparameters-pathtologsdirectory" id="draft-appserverparameters-pathtologsdirectory"></a>

NEW | 5.6.4

| Description:     | **PathToLogsDirectory** parameter defines the path to the Logs directory. |
| ---------------- | ------------------------------------------------------------------------- |
| Parameter type:  | String                                                                    |
| Default value:   | Logs                                                                      |
| Possible values: | Any valid path (relative or absolute)                                     |

```xml
<PathToLogsDirectory>Logs</PathToLogsDirectory>
```

[Back to the top...](#draft-appserverparameters-servicename)

### Subsystems <a href="#draft-appserverparameters-subsystems" id="draft-appserverparameters-subsystems"></a>

UPD | 5.0.0

| Description:     | **Subsystems** parameter defines for which subsystems of AppServer the logging will be performed.                                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Array                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Default value:   | all                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Possible values: | <ul><li>all – all log messages from all subsystems;</li><li>general – log messages about the state of AppServer, spellcheck, grammar, languages, dictionaries, etc.</li><li>threadpool – log messages related to managing of threads;</li><li>licensing – log messages related to licensing;</li><li>failsafe – log messages about fail safety subsystem;</li><li>selector – log messages from a listening thread;</li><li>responder – log messages from a sender thread.</li></ul> |

```xml
<Subsystems>all</Subsystems>
```

[Back to the top...](#draft-appserverparameters-servicename)

## SpellCheckCache <a href="#draft-appserverparameters-spellcheckcache" id="draft-appserverparameters-spellcheckcache"></a>

### EnableSpellCheckCache <a href="#draft-appserverparameters-enablespellcheckcache" id="draft-appserverparameters-enablespellcheckcache"></a>

| Description:     | **EnableSpellCheckCache** parameter defines whether misspellings (and their suggestions) will be cached in the memory (RAM) |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                     |
| Default value:   | true                                                                                                                        |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                                                        |

```xml
<EnableSpellCheckCache>true</EnableSpellCheckCache>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CacheSize <a href="#draft-appserverparameters-cachesize" id="draft-appserverparameters-cachesize"></a>

NEW | 5.4.X

| Description:     | **CacheSize** parameter defines a number of misspellings and their suggestions to be cached in RAM.                                                                                                                                                                                                                                                                                               |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                                                                                                                                                            |
| Default value:   | 500000                                                                                                                                                                                                                                                                                                                                                                                            |
| Possible values: | <p>Between 0 and any desired number.</p><p>The number depends on desired RAM usage. Consider the following requirement: 10 MB for <strong>cache</strong> must be enabled on Server (for 10 000 suggestions). The rough calculation here is 1 misspelling and its suggestions equals 100 bytes. The more misspellings and their suggestions are added to cache, the more RAM will be required.</p> |

```xml
<CacheSize>500000</CacheSize>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CacheSavePath

NEW | 5.4.X

| Description:     | <p><strong>CacheSavePath</strong> parameter specifies either a full or relative path to a file which will be used for periodic dumping of the cache content. This file will be created if it doesn't exist, or overwritten if it does.</p><p>To enable this option, make sure that AppServerX processes have write permissions to that file.</p> |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Parameter type:  | String                                                                                                                                                                                                                                                                                                                                           |
| Default value:   | None                                                                                                                                                                                                                                                                                                                                             |
| Possible values: | Full or relative path to a file on a server.                                                                                                                                                                                                                                                                                                     |

```xml
<CacheSavePath></CacheSavePath>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CacheLoadPath <a href="#draft-appserverparameters-cacheloadpath" id="draft-appserverparameters-cacheloadpath"></a>

NEW | 5.4.X

| Description:     | **CacheLoadPath** specifies either a full or relative path to a cache dump file which will be loaded into cache at the first spellcheck request to the server. |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                         |
| Default value:   | None                                                                                                                                                           |
| Possible values: | Full or relative path to a file on a server.                                                                                                                   |

```xml
<CacheLoadPath></CacheLoadPath>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CacheSaveInterval <a href="#draft-appserverparameters-cachesaveinterval" id="draft-appserverparameters-cachesaveinterval"></a>

NEW | 5.4.X

| Description:     | Each time the server encounters the number of misspellings specified in **CacheSaveInterval** parameter setting, the cache is dumped onto disk to the file you have specified in [CacheSavePath](/v6.10.0.0/deployment/configuration/application-server/appserver-parameters.md#cachesavepath) parameter. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                                                                    |
| Default value:   | 0                                                                                                                                                                                                                                                                                                         |
| Possible values: | <ul><li>0 – the cache dumping is turned off. In this case, the cache will be reset each time your restart AppServer.</li><li>Any number of misspellings</li></ul>                                                                                                                                         |

```xml
<CacheSaveInterval>0</CacheSaveInterval>
```

[Back to the top...](#draft-appserverparameters-servicename)

## SpellCheckEngine <a href="#draft-appserverparameters-spellcheckengine" id="draft-appserverparameters-spellcheckengine"></a>

### MaxErrorsPercentToSuggest <a href="#draft-appserverparameters-maxerrorspercenttosuggest" id="draft-appserverparameters-maxerrorspercenttosuggest"></a>

| Description:     | **MaxErrorsPercentToSuggest** parameter defines a percent (%) of misspelled words that will be processed by the engine and suggestions will be provided for. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Parameter type:  | Number                                                                                                                                                       |
| Default value:   | 90                                                                                                                                                           |
| Possible values: | 1..100                                                                                                                                                       |

```xml
<MaxErrorsPercentToSuggest>90</MaxErrorsPercentToSuggest>
```

[Back to the top...](#draft-appserverparameters-servicename)

### MinQueryLengthToSkipSuggest <a href="#draft-appserverparameters-minquerylengthtoskipsuggest" id="draft-appserverparameters-minquerylengthtoskipsuggest"></a>

| Description:     | **MinQueryLengthToSkipSuggest** parameter sets the minimum number of words in a request which will be processed. This parameter is related to MaxErrorsPercentToSuggest. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Parameter type:  | Number                                                                                                                                                                   |
| Default value:   | 9                                                                                                                                                                        |
| Possible values: | 2..Nm                                                                                                                                                                    |

```xml
<MinQueryLengthToSkipSuggest>9</MinQueryLengthToSkipSuggest>
```

[Back to the top...](#draft-appserverparameters-servicename)

### MaxSuggestions <a href="#draft-appserverparameters-maxsuggestions" id="draft-appserverparameters-maxsuggestions"></a>

UPD | 5.0.0

| Description:     | **MaxSuggestions** parameter sets a maximum number of suggestions for each misspelled word that will be determined by the engine. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                            |
| Default value:   | 3                                                                                                                                 |
| Possible values: | 0-8                                                                                                                               |

```xml
<MaxSuggestions>3</MaxSuggestions>
```

[Back to the top...](#draft-appserverparameters-servicename)

### SpellCheckOptions <a href="#draft-appserverparameters-grammarcheckengine" id="draft-appserverparameters-grammarcheckengine"></a>

#### IgnoreAllCaps

| Description:     | **IgnoreAllCaps** controls ignoring all-caps misspellings. |
| ---------------- | ---------------------------------------------------------- |
| Parameter type:  | Boolean                                                    |
| Default value:   | false                                                      |
| Possible values: | <ul><li>true</li><li>false</li></ul>                       |

```xml
<IgnoreAllCaps>false</IgnoreAllCaps>
```

[Back to the top...](#draft-appserverparameters-servicename)

#### IgnoreWordsWithNumbers

| Description:     | **IgnoreWordsWithNumbers** controls ignoring misspellings with numbers. |
| ---------------- | ----------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                 |
| Default value:   | false                                                                   |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                    |

```xml
<IgnoreWordsWithNumbers>false</IgnoreWordsWithNumbers>
```

[Back to the top...](#draft-appserverparameters-servicename)

#### IgnoreMixedCase

| Description:     | **IgnoreMixedCase** controls ignoring mixed-case misspellings. |
| ---------------- | -------------------------------------------------------------- |
| Parameter type:  | Boolean                                                        |
| Default value:   | false                                                          |
| Possible values: | <ul><li>true</li><li>false</li></ul>                           |

```xml
<IgnoreMixedCase>false</IgnoreMixedCase>
```

[Back to the top...](#draft-appserverparameters-servicename)

#### IgnoreDomainNames

| Description:     | **IgnoreDomainNames** controls ignoring domain names during spell check. |
| ---------------- | ------------------------------------------------------------------------ |
| Parameter type:  | Boolean                                                                  |
| Default value:   | false                                                                    |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                     |

```xml
<IgnoreDomainNames>false</IgnoreDomainNames>
```

[Back to the top...](#draft-appserverparameters-servicename)

#### IgnoreWordsWithUpperCase

| Description:     | **IgnoreWordsWithUpperCase** controls ignoring misspellings with any upper-cased letter. |
| ---------------- | ---------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                  |
| Default value:   | false                                                                                    |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                     |

```xml
<IgnoreWordsWithUpperCase>false</IgnoreWordsWithUpperCase>
```

[Back to the top...](#draft-appserverparameters-servicename)

#### IgnoreWordsWithUnderscores

| Description:     | **IgnoreWordsWithUnderscores** controls ignoring misspellings with underscores (`_`). |
| ---------------- | ------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                               |
| Default value:   | true                                                                                  |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                  |

```xml
<IgnoreWordsWithUnderscores>true</IgnoreWordsWithUnderscores>
```

[Back to the top...](#draft-appserverparameters-servicename)

### HunspellOptions <a href="#draft-appserverparameters-grammarcheckengine" id="draft-appserverparameters-grammarcheckengine"></a>

#### OnlyMaxDiff

| Description:     | **OnlyMaxDiff** defines whether spelling suggestions not similar to misspelling are **not** included into suggestion list. |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                    |
| Default value:   | true                                                                                                                       |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                                                       |

```xml
<OnlyMaxDiff>true</OnlyMaxDiff>
```

[Back to the top...](#draft-appserverparameters-servicename)

#### MaxDiff

| Description:                                                             | **MaxDiff** defines the similarity factor for the n-gram based suggestions. Bigger value provides more spelling suggestions. |
| ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:                                                          | Number                                                                                                                       |
| Default value:                                                           | 4                                                                                                                            |
| Possible values:                                                         | 0..10, 0 - fewer n-gram                                                                                                      |
| <p><br>suggestions, but min. 1; 10 - MAXNGRAMSUGS n-gram suggestions</p> |                                                                                                                              |

```xml
<MaxDiff>4</MaxDiff>
```

[Back to the top...](#draft-appserverparameters-servicename)

#### CompoundHyphenSuggest

| Description:     | **CompoundHyphenSuggest** defines whether to enable additional suggestion logic for words with hyphen. Can produce unknown suggestions. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                                 |
| Default value:   | false                                                                                                                                   |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                                                                    |

```xml
<CompoundHyphenSuggest>false</CompoundHyphenSuggest>
```

[Back to the top...](#draft-appserverparameters-servicename)

## GrammarCheckEngine <a href="#draft-appserverparameters-grammarcheckengine" id="draft-appserverparameters-grammarcheckengine"></a>

### PathToJavaVirtualMachine <a href="#draft-appserverparameters-pathtojavavirtualmachine" id="draft-appserverparameters-pathtojavavirtualmachine"></a>

NEW | 5.0.0

| Description:     | **PathToJavaVirtualMachine** parameter sets a path to Java Virtual Machine (JVM).                                                                                                                                                                                   |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                                                                                                                              |
| Default value:   | <p>None</p><p>AppServer will try to autodetect the path to JVM.</p>                                                                                                                                                                                                 |
| Possible values: | <ul><li>Path to JVM on Linux-based environments: <code>/usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so</code></li><li>Path to JVM on Windows-based environments: <code>C:/Program Files/Java/jdk-17/bin/server/jvm.dll</code></li><li>Empty value</li></ul> |

```xml
<PathToJavaVirtualMachine></PathToJavaVirtualMachine>
```

[Back to the top...](#draft-appserverparameters-servicename)

### JVMMaxMemorySizeMb <a href="#draft-appserverparameters-jvmmaxmemorysizemb" id="draft-appserverparameters-jvmmaxmemorysizemb"></a>

NEW | 5.0.0

| Description:     | **JVMMaxMemorySizeMb** parameter sets a maximum heap size in megabytes for LanguageTool in Java Virtual Machine (JVM).                                                                                                                                                                                                                 |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                                                                                                 |
| Default value:   | 2048                                                                                                                                                                                                                                                                                                                                   |
| Possible values: | <p>1000...Nm</p><ul><li>1000 MB is the minimum possible size that can be used by LanguageTool in JVM but for a single language (e.g. English grammar checking).</li><li>For more details refer to <a data-mention href="/pages/1ce17c02c3c0d4f17c1b33939ce4a24f403b37dd">/pages/1ce17c02c3c0d4f17c1b33939ce4a24f403b37dd</a></li></ul> |

```xml
<JVMMaxMemorySizeMb>1000</JVMMaxMemorySizeMb>
```

[Back to the top...](#draft-appserverparameters-servicename)

### JVMObjectIdleTimeout

| Description:     | **JVMObjectIdleTimeout** parameter defines time in seconds after which an unused JVM object will be removed.                 |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                       |
| Default value:   | 300                                                                                                                          |
| Possible values: | Any duration in seconds. It's not recommended to set this value less than 300 seconds to avoid frequent resources reloading. |

```xml
<JVMObjectIdleTimeout>300</JVMObjectIdleTimeout>
```

[Back to the top...](#draft-appserverparameters-servicename)

### **PathToPythonLib**

| Description:     | **PathToPythonLib** sets path to Python. It's required if TensorFlow is used from pip package. By default TensorFlow is included with the package and works without Python. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | <p>String<br></p>                                                                                                                                                           |
| Default value:   | None                                                                                                                                                                        |
| Possible values: | Absolute or relative path to `libpythonX.X.so` or `pythonXX.dll`                                                                                                            |

```xml
<PathToPythonLib></PathToPythonLib>
```

[Back to the top...](#draft-appserverparameters-servicename)

### **PathToTensorFlowLib**

| Description:     | **PathToTensorFlowLib** sets custom path to TensorFlow library. By default library included in the package is used. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                              |
| Default value:   | None                                                                                                                |
| Possible values: | <p>Absolute or relative path to <code>tensorflow\.so</code> or <code>tensorflow\.dll</code>.<br></p>                |

```xml
<PathToTensorFlowLib></PathToTensorFlowLib>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Dictionaries <a href="#draft-appserverparameters-dictionaries" id="draft-appserverparameters-dictionaries"></a>

### ResourcesDir

UPD | 5.29.2

| Description:     | **ResourcesDir** parameter defines a path to the directory with available default language dictionaries. |
| ---------------- | -------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                   |
| Default value:   | Resources                                                                                                |
| Possible values: | Absolute or relative path to a custom directory with language dictionaries.                              |

```xml
<!-- ResourcesDir parameter defines a path to the directory with dictionary resources. -->
<ResourcesDir>Resources</ResourcesDir>
```

[Back to the top...](#draft-appserverparameters-servicename)

## UserDictionaries <a href="#draft-appserverparameters-userdictionaries" id="draft-appserverparameters-userdictionaries"></a>

### UserDictDir <a href="#draft-appserverparameters-userdictdir" id="draft-appserverparameters-userdictdir"></a>

UPD | 5.0.0

| Description:     | **UserDictDir** parameter defines a path to the directory where all created personal user dictionaries will be stored. |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                 |
| Default value:   | UserDictionaries                                                                                                       |
| Possible values: | Absolute or relative path to a custom directory with user dictionaries files.                                          |

```xml
<UserDictDir>UserDictionaries</UserDictDir>
```

[Back to the top...](#draft-appserverparameters-servicename)

## CustomDictionaries <a href="#draft-appserverparameters-customdictionaries" id="draft-appserverparameters-customdictionaries"></a>

### CustDictConfig <a href="#draft-appserverparameters-custdictconfig" id="draft-appserverparameters-custdictconfig"></a>

UPD | 5.0.0

| Description:     | **CustDictConfig** parameter defines a path to a configuration \*.xml file which will be used for storing records about created custom dictionaries. |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                               |
| Default value:   | CustDictConfig.xml                                                                                                                                   |
| Possible values: | Path to a custom directory with \*.xml file.                                                                                                         |

```xml
<CustDictConfig>CustDictConfig.xml</CustDictConfig>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CustDictDir <a href="#draft-appserverparameters-custdictdir" id="draft-appserverparameters-custdictdir"></a>

UPD | 5.0.0

| Description:     | **CustDictDir** parameter defines a path to the directory where all created custom dictionaries will be stored. |
| ---------------- | --------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                          |
| Default value:   | CustomDictionaries                                                                                              |
| Possible values: | Absolute or relative path to a custom directory with custom dictionaries files.                                 |

```xml
<CustDictDir>CustomDictionaries</CustDictDir>
```

[Back to the top...](#draft-appserverparameters-servicename)

### CustDictReloadOnFly <a href="#draft-appserverparameters-custdictreloadonfly" id="draft-appserverparameters-custdictreloadonfly"></a>

UPD | 5.0.0

| Description:     | **CustDictReloadOnFly** parameter defines whether custom dictionaries should be reloaded automatically “on the fly” upon any changes. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                               |
| Default value:   | ON                                                                                                                                    |
| Possible values: | <p>ON – custom dictionaries are reloaded.</p><p>OFF – custom dictionaries are not reloaded automatically.</p>                         |

```xml
<CustDictReloadOnFly>ON</CustDictReloadOnFly>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Authentication

### AccessKey

| Description:     | **AccessKey** parameter defines access key which is used for [custom\_dictionary](/v6.12.0/api-reference/custom-dictionary-api/overview.md) and [style\_guide](/v6.12.0/api-reference/style-guide-api.md) commands. |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                                                                              |
| Default value:   | Empty                                                                                                                                                                                                               |
| Possible values: | Any string, at least 20 characters long, only letters (case-sensitive) and digits.                                                                                                                                  |

```xml
<AccessKey></AccessKey>
```

[Back to the top...](#draft-appserverparameters-servicename)

### UseAccessKeyForAllCommands

{% hint style="warning" %}
Enabling this option breaks the front-end integration.

Use it only for API.
{% endhint %}

| Description:     | **UseAccessKeyForAllCommands** parameter defines whether to require `access_key` for every request to the server. By default the access key is required only for [custom\_dictionary](/v6.12.0/api-reference/custom-dictionary-api/overview.md) and [style\_guide](/v6.12.0/api-reference/style-guide-api.md) commands. |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                                                                                                                                                                                                                                                 |
| Default value:   | false                                                                                                                                                                                                                                                                                                                   |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                                                                                                                                                                                                                                                    |

```xml
<UseAccessKeyForAllCommands></UseAccessKeyForAllCommands>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Request

### EnableRequestStatistic <a href="#draft-appserverparameters-enablerequeststatistic" id="draft-appserverparameters-enablerequeststatistic"></a>

NEW | 5.4.X

| Description:     | **EnableRequestStatistic** parameter enables or disables saving of request statistics. |
| ---------------- | -------------------------------------------------------------------------------------- |
| Parameter type:  | Boolean                                                                                |
| Default value:   | false                                                                                  |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                   |

```xml
<EnableRequestStatistic>false</EnableRequestStatistic>
```

[Back to the top...](#draft-appserverparameters-servicename)

### RequestStatisticDataType <a href="#draft-appserverparameters-requeststatisticdatatype" id="draft-appserverparameters-requeststatisticdatatype"></a>

NEW | 5.4.X

| Description:     | **RequestStatisticDataType** determines what kind of storage will be used to store request statistics data.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Default value:   | File                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Possible values: | <ul><li>File - for saving the statistical information to a file. When choosing this option, you need to specify the path to a file using the <a href="https://docs.webspellchecker.net/display/IN/_appserverx_xml_RequestStatisticFilePath">RequestStatisticFilePath</a> parameter.</li><li>Database - for saving the statistical information to a database. When choosing this option, you need to perform database setup and its configuration.</li></ul><p>Contact <a href="mailto:support@webspellchecker.net"><support@webspellchecker.net></a> for more details on setting the database.</p> |

```xml
<RequestStatisticDataType>FILE</RequestStatisticDataType>
```

[Back to the top...](#draft-appserverparameters-servicename)

### RequestStatisticFilePath <a href="#draft-appserverparameters-requeststatisticfilepath" id="draft-appserverparameters-requeststatisticfilepath"></a>

NEW | 5.4.X

| Description:     | **RequestStatisticFilePath** parameter sets a path to a \*.log file with requests statistics. |
| ---------------- | --------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                        |
| Default value:   | Logs/RequestStatistic.log                                                                     |
| Possible values: | Path to a log file with requests statistics.                                                  |

```xml
<RequestStatisticFilePath>Logs/RequestStatistic.log</RequestStatisticFilePath>
```

[Back to the top...](#draft-appserverparameters-servicename)

### RequestStatisticPeriodToSave <a href="#draft-appserverparameters-requeststatisticperiodtosave" id="draft-appserverparameters-requeststatisticperiodtosave"></a>

NEW | 5.4.X

| Description:     | <p><strong>RequestStatisticPeriodToSave</strong> can be used only for database as RequestStatisticOutput. Statistical data is stored into the database each RequestStatisticPeriodToSave seconds.</p><p>This parameter is applicable only if <strong>RequestStatisticDataType</strong> is set as a <strong>Database</strong>.</p> |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Parameter type:  | Number                                                                                                                                                                                                                                                                                                                            |
| Default value:   | 600                                                                                                                                                                                                                                                                                                                               |
| Possible values: | <p>1...86400</p><p>For example, 600 means the statistical data is saved once in 600 seconds.</p>                                                                                                                                                                                                                                  |

```xml
<RequestStatisticPeriodToSave>600</RequestStatisticPeriodToSave>
```

[Back to the top...](#draft-appserverparameters-servicename)

### MaxApiRequestSize <a href="#draft-appserverparameters-maxapirequestsize" id="draft-appserverparameters-maxapirequestsize"></a>

NEW | 5.5.8

<table data-header-hidden><thead><tr><th width="321"></th><th></th></tr></thead><tbody><tr><td>Description:</td><td><strong>MaxApiRequestSize</strong> parameter sets the maximum size of the API request body in bytes.</td></tr><tr><td>Parameter type:</td><td>Number</td></tr><tr><td>Default value:</td><td>50000</td></tr><tr><td>Possible values:</td><td><ul><li>A number value in bytes more than 0. If you set too small value the common service requests from the products will fail. Too big value will result in the drastic performance issues.</li></ul></td></tr></tbody></table>

```xml
<MaxApiRequestSize>50000</MaxApiRequestSize>
```

[Back to the top...](#draft-appserverparameters-servicename)

## EnableUserActionStatistic

<table data-header-hidden><thead><tr><th width="321"></th><th></th></tr></thead><tbody><tr><td>Description:</td><td><strong>EnableUserActionStatistic</strong> parameter enables statistics collection about user actions on front-end.</td></tr><tr><td>Parameter type:</td><td>Boolean</td></tr><tr><td>Default value:</td><td>false</td></tr><tr><td>Possible values:</td><td><ul><li>true</li><li>false</li></ul></td></tr></tbody></table>

```xml
<EnableUserActionStatistic>false</EnableUserActionStatistic>
```

[Back to the top...](#draft-appserverparameters-servicename)

## RecordUserContextData

<table data-header-hidden><thead><tr><th width="321"></th><th></th></tr></thead><tbody><tr><td>Description:</td><td><strong>RecordUserContextData</strong> parameter enables saving user contexts (sentences) in files.</td></tr><tr><td>Parameter type:</td><td>Boolean</td></tr><tr><td>Default value:</td><td>false</td></tr><tr><td>Possible values:</td><td><ul><li>true</li><li>false</li></ul></td></tr></tbody></table>

```xml
<RecordUserContextData>false</RecordUserContextData>
```

[Back to the top...](#draft-appserverparameters-servicename)

## Languages <a href="#draft-appserverparameters-languages" id="draft-appserverparameters-languages"></a>

### Language <a href="#draft-appserverparameters-language" id="draft-appserverparameters-language"></a>

| Description:     | **Language** parameter defines a language ID, alias, and its options.          |
| ---------------- | ------------------------------------------------------------------------------ |
| Parameter type:  | String                                                                         |
| Default value:   | en\_US                                                                         |
| Possible values: | <ul><li><a href="/pages/GUZ6cksYHij4R1JW5Nhz">Supported language</a></li></ul> |

```xml
<Language Id="en_US" Enabled="true">  
...  
</Language>
```

[Back to the top...](#draft-appserverparameters-servicename)

### Alias <a href="#draft-appserverparameters-alias" id="draft-appserverparameters-alias"></a>

| Description:     | **Alias** parameter sets an alias, a language short name, which can be used when calling a language. |
| ---------------- | ---------------------------------------------------------------------------------------------------- |
| Parameter type:  | String                                                                                               |
| Default value:   | N/A                                                                                                  |
| Possible values: | Any string associated with a particular language, e.g. alias name for American English is “*am*”.    |

```xml
<Language Id="en_US">
		<Alias>am</Alias>
</Language>
```

[Back to the top...](#draft-appserverparameters-servicename)

### SupportedCheckKits

| Description:     | **SupportedCheckKits** lists the available check kits for tha language.                               |
| ---------------- | ----------------------------------------------------------------------------------------------------- |
| Parameter type:  | List                                                                                                  |
| Default value:   | N/A                                                                                                   |
| Possible values: | For more details see [Check kits](/v6.12.0/deployment/configuration/application-server/check-kits.md) |

```xml
<SupportedCheckKits>
	<CheckKit Name="algorithmic" Default="true">
		<LanguageTool Enabled="true" Priority="0" Locale="da"/>
		<Hunspell Enabled="true" Priority="1" Locale="da_DK"/>
	</CheckKit>
</SupportedCheckKits>
```

[Back to the top...](#draft-appserverparameters-servicename)

### DisabledRules

| Description:     | **DisabledRules** defines disabled rules file for a language. Each language can contain several disabled rules files. |
| ---------------- | --------------------------------------------------------------------------------------------------------------------- |
| Attributes:      | <ul><li>Path</li></ul>                                                                                                |
| Attribute type:  | String                                                                                                                |
| Possible values: | Path relative to [#resourcesdir](#resourcesdir "mention")                                                             |

```xml
<DisabledRules Path="en/en_disabled_rules.json"/>
<DisabledRules Path="en/en_US_disabled_rules.json"/>
```

[Back to the top...](#draft-appserverparameters-servicename)

### Autocomplete

| Description:     | **Autocomplete** defines autocomplete settings for a language. |
| ---------------- | -------------------------------------------------------------- |
| Attributes:      | <ul><li>Enabled</li></ul>                                      |
| Attribute type:  | Boolean                                                        |
| Possible values: | <ul><li>true</li><li>false</li></ul>                           |

[Back to the top...](#draft-appserverparameters-servicename)

#### Locale

| Description:     | **Locale** sets locale of the autocomplete model to use |
| ---------------- | ------------------------------------------------------- |
| Parameter type:  | String                                                  |
| Default value:   | N/A                                                     |
| Possible values: | Locale of autocomplete model from `<AIModels>`          |

```xml
<Autocomplete Enabled="false">
	<Locale>en</Locale>
</Autocomplete>
```

### SuggestionPrioritization

| Description:     | **SuggestionPrioritization** defines suggestion prioritization settings for a language. For more details see [Suggestion prioritization mechanism](/v6.12.0/deployment/configuration/spell-check-engine/suggestion-prioritization-mechanism.md) |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Attributes:      | <ul><li>Enabled</li></ul>                                                                                                                                                                                                                       |
| Attribute type:  | Boolean                                                                                                                                                                                                                                         |
| Possible values: | <ul><li>true</li><li>false</li></ul>                                                                                                                                                                                                            |

[Back to the top...](#draft-appserverparameters-servicename)

### Autocorrect

| Description:     | **Autocorrect** defines autocorrect settings for a language. |
| ---------------- | ------------------------------------------------------------ |
| Attributes:      | <ul><li>Enabled</li></ul>                                    |
| Attribute type:  | Boolean                                                      |
| Possible values: | <ul><li>true</li><li>false</li></ul>                         |

[Back to the top...](#draft-appserverparameters-servicename)

#### Dictionary

| Description:     | **Dictionary** sets autocorrect pairs file.               |
| ---------------- | --------------------------------------------------------- |
| Attributes:      | <ul><li>Path</li></ul>                                    |
| Attribute type:  | String                                                    |
| Possible values: | Path relative to [#resourcesdir](#resourcesdir "mention") |

```xml
<Autocorrect Enabled="true">
	<Dictionary Path="en/en_US_autocorrect.csv"/>
</Autocorrect>
```

[Back to the top...](#draft-appserverparameters-servicename)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wproofreader.com/v6.12.0/deployment/configuration/application-server/appserver-parameters.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
