Jump to content

Platform Team/Prosody: Difference between revisions

From Sugar Labs
mNo edit summary
No edit summary
Line 1: Line 1:
== Purpose ==
== Purpose ==


The reasons to use Prosody Jabber/XMPP server:
These are reasons to use Prosody Jabber/XMPP server:


* be humble for consuming memory and CPU resources, especially for Sugar Server Kit usecase (up to 1K users),
* be humble for consuming memory and CPU resources, especially for the Sugar Server Kit usecase (up to 1K users),
* jabber server should be simply initially configured and work in unmaintained mode as long as possible.
* jabber server should be simple to initially configure, and work in an unmaintained mode as long as possible.


== Plugins ==
== Plugins ==


These plugins are tested against Prosody 0.8.2 version.
These plugins are tested against the Prosody 0.8.2 version.


=== mod_sugar_roster ===
=== mod_sugar_roster ===


Provides global roster when every user sees all registered accounts.
Provides a global roster, where every user sees all registered accounts.


=== mod_sugar_muc ===
=== mod_sugar_muc ===


The only difference in comparing with original {{Code|mod_muc}} plugin is a workaround for
The only difference compared with the original {{Code|mod_muc}} plugin is a workaround for the
[https://bugs.freedesktop.org/show_bug.cgi?id=37897 telepathy-gabble]/[https://code.google.com/p/lxmppd/issues/detail?id=254 Prosody] issue.
[https://bugs.freedesktop.org/show_bug.cgi?id=37897 telepathy-gabble]/[https://code.google.com/p/lxmppd/issues/detail?id=254 Prosody] issue.


This plugin should be used instead of {{Code|mod_muc}} until issue will be fixed in telepathy-gabble or in Prosody.
This plugin should be used instead of {{Code|mod_muc}} until the issue is fixed in telepathy-gabble or in Prosody.


=== mod_sugar_saslauth ===
=== mod_sugar_saslauth ===


Original {{Code|mod_saslauth}} plugin with preventing multiple auth from the same jid. See {{Code|sm_make_authenticated()}} function in its sources.
This is the original {{Code|mod_saslauth}} plugin with code preventing multiple authentication from the same jid. See the {{Code|sm_make_authenticated()}} function in the source.


This plugin should be used instead of {{Code|mod_saslauth}} until more lightweight implementation is found.
This plugin should be used instead of {{Code|mod_saslauth}} until a more lightweight implementation is found.


== Installation ==
== Installation ==


To reuse sugar plugins, copy them to the directory with Prosody plugins. Or, install {{Code|prosody-sugar}} package from Sugar Server Kit [http://download.sugarlabs.org/packages/Server:/ repository].
To reuse sugar plugins, copy them to the directory with Prosody plugins. Or, install the {{Code|prosody-sugar}} package from the Sugar Server Kit [http://download.sugarlabs.org/packages/Server:/ repository].


== Configuration ==
== Configuration ==


See sugar-server-templates [http://git.sugarlabs.org/server/templates/trees/master/etc/prosody sources] for configuration example.
See sugar-server-templates [http://git.sugarlabs.org/server/templates/trees/master/etc/prosody sources] for a configuration example.


== Getting involved ==
== Getting involved ==
Line 42: Line 42:


* Dynamically remove users from the sugar roster if they are offline for some reasonable time (for now, there is a patch to kick offline users from sugar roster asap to workaround buggy sugar-0.9x collab code).
* Dynamically remove users from the sugar roster if they are offline for some reasonable time (for now, there is a patch to kick offline users from sugar roster asap to workaround buggy sugar-0.9x collab code).
* Compare Prosody resources consumption with existed ejabberd.
* Compare Prosody resources consumption with existing ejabberd.


== Resources ==
== Resources ==

Revision as of 16:41, 23 August 2011

Purpose

These are reasons to use Prosody Jabber/XMPP server:

  • be humble for consuming memory and CPU resources, especially for the Sugar Server Kit usecase (up to 1K users),
  • jabber server should be simple to initially configure, and work in an unmaintained mode as long as possible.

Plugins

These plugins are tested against the Prosody 0.8.2 version.

mod_sugar_roster

Provides a global roster, where every user sees all registered accounts.

mod_sugar_muc

The only difference compared with the original mod_muc plugin is a workaround for the telepathy-gabble/Prosody issue.

This plugin should be used instead of mod_muc until the issue is fixed in telepathy-gabble or in Prosody.

mod_sugar_saslauth

This is the original mod_saslauth plugin with code preventing multiple authentication from the same jid. See the sm_make_authenticated() function in the source.

This plugin should be used instead of mod_saslauth until a more lightweight implementation is found.

Installation

To reuse sugar plugins, copy them to the directory with Prosody plugins. Or, install the prosody-sugar package from the Sugar Server Kit repository.

Configuration

See sugar-server-templates sources for a configuration example.

Getting involved

Please, read the HACKING file.

TODO

  • Dynamically remove users from the sugar roster if they are offline for some reasonable time (for now, there is a patch to kick offline users from sugar roster asap to workaround buggy sugar-0.9x collab code).
  • Compare Prosody resources consumption with existing ejabberd.

Resources