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 Chats 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
Disable Legacy Chats#
To completely disable the legacy Chats, both textual and video, you need to carry out tasks at different levels: global, COS, account, and application.
Hint
All commands in this section, except where explicitly
stated, must be executed as the zextras
user.
We start by disabling the functionality on the whole infrastructure.
zextras$ carbonio config set global teamChatEnabled false
zextras$ carbonio config set global videoChatEnabled false
Then, disable the functionality on all CoSes in which it is enabled with the following two one-liners.
zextras$ carbonio prov gac | while read cos; do echo "config set cos \"$cos\" teamChatEnabled false"; echo "config set cos \"$cos\" videoChatEnabled false"; done | carbonio
zextras$ carbonio prov gac | while read cos; do echo "mc \"$cos\" carbonioFeatureWscEnabled FALSE"; done | carbonio prov
Disable the functionality on all accounts in which it is enabled with the following two one-liners.
zextras$ carbonio prov -l gaa | while read account; do echo "config set account \"$account\" teamChatEnabled false"; echo "config set account \"$account\" videoChatEnabled false"; done | carbonio
zextras$ carbonio prov -l gaa | while read account; do echo "ma \"$account\" carbonioFeatureWscEnabled \"\""; done | carbonio prov
On the node hosting the Mailstore & Provisioning Role, disable the Chat’s automatic start, then stop the service.
zextras$ carbonio config set global ZxChat_ModuleEnabledAtStartup false
zextras$ carbonio chats dostopservice module
At this point the Chats functionality is completely disabled. You can
now log in to the Proxy Node and remove the package providing Chats
as the root
user:
# apt remove carbonio-chats-ui
# dnf remove carbonio-chats-ui
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.
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
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 |
Once you modify any of these changes, restart the service.
# systemctl restart carbonio-notification-push
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