Platform Team/Prosody

From Sugar Labs
Jump to navigation Jump to search

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_pep

Original mod_pep plugin with allowing all buddies from the sugar roster get all notification even without proper subscriptions. This plugin seems to be a workaround because subscription should be done on client side but that doesn't happen. The affected use case can be reproduced in Glucse-0.88 (Dextrose-2) environment:

  1. Clean up data/ directory;
  2. Start XO #1;
  3. Start XO #2;
  4. Create and share activity instance on XO #2;
  5. F1 view on XO #1 doesn't show shared activity;
  6. Sharing activity on XO #1, is visible from XO #2.

In over words, XO #1 is not subscribed to PEP notifications from XO #2.

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.

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