Platform Team/Prosody

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

  • Report on bugs.
  • Read the HACKING file to know how to contribute with code.

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