2012-11-01 63 views
3

严重的头痛,试图让ejabberd集成到现有的Rails应用程序中以支持聊天部分。希望任何人都能做到这一点,这可以分享一些关于如何以最佳方式解决目前存在问题的见解。ejabberd:管理添加/删除朋友

我的目标:

1.存放在mysql数据库,方便备份 所有数据为了这个,我使用mysql司机到目前为止好已经安装MySQL的使用情况ejabberd

2.容易添加和删​​除彼此名单的用户(添加和删除朋友连接)为此,我已设置模块休息和mod_admin_extra能够从rails应用程序休息的电话ejabberd。该ejabberd管理模块允许添加和删除用户,但(溢出:https://stackoverflow.com/a/5229902/355281)笔者说,它不能存储在MySQL Mnesia的数据总是使用mod_admin_extra

3.暂时用户添加到每个人列出或preferrable有一些临时空间可以添加2个用户,所以只要这个组存在就可以聊天。不知道如何处理这一切

  1. 问题似乎并不是所有的数据可以存储在MySQL中,所以数据惊天动地的Mnesia & Mysql的,很不好有2个地方的数据,并不能容易备份MySQL数据库

  2. 必须使用休息模块来做数据库的东西本身很好,但如何将2个用户添加到每个好友列表对我来说还不清楚。

虽然ejabberd似乎是最完整的了,我可能需要寻找以上问题的铲球另一台服务器箱XMPP服务器的。我的项目这部分内容令人头痛,希望有人能够澄清,并提供一些关于如何处理的建议。

例如:

  • 如果Facebook使用ejabberd他们是如何解决这些问题?
  • 是否有彻底改写ejabberd来解决上述问题?也许是一个商业xmpp服务器,具有体面的API和在1个中心位置添加/删除用户和存储数据的方式?

回答

2

由于您已经在使用MySQL,您可以直接使用Rails/MySQL来管理名单。 如果你不想直接在数据库中完成,这是完全可以理解的,你可以通过bosh(http://xmpp.org/extensions/xep-0206.html)连接到服务器,在那里你可以做你所要求的。有一个JS波什客户端,你可以用它作为一个指南来实现它在Rails中,它被称为http://strophe.im/ 关于有两个地方的数据,你应该有(或能够拥有)所有名单中的特定表MySQL,另外你可以配置几乎每一个持久的数据在MySQL上,我需要更多地了解你的具体问题和配置,以便能够详细阐述这一点。 eJabberd具有高度的可配置性和可扩展性,根据我的经验(与eJabberd合作超过8年),您基本上可以以任何一种方式实现任何类型的行为。

+0

你好!我为大多数模块设置了带有LDAP认证和MySQL的xmpp服务器(mongooseIm)。如果我直接在数据库中添加花名册......用户将立即同步,或者还有什么需要完成的工作来“查看”客户端上的这些更改?谢谢 – nhenrique