Project

General

Profile

Automatic archiving of MUC messages

Automatic storing of MUC messages in user message archive was added as new feature to standard Message Archiving component in upcoming 1.2.0 release. (currently available in 1.2.0-SNASHOT)

Description

If this feature is enabled MUC messages are stored in Message Archiving repository and are added in same way as for any other messages and jid of MUC room is used as jid of user, so if MUC message from test@muc.example.com was storred then to retrieve this messages test@muc.example.com needs to be passed as with attribute to message retrieve request. Retrieved MUC messages will be retrieved in same format as normal message with one exception - each message will contain name attribute with name of occupant in room which sent this message.

This feature is by default disabled but it is possible to enable this by user. Additionally it is possible to change this default setting on installation level and on hosted domain level to enable this feature, disable feature or allow user to decide if user want this feature to be enabled.

Notes:
It is worth to mention that even if more than on user resource joined same room and each resource will receive same messages then only single message will be stored in Message Archving repository.
It is also important to note that MUC messages are archived to user message archive only when user is joined to MUC room (so if message was sent to room but it was not sent to particular user)

Configuration

As mentioned above no additional configuration options than default configuration of Message Archiving component and plugin is needed to let user decide if he wants to enable or disable this feature (but it is disabled by default). In this case user to enable this feature needs to set settings of message archiving adding muc-save attribute to default element of request with value set to true (or to false to disable this feature).

To configure state of this feature on installation level following line needs to be added to etc/init.properties

sess-man/plugins-conf/message-archive-xep-0136/store-muc-messages=value
where value may be one of following values:
  • user - allows value to be set on domain level or by user if domain level setting allows that
  • true - enables feature for every user in every hosted domain (cannot be overridden by on domain or user level)
  • false - disables feature for every user in every hosted domain (cannot be overridden by on domain or user level)
To configure state of this feature on domain level, you need to execute vhost configuration command. In list of fields to configure domain, field to set this will be available with following values:
  • user - allows user to stat of this feature (if allowed on installation level)
  • true - enables feature for users of configured domain (user will not be able to disable)
  • false - disables feature for users of configured domain (user will not be able to disable)
Included in documentation