Message archiving
There are a various reasons a server administrator might want to enable archiving of user messages. Prosody has a number of modules to cater for different setups. The table below gives an overview of the available modules, all of which are available from the prosody-modules project.
Module comparison
Module | Protocol | Storage | Notes |
---|---|---|---|
mod_message_logging | None | Text files | Recommended for archiving for compliance/auditing purposes. |
mod_log_messages_sql | None | External SQL storage | Recommended alternative to mod_message_logging when logging to SQL is a requirement. |
mod_log_messages | None | Text files | Inefficient, for example purposes only. |
mod_mam | XEP-0313 | Internal archive storage | In-memory unless coupled with an appropriate storage module. |
mod_archive | XEP-0136 | Internal object storage | Inefficient. |
mod_mam_archive | XEP-0136 | Internal archive storage | Unmaintained community module, may be buggy. For legacy clients that do not support XEP-0313. |
Which protocol?
If you are archiving messages for compliance/auditing purposes, you should choose one of the modules with no protocol associated with them. These log to files or a database, which can be backed up or rotated as necessary.
Alternatively if you want users to be able to access and manage their archive, choose a module with either XEP-0136 or XEP-0313 support. The user's client must implement the same protocol to be able to access the archive.