# Licensing configuration

These configuration items specify the thresholds at which Liberator reports warnings when licence limits are about to be reached, and the `uupp-*` items configure access to the [UUPP licence usage database](liberator-licence-management.md#the-licence-usage-database-uupp-database).

For an explanation of the licensing scheme used in the Caplin Platform, and more about how these configuration items are used, see [Licence management](liberator-licence-management.md).

For information on installing Liberator licences, see [Installing Liberator](liberator-installing-liberator.md).

**📌 NOTE**\
Liberator also supports a simpler scheme for regulating the number of users who can log in to Liberator. See the Auth module configuration items [max-user-limit](liberator-auth-module-configuration.md#max-user-limit), [max-user-ok](liberator-auth-module-configuration.md#max-user-ok), [max-user-warn](liberator-auth-module-configuration.md#max-user-warn) and [auth-eject-users](liberator-auth-module-configuration.md#auth-eject-users).

## application-usage-warn-level

`application-usage-warn-level` specifies the warning threshold for a client application in the Application Level licensing category.

This is the number of unique logins at which Liberator raises a warning that the license end user count is approaching the license limit for the application. It’s defined as a percentage of the license end user limit for the application.

This item overrides the value of [default-application-usage-warn-level](#default-application-usage-warn-level).

**Syntax:** `application-usage-warn-level <app-name> <warn-level>`

* `<app-name>` is the name of the client application. You can find the values of `<app-name>` that are valid for your licence by looking in the Liberator licence file at the application configuration items, which take the form: `application <app-name> <max-users> <max-logins-per-user>`
* `<warn-level>` is the number of unique logins at which the warning is raised. Specify this as a percentage of the license limit for the application.
  * Minimum value: `1` (1%)
  * Maximum value: `99` (99%)

**Type:** [string] [integer]

**Default:** (none, but the item is optional, and you can specify an instance for each licensed client application in your system)

## auth-trading-group-report-period

`auth-trading-group-report-period` specifies the reporting interval, in seconds, for event log messages about licence end user counts in the asset class (trading group) license category.

**Syntax:** `auth-trading-group-report-period <interval-in-seconds>`

**Type:** float

**Default value:** `3,600` seconds (`1` hour)

## auth-trading-group-usage-warn-level

`auth-trading-group-usage-warn-level` specifies the warning threshold for a trading group in the Asset Class (Trading Group) licensing category.

This is the number of unique logins at which Liberator raises a warning that the license end user count is approaching the license limit for the trading group. The value is defined as a percentage of the license end user limit for the trading group.

This item overrides the value of [default-trading-group-usage-warn-level](#default-trading-group-usage-warn-level).

**Syntax:** `auth-trading-group-usage-warn-level <trading-group> <warn-level>`

* `<trading-group>` is the name of the trading group, in the format `<application-id><asset-class>`. For example, the trading group called `\*/FX` means any application (`*`) trading the Foreign Exchange asset class (`/FX`). You can find the values of `<application-id>` and `<asset-class>` that are valid for your licence by looking in the Liberator licence file at the `max-traders` configuration items, which take the form: `max_traders <app-name> <asset-class> <max-users>`
* `<warn-level>` is the number of unique logins at which the warning is raised. Specify this as a percentage of the license limit for the trading group.
  * Minimum value: `1` (1%)
  * Maximum value: `99` (99%)

**Type:** [string] [integer]

**Default:** (none, but the item is optional, and you can specify an instance for each trading group in your system)

## auth-unique-applications-report-period

`auth-unique-applications-report-period` specifies the reporting interval, in seconds, for event log messages about license end user counts in the application level licensing and unique users licensing categories.

**Syntax:** `auth-unique-applications-report-period <interval-in-seconds>`

**Type:** float

**Default value:** `3,600` seconds (`1` hour)

## default-application-usage-warn-level

`default-application-usage-warn-level` specifies the default warning threshold for the Application Level licensing category.

This is the number of unique logins at which Liberator raises a warning that the license end user count is approaching the license limit for an application. The value is defined as a percentage of the license end user limit for the application.

This configuration item applies to any client application that doesn’t have a warning threshold defined through [application-usage-warn-level](#application-usage-warn-level).

**Syntax:** `default-application-usage-warn-level <level-in-percent>`

**Type:** integer

**Default value:** (none)

**Values accepted:**

* Minimum: `1` (`1`%)
* Maximum: `99` (`99`%)

## default-trading-group-usage-warn-level

`default-trading-group-usage-warn-level` specifies the default warning threshold for the Asset Class (Trading Group) licensing category.

This is the number of unique logins at which Liberator raises a warning that the license end user count is approaching the license limit for the trading group. The value is defined as a percentage of the license end user limit for the trading group.

This configuration item applies to any trading group that doesn’t have a warning threshold defined through [auth-trading-group-usage-warn-level](#auth-trading-group-usage-warn-level).

**Syntax:** `default-trading-group-usage-warn-level <level-in-percent>`

**Type:** integer

**Default value:** (none)

**Values accepted:**

* Minimum: `1` (`1`%)
* Maximum: `99` (`99`%)

## license-file

The location of the license file for Liberator.

For more information, see [license-file](../datasource/datasource-run-time-environment-configuration.md#license-file) in the DataSource run-time environment configuration.

## unique-users-usage-warn-level

`unique-users-usage-warn-level` specifies the default warning threshold for a client application in the Unique Users licensing category.

This is the number of unique logins at which Liberator raises a warning that the license end user count is approaching the license limit for this licensing category. The value is defined as a percentage of the license end user limit for the licensing category.

**Syntax:** `unique-users-usage-warn-level <level-in-percent>`

**Type:** integer

**Default value:** (none)

**Values accepted:**

* Minimum: `1` (`1`%)
* Maximum: `99` (`99`%)

## uupp-delimiter

`uupp-delimiter` specifies the delimiter that separates the `<username>` and `<application-id>` fields recorded in the [UUPP licence usage database](liberator-licence-management.md#the-licence-usage-database-uupp-database). The default is the colon character (`<username>:<application-id>`). This setting should normally be sufficient, but if your installation could have usernames or application-ids that contain colon characters, you should set the delimiter character to a value that doesn’t clash with these fields.

**Syntax:** `uupp-delimiter <delimiter-character>`

**Type:** character

**Default value:** `:` (colon)

**Examples**:

**Specifying a colon (default)**

```
uupp-delimiter ':'
```

**Specifying a '&iquest;' character using the octal code point 0277**

```
uupp-delimiter \277
```

**📌 NOTE**\
Octal code points are only recognised by configuration items of type 'Character'. Octal code points are _not_ recognised by configuration items of type 'String'.

## uupp-qdbm-name

`uupp-qdbm-name` specifies the location and name of the file containing the [UUPP licence usage database](liberator-licence-management.md#the-licence-usage-database-uupp-database).

This configuration item accepts the following substitution tokens:

* `%r` -- the absolute path to the root directory under which the Liberator runs (see [application-root](../datasource/datasource-run-time-environment-configuration.md#application-root)).
* `%a` -- Liberator’s application name (see [application-name](../datasource/datasource-run-time-environment-configuration.md#application-name)). Defaults to `rttpd`, if [application-name](../datasource/datasource-run-time-environment-configuration.md#application-name) is not set.

**Syntax:** `uupp-qdbm-name <file-path-and-name>`

**Type:** string

**Default value:** `%r/users/uupp-%a.db`

## uupp-sync-time

`uupp-sync-time` specifies the interval in seconds at which the in-memory [UUPP licence usage database](liberator-licence-management.md#the-licence-usage-database-uupp-database) is synchronised (written) to disk.

**Syntax:** `uupp-sync-time <time-in-seconds>`

**Type:** float

**Default value:** `300` seconds (`5` minutes)

Also see the auth module configuration items [write-users-period](liberator-auth-module-configuration.md#write-users-period) and [write-users-time](liberator-auth-module-configuration.md#write-users-time) in Liberator [Auth module configuration](liberator-auth-module-configuration.md), which govern how often the statistics about currently logged in users are written to the in-memory database.

---

**See also:**

* [Licence management](liberator-licence-management.md)
* [Caplin Platform: Guide to User Licensing](https://docs.caplin.com/developer/docs/Caplin_Platform_4.5_User_Licensing_Guide.pdf) (PDF)
* Reference: [Auth module configuration](liberator-auth-module-configuration.md)
