XMPP plugin for Roundcube Webmail based on converse.js
HTML PHP CSS JavaScript
Latest commit 2ee6e14 Dec 31, 2016 @devurandom Revert "Bump xmpp-prebind-php to latest master commit"
This reverts commit dcc3e30, which accidentally bumped php/xmpp-prebind-php into the past.
Permalink
Failed to load latest commit information.
fonticons Bump converse.js from v0.10.1 to v2.0.0 Oct 26, 2016
js
localization
php
skins/larry Simplify stylesheet to just font/-size and color Apr 6, 2016
.gitignore
.gitmodules
LICENSE.md
README.md Tell users to use v0.8.3.0 Oct 1, 2014
TROUBLESHOOTING.md
composer.json
config.inc.php.dist Add default for user preference if converse should be enabled Dec 31, 2016
converse.php Switch to loading converse.js 2.0.4 from official CDN Dec 31, 2016

README.md

Roundcube Converse.js XMPP plugin

This is XMPP plugin for Roundcube Webmail based on converse.js. This is very much a work in progress.

Requirements

  • BOSH support in XMPP server or BOSH connection manager
  • (optional) BOSH proxy in web server, to avoid crossdomain issues
  • (recommended) XMPP server set to broadcast incoming messages to all resources. See notes below.

Installation

  • cd your_roundcube_dir/plugins
  • git clone https://github.com/priyadi/roundcube-converse.js-xmpp-plugin converse
  • cd converse
  • git checkout v0.8.3.0
  • cp config.inc.php.dist config.inc.php
  • vi config.inc.php (make necessary adjustments)
  • cd your_roundcube_dir/
  • vi config/main.inc.php (add 'converse' to $rcmail_config['plugins'])
  • done!

If you are already logged on to Roundcube, you need to log out and log back in for the plugin to initialize correctly. You can also remove all your PHP session files to force log out all of your users.

Notes

This plugin creates a new XMPP session on each page rendering in order to support multiple active window. To avoid confusion it is recommended to have the XMPP server broadcast incoming messages to all resources.

  • Openfire: "route.all-resources: true"
  • Prosody: "ignore_presence_priority = true"

Troubleshooting

Read troubleshooting if you are having problem.

Development

The plugin has a complete and minified version of the converse.js library with all its dependencies included. For development, you can pull converse.js as a git submodule and include the scripts and style sheets directly from there.

  1. Load the converse.js and xmpp-prebind-php submodule:

    cd cd your_roundcube_dir/plugins/converse
    git submodule init && git submodule update
    
  2. Set $rcmail_config['converse_xmpp_devel_mode'] = true; in this plugins config file.

Credits