This is XMPP plugin for Roundcube Webmail based on converse.js. This is very much a work in progress.
- 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.
cd your_roundcube_dir/plugins
git clone https://github.com/priyadi/roundcube-converse.js-xmpp-plugin converse
cd converse
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!
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"
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.
-
Load the converse.js and xmpp-prebind-php submodule:
cd cd your_roundcube_dir/plugins/converse git submodule init && git submodule update
-
Set
$rcmail_config['converse_xmpp_devel_mode'] = true;
in this plugins config file.
- Some code were stolen from https://gist.github.com/Zash/3681653
- Converse.js
- Candy Chat for its prebinding library