Цей модуль зберігає повідомлення в окремих для користувачів архівах, та дозволяє клієнтам, які реалізують XEP-0313, отримувати доступ до архіва.
Це може бути використано для синхронізації діалогів між багатьма клієнтами, навіть якщо вони не в мережі, коли відбулась розмова, або для клієнтів, щоб відображати браузер історії діалогів користувачу.
mod_carbons є пов'язаним модулем, який використовується для синхронізації діалогів між клієнтами в мережі.
Додайте "mam" до вашого списка modules_enabled:
modules_enabled = { -- ... "mam", -- ... }
Опція За замовчуванням Опис archive_expires_after "1w" Наскільки довго повідомлення зберігаються в архіві. Дивіться Витік архіву. default_archive_policy true Контролює, чи повідомлення архівуються за замовчуванням. true (завжди), false (тільки якщо користувач увімкне це), "roster" (тільки для контактів). archive_cleanup_interval 4*60*60 Кількість секунд між завданнями очищення (тобто, як часто Prosody дивиться за витікшими з терміна повідомленнями та видаляє їх). max_archive_query_results 50 Максимальне число повідомлень, яке повертається клієнту за один раз. Занадто низьке спровокує більше число споживання ресурсів на сервері. archive_store "archive" Назва ємності, в якій буде заархівовано повідомлення. Цьому не варто бути зміненим, допоки ви не переходите з більш ранньої версії. dont_archive_namespaces { "http://jabber.org/protocol/chatstates" } Список адресних просторів, яким не варто бути заархівованими. mam_smart_enable false Тільки вмикати архівацію для користувачів, які зробили запит до архіву. Це може бути використано для перешкоджання архівуванню для користувачів зі старими клієнтами, що не використовують це.
mod_mam використовує ємність "archive". Подивіться документацію збереження даних Prosody для інформації про те, як налаштовувати схов.
Наприклад, щоб використовувати mod_storage_sql тільки для архівів MAM:
storage = { archive = "sql"; }
Якщо жоден сумісний з архівами бекенд схову не може бути відкритий, тоді буде використано внутрішній в пам'яті в якості відступу.
Ранні версії mod_mam (які були доступними в prosody-modules), зберігали дані в сховищі, яке називається 'archive2'. Це сховище тепер називається просто 'archive'.
mod_mam може бути проінструктовано використовувати старіше ім'я схову, якщо ви досі маєте дані там.
archive_store = "archive2"; -- старі дані storage = { archive2 = "sql"; }
Для причин конфіденційності та продуктивності, ви могли би віддавати перевагу тримати повідомлення тільки в пам'яті. Це найкраще працює на маленьких серверах, та очевидно, якщо Prosody перезавантажується, тоді це можливо, що деякі клієнти можуть не отримати повідомлення. Відмітьте, що якщо всі клієнти не в мережі, повідомлення все одно буде збережено через mod_offline.
-- Приклад використання схову в пам'яті для архівів, та sql для всього іншого default_storage = "sql" storage = { archive = "memory" }
Протокол MAM включає шлях для клієнтів контролювати, яким повідомленням варто бути збереженими. Це дозволяє користувачам вмикати або вимикати архівацію за замовчуванням або для конкретних контактів.
Сервер може вказати політику за замовчуванням, використовуючи default_archive_policy.
default_archive_policy = true
default_archive_policy = Значення false Не зберігати повідомлення "roster" Зберігати повідомлення до/від контактів із списка користувача. true Зберігати всі повідомлення. Це є за замовчуванням.
Якщо mam_smart_enable встановлено на true, тоді архівування вимкнено, допоки користувач або не зробить запит до їх архіва, або не використовує протокол налаштувань MAM. З того моменту, як вони використовують, їх налаштування ініціалізовані на значення default_archive_policy.
Повідомлення в архіві витічуть після деякого часу, за замовчуванням одного тижня. Це може бути змінено встановленням archive_expires_after:
archive_expires_after = "1d" -- один день archive_expires_after = "1w" -- один тиждень, за замовчуванням archive_expires_after = "2m" -- два місяці archive_expires_after = "1y" -- один рік archive_expires_after = 60 * 60 -- одна година archive_expires_after = "never" -- тримати повідомлення вічно
Форматом є число integer секунд або кратний періоду, даному суфіксом, що може бути один із d (день), w (тиждень), m (місяць) або y (рік). Відсутність множника означає секунди.
max_archive_query_results = 20
Це найбільше значення повідомлень, яким дозволено бути отриманим в одну сторінку запита. Запит, який не вміщується в одну сторінку, включатиме посилання на наступну сторінку, дозволяючи клієнтам гортати сторінки через виборку результата. Встановлення великого числа є не рекомендованим, оскільки Prosody буде заблоковано, під час обробки запита і не буде здатний робити щось ще.
Attribution-ShareAlike 4.0 International