skip to navigation
skip to content 0.2b2

XMPP-based instant Messaging for Plone

Latest Version: 0.3.1

Introduction provides instant messaging for Plone. It uses the XMPP protocol and requires an XMPP server (such as ejabberd) for the message handling.


  • Manually or automically subscribe to other users.
  • With manual roster subscriptions, you can accept or decline contact requests.
  • Chat statuses (online, busy, away, offline)
  • Custom status message
  • Typing notifications (i.e when the contact is typing)
  • Third person messages (/me )
  • Multi-user chat in chatrooms
  • Topics can be set for chatrooms
  • Full name and profile picture support


XMPP integration with Plone is provided by the collective.xmpp.core package. Please refer to its README on how to set it up.

You can use the buildout at collective.xmpp.buildout.

The buildout in this egg is used for development purposes.

You’ll need to have a working XMPP server and access to the administration account on the server.

Your XMPP server will have to support the following extensions


You’ll need to have an administrator account on the Jabber server you’ll be using. Refer to the collective.xmpp.core README for information on how to set this up.

Once you’ve installed, you should go to the Plone registry in the control panel and set the XMPP Domain as well as the XMPP Admin JID and XMPP Admin Password values.

Additionally you have the option Auto-subscribe XMPP users, which is disabled by default.

Enable this option if you don’t want your users to manually maintain their rosters (i.e subscribing and unsubscribing to one another) and would rather have everyone subscribe to everyone else. Be careful however, this might cause a lot of overhead (and therefore be quite slow) on sites with large userbases.

Important details for developers

Since a recent commit this package now makes use of a git submodule (specifically the the ./browser/resources dir).

Once you have cloned this repo, you need to run two commands:

git submodule init
git submodule update

For more information on submodules and how to work with them, refer to the git book.


0.2b2 (Unreleased)

  • Fixed to include the resources dir. [jcbrand]

0.2b1 (2013-01-16)

  • Added Spanish translation. [macagua]
  • Added improvements about i18n support. [macagua]
  • Fixed JS resources order, otherwise the users were “Unable to pre-bind …” [alecghica]
  • Remove javascript and stylesheets dirs and replace with ‘resources’ dir which is a git submodule pointing to the converse.js repo. [jcbrand]
  • Separate messages from different days [jcbrand]
  • Add /help command for both single and group chat. Add /clear command for single user chat. [jcbrand]
  • Fixes for IE8 [jcbrand]

0.2a3 (2012-11-19)

  • Bugfix. Unable to join chatroom when user with same first name already joined. [jcbrand]

0.2a2 (2012-11-09)

  • Add support for chatting with having multiple tabs open. [jcbrand]
  • Chatboxes now show the user’s profile photo and a link to their profile. [jcbrand]
  • Some CSS and JS fixes. [jcbrand]

0.1 (2012-10-18)

  • Initial release. (Please consider this an alpha release). [jcbrand]
File Type Py Version Uploaded on Size (md5) Source 2013-01-16 552KB