ejabberd: получить историю чата из mysql db - PullRequest
6 голосов
/ 28 марта 2012

Я создаю систему чата на основе ejabberd с использованием клиента iOS (и XMPPFramework ).

Моя текущая система чата поддерживает только один наодин разговор между пользователями, сохраняющими историю чата в базе данных MySQL.

Чтобы воссоздать ту же систему чата, мне понадобится ejabberd для извлечения истории чата из моей базы данных, чтобы пользователи не теряли предыдущие разговоры, когдапереход на новую систему чата.

Я бы не хотел сохранять разговор на стороне клиента, поскольку приложение iOS можно удалить и переустановить (или пользователь может переключить устройство).

Можно ли заставить ejabberd читать чатистория из моей базы данных MySQL?

Ответы [ 2 ]

4 голосов
/ 16 апреля 2012

Это должно быть возможно с mod_archive_odbc .Это дополнительный модуль ejabberd, который вы можете найти, проверив http://svn.process -one.net / ejabberd-modules / с SVN.Пример сборки и установки модуля в Debian можно найти здесь .

3 голосов
/ 21 января 2015

Вопрос немного устарел, но если кому-то все еще интересно.

Этого можно достичь с помощью управления архивом сообщений (http://xmpp.org/extensions/xep-0313.html).

Наиболее полная реализация этого XEP в MongooseIM(форк ejabberd). https://github.com/esl/MongooseIM/blob/master/apps/ejabberd/src/mod_mam.erl

Страница ProcessOne утверждает, что поддерживает архивацию на этой странице: http://www.process -one.net / ru / ejabberd / # getejabberd , но естьна этой странице нет упоминания: http://www.process -one.net / ru / ejabberd / protocol / . Похоже, они используют свою пользовательскую спецификацию.

Обратите внимание, что вы выиграли 'невозможно использовать mod_mam из MongooseIM напрямую с processone ejabberd из-за небольших различий в аргументах функций, вызываемых модулем.

...