2012-03-28 26 views
6

Ich baue ein Chat-System basierend auf ejabberd mit einem iOS-Client (und XMPPFramework).ejabberd: Chat-Verlauf von mysql db abrufen

Mein aktuelles Chat-System unterstützt nur Einzelgespräche zwischen Benutzern, die einen Chat-Verlauf in einer MySQL-Datenbank speichern.

Um das gleiche Chat-System neu zu erstellen, würde ich ejabberd benötigen, um den Chat-Verlauf von meiner Datenbank abzurufen, damit die Benutzer die vorherigen Konversationen beim Wechsel zum neuen Chat-System nicht verlieren.

Ich möchte die Konversation clientseitig nicht speichern, da die iOS App gelöscht und neu installiert werden kann (oder der Benutzer könnte das Gerät wechseln).

Ist es möglich, Ejabberd lesen Chat-Verlauf von meinem MySQL db?

Antwort

3

Die Frage ist ein bisschen alt, aber wenn jemand noch interessiert ist.

Dies könnte durch Message Archive Management (http://xmpp.org/extensions/xep-0313.html) erreicht werden.

Die vollständigste Implementierung dieses XEP ist in MongooseIM (Ableger von Ejabberd). https://github.com/esl/MongooseIM/blob/master/apps/ejabberd/src/mod_mam.erl

ProcessOne Seite behauptet Unterstützung hat auf dieser Seite für die Archivierung: http://www.process-one.net/en/ejabberd/#getejabberd, aber es gibt keinen Hinweis auf dieser Seite: http://www.process-one.net/en/ejabberd/protocols/. Sieht so aus, als ob sie ihre benutzerdefinierten Spezifikationen verwenden.

Bitte beachten Sie, dass Sie mod_mam aus MongooseIM nicht direkt mit processone ejabberd verwenden können, da die Funktionsargumente des Moduls nur geringfügig voneinander abweichen.