WSC Advanced#

This section contains advanced Work Stream Collaboration (Chats) configuration and suggestions to improve performances and optimise the Module.

WSC Configuration#

In this section we present advanced configuration options for Work Stream Collaboration (Chats).

User Search Across Domains#

In a multi-domain Carbonio infrastructure, Administrators can decide on which domains a user can be found when starting a new chat.

The search on all domains can be activated with CLI command

zextras$ carbonio prov mcf carbonioSearchAllDomainsByFeature TRUE

To allow users to search other users only on their domain, use FALSE instead of TRUE.

See also

This option is available on the Carbonio Admin Panel, please see the dedicated box in the Domain’s global settings.

Set Legacy Chat Read Only#

If you enabled Work Stream Collaboration (Chats), to prevent user using the old Chats, you can set it in read-only mode. By doing so, users will still able to access the textual Chats, the Spaces, and the Rooms, but it will not be possible to message users or create new Spaces and Rooms. Additionally, the input bar at the bottom will be replaced by a string The application is in Read Only mode.

To set the legacy Chats read-only,, use the CLI command

zextras$ carbonio config set cos default teamReadOnlyEnabled true

WSC Optimisations#

Once the Work Stream Collaboration (Chats) is operational, some tweaking can be applied to its configuration to improve performances.

The remainder of this page contains a few tables that list the Key names and the default values of some Work Stream Collaboration (Chats) configuration values that you can modify. You can take these tables into account in case you want to revert some values to their default after some unsatisfactory change.

How to Modify Values#

Values can be changed by using, from any Node, the Carbonio Mesh kv interface: you can access it using the consul command from the CLI.

  • To verify the current value of any key, use command

    # consul kv get -token-file="$CONSUL_TOKEN_PATH" "$KEY"
    
  • To modify one of the values reported in the tables below, use command

    # consul kv put -token-file="$CONSUL_TOKEN_PATH" "$KEY" "$VALUE"
    

In the commands, $CONSUL_TOKEN_PATH is the Carbonio Mesh secret stored on the Directory Service server, while $KEY and $VALUE are the key name and the new value, respectively, as written in the tables.

Hint

The Carbonio Mesh token can be retrieved using the procedure described in section Retrieve Token.

Configuration tables#

The following tables are available to optimise Work Stream Collaboration (Chats): Push Connector, Push Notifications Database, and the WSC databases.

Push Connector

The following values can be modified via the Carbonio Mesh interface (see Section Carbonio Mesh Administration Interface) or via the CLI, using the commands that follow the table.

Key name

Default value

carbonio-push-connector/hikari/min-idle-connections

10

carbonio-push-connector/hikari/max-pool-size

10

carbonio-push-connector/hikari/idle-timeout

10000

carbonio-push-connector/hikari/leak-detection-threshold

5000

Once you modify any of these changes, restart the service.

# systemctl restart carbonio-push-connector
Configure Push Notifications Database

Key name

Default value

carbonio-notification-push/hikari/min-idle-connections

10

carbonio-notification-push/hikari/max-pool-size

10

carbonio-notification-push/hikari/idle-timeout

10000

carbonio-notification-push/hikari/leak-detection-threshold

5000

Configure Work Stream Collaboration (Chats) Database

Key name

Default value

carbonio-ws-collaboration/hikari/min-idle-connections

10

carbonio-ws-collaboration/hikari/max-pool-size

10

carbonio-ws-collaboration/hikari/idle-timeout

10000

carbonio-ws-collaboration/hikari/leak-detection-threshold

5000

Modify Connection Pool#

This optimisation does not require access to the kv interface. Instead, you need to edit file /etc/carbonio/message-dispatcher/mongooseim.toml and change the value of workers in section [outgoing_pools.rdbms.default]:

[outgoing_pools.rdbms.default]
  scope = "global"
  strategy = "best_worker"
  workers = 10 # db connection pool numbers

Then, restart the service.

# systemctl restart carbonio-message-dispatcher