#
# Settings for the Silverpeas chat service.
#

# Enable the chat service? By default, it isn't enabled. You have to set correctly all the
# chat properties before enabling it.
chat.enable = false

# The silverpeas identifier of the chat client.
# Two client are today usable with silverpeas with following identifiers:
# - jsxc (https://www.jsxc.org)
# - conversejs (https://conversejs.org)
# If empty, then 'jsxc' is used by default.
chat.client.spid = jsxc

# The hostname (or IP address) and the port of an ICE server to use with video/audio chat.
# If empty, then the video/audio chat is disabled.
chat.servers.ice =

# The URL (schema + hostname or IP address + port) of the XMPP server with which the Silverpeas
# Chat client can communicate through the Web. It must be set for the chat to be enabled.
# All others XMPP services' URL is computed from this property.
# The value of this property will be use also used to set correctly the security settings of
# Silverpeas in order to authorize the connexions with the remote XMPP service from the web browser.
chat.servers.xmpp =

# Sometimes, it can be useful to indicates that the chat URL is a safe one in order to bypass
# all SSL certificate validation which could be in error.
# It can unlock some situations of temporary bad SSL certificates (expired for example).
# true indicates that the URL is safe and that SSL validations can be bypassed.
# false (default value) indicates that the URL MUST be verified if it is necessary.
chat.servers.xmpp.safe =

# The URL at which the XMPP server is listening for HTTP file transfers between users. Usually, this
# property doesn't need to be set as it is discovered by the chat client when negotiating with the
# XMPP server. Nevertheless, it has to be explicitly set if the XMPP server is behind a proxy or the
# HTTP file transfer service is listening at a port different that the XMPP server one. This
# property is mainly used to set correctly the security settings of Silverpeas in order to let the
# user's web browser to upload files to the XMPP server.
chat.xmpp.httpUpload =

# The relative URL's path of the BOSH service through which the chat client communicates with the
# XMPP server. The URL will be computed from the chat.servers.xmpp property and this property below.
chat.xmpp.httpBind =

# The relative URL's path of the websocket service through which the chat client communicates with the
# XMPP server. The URL will be computed from the chat.servers.xmpp property and this property below.
# If filled, above parameter 'chat.xmpp.httpBind' is ignored.
chat.xmpp.wsBind =

# The relative URL's path of the REST service through which Silverpeas creates users and their
# relationships in the XMPP server. The URL will be computed from the chat.servers.xmpp property
# and this property below.
chat.xmpp.rest =

# The authentication token used to access the REST service of the XMPP server.
chat.xmpp.restKey =

# XMPP domain definitions.
# They define a matching between a Silverpeas domain (through its unique identifier) and an XMPP
# domain. For example:
# chat.xmpp.domain.0 = im.silverpeas.net
# defines a matching between the Silverpeas domain with 0 as identifier and the XMPP domain
# im.silverpeas.net
# For any Silverpeas domains being not mapped to a given XMPP domain, they can be by default
# automatically mapped to the XMPP domain indicated by the properties domain.xmpp.domain.default.
# If this properties isn't set, then no default mapping is performed and then users of any non
# mapped Silverpeas domains won't have an XMPP account and by consequence the IM chat won't be
# enabled for them.
chat.xmpp.domain.default =
chat.xmpp.domain.0 =

# By default, the chat service is available for the whole users in Silverpeas whose the user domain
# is mapped to an XMPP domain (see properties chat.xmpp.domain.* above). This property constrains
# the availability of the chat service to only the users that are in some groups of users in
# Silverpeas. If this property is set, then the chat will be enabled only for the users that are in
# the following user groups (and that are in a user domain mapped to an XMPP domain). The property
# accepts as value a comma-separated list of user group identifiers. For example:
# chat.xmpp.domain.groups = 1,12,42
chat.xmpp.domain.groups =

# The JID of each user in Silverpeas is computed from their login and from their Silverpeas domain
# (by following the domain mapping rule above). Because a JID is formatted as
# <localpart>@<xmpp domain> (see RFC 7622), an address email as login cannot be used as such, and it
# requires then to be converted. Currently, there is two ways to convert such logins: either by
# removing the domain part of the address email (value O) or by encoding the special character @
# with a specific code (value 1). The removing of the domain part of an address email as login is
# the default.
chat.xmpp.jid.policy = 1

# ACL on the chat behaviours. By default, all the users for which the chat is enabled have access
# the whole functionalities of the chat client. To restrict the access to some functionalities, then
# set the corresponding properties with the identifier of the groups of users in Silverpeas for
# which the functionality is only allowed.

# The coma-separated list of the identifier of the groups of users for which the creation of a
# group chat is only allowed. Nothing means to all.
chat.acl.groupchat.creation =

# For a room, the threshold of cached messages over that messages are clean from the web browser storage
# 20 by default (when not specified too)
chat.client.conversejs.maxCachedMsgThresholdPerRoom = 200

# In some cases, it might be desirable to clear entirely the cache on logout.
# false by default (disabled)
chat.client.conversejs.clearCacheOnLogout = false

# In some cases, it might be desirable to clear cached chat messages once you\u2019ve reconnected to the XMPP server.
# For example, if you want to prevent the chat history from getting too long or if you want to avoid gaps
# in the chat history (for example due to MAM not returning all messages since the last cached message).
# true by default (enabled)
chat.client.conversejs.clearMessagesOnReconnection = true

# If truthy, Converse will automatically register a user\u2019s nickname upon entering a groupchat.
# Allowed values: false, true, 'unregister'
# By default: true
# Sometimes, nicknames into a group are not well handled, and playing with this value can restore a
# better behavior.
# Please see https://conversejs.org/docs/html/configuration.html#auto-register-muc-nickname for
# more information
chat.client.conversejs.autoRegisterMucNickname = true

# If true, the user will automatically join a chatroom on invite without any confirm.
# Also inviting users won\u2019t be prompted for a reason.
# By default: true
# Please see https://conversejs.org/docs/html/configuration.html#auto-join-on-invite for more
# information
chat.client.conversejs.autoJoinOnInvite = true

# Enabling the 'reply to' message (enabled for conversejs by default)
chat.client.conversejs.replyTo.enabled = true

# Enabling the 'reaction to' message (not enabled for conversejs by default)
chat.client.conversejs.reactionTo.enabled = false

# Enabling the visio (not enabled for conversejs by default)
chat.client.conversejs.visio.enabled = false

# The URL from which the visio MUST be started into an IFRAME.
# It can be a path into Silverpeas's server (the default case which permits to use other following visio parameters).
# Or it can be a full URL. In that case, the other following visio parameters are ignored.
# If empty, the default Silverpeas's path is used ("/visio")
chat.client.conversejs.visio.url =

# The URL from which the visio MUST be started into an IFRAME.
# "meet.jit.si" by default (when there is no value specified).
chat.client.conversejs.visio.domainServer =

# The Token that MUST be passed to the visio manager.
# None by default.
chat.client.conversejs.visio.jwt =

# Enabling screencast (not enabled by default)
chat.client.conversejs.screencast.enabled = false
