DXMPP Screenshot

DXMPP creates a themeable browser chat client for an XMPP server.

At its core, it uses the Strophe library to connect via long AJAX pulls (aka Comet) to an XMPP server. Users are automatically registered and associated w/ Drupal users, and it also automatically synchronizes User Relationships.

By default, the themeable chat sessions are displayed via JavaScript in a fixed bottom position on the page. The roster expands, and an icon (via ImageCache, if enabled) representing each user will expand a chat box next to it.

I've successfully gotten the module to integrate with ejabberd, although there are other alternatives, such as OpenFire, both licensed under GPL.

After enabling and configuring your XMPP server, you'll also need to copy the Strophe library somewhere in your /sites/all/libraries folder. The module will automatically discover its location.

Look here for more helpful links and documentation for the set-up and configuration, which can be difficult at best, especially when you're first starting out with XMPP.

You may also consider joining the Drupal XMPP group.

Why not XMPP Framework?

Firstly, the XMPP Framework assumes you're set up on the same server as your XMPP server, and also assumes an LDAP configuration. This did not meet our needs. Finally, the chat client bundled with that module is not themeable, at least not by Drupal.

We also considered the Strophe module, but it is not currently distributed in Drupal.org contributions. Additionally, it assumes you're set up on the same server.

Dependencies
You'll need to install the DRUPAL-6--2 dev branch of jQuery Update.
You'll also need to install jQuery UI, with the jQuery UI library version 1.7.2 or later.
You may optionally choose to use ImageCache to dynamically resize user icons.

Sponsorship

Development by Advomatic was sponsored by the good folks at Xomba.

Project Information

Downloads