<div dir="ltr"><div>Hi list!<br><br></div>No progress in my migration so I'll try another issue instead. I've managed to do a ugly hack with the converse.js-xmpp-plugin that has not seen any action in a while. You see, my municipality administration is considering a switch from FirstClass to Office365, but I would think that Kolab could make an excellent alternative, combined with some other software. <br><br>One of the key functions though, is the chat presence which is a must. So I've setup a Prosody XMPP server and ugly hacked together<div><a href="https://github.com/priyadi/roundcube-converse.js-xmpp-plugin">https://github.com/priyadi/roundcube-converse.js-xmpp-plugin</a> in a way that is sufficiently pleasing to the eye: <span style="color:rgb(0,0,0);font-family:Sans;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;background-color:rgb(255,255,255);font-size:medium;display:inline!important;float:none"></span><a href="http://imgur.com/fZO8bTj.png">http://imgur.com/fZO8bTj.png</a> <br><br></div><div>Now to the problem(s).<br><br></div><div>1. This plugin only works if i set the user and password manually in config.inc.php like so:<br><br>$rcmail_config['converse_xmpp_username']= function($args) {<br>        return 'osdmatfri';<br>        //return $args['user'];<br>        //return preg_replace('/@.*$/', '', $args['user']);<br>};<br><br>// XMPP password<br>$rcmail_config['converse_xmpp_password']= function($args) {<br>        return 'OpenSourceRules!';<br>        //return $args['pass'];<br>};<br><br></div><div>When I try with "return $args['pass'];" etc, which seems to be the default behaviour, it doesn't work. Having a username and password value hard coded in the config is, as you understand, suboptimal.<br><br></div><div>As I understand this plugin, you connect to the XMPP server at login, and Roundcube/Kolab handles the login/logout procedure. Which leads me to the second problem.<br><br></div><div>2. When I have the chat in Kolab like on the screenshot, the whole system becomes unresponsive to clicks. onMouseOver-effects work when i steer the mouse pointer, but I cannot click anywhere. The javascript errors out with "TypeError: converse.on is not a function" in js/converse-rcmail.js :<br><br>    // hook into login event and keep XMPP session in Roundcube's session<br>    converse.on('onReady', function(e){<br>        if (!args.sid && e.target.bare_jid)<br>            rcmail.http_post('plugin.converse_bind', { jid:e.target.bare_jid, sid:converse.getSID() });<br>    });<br><br></div><div>I guess this is because I've changed the JavaScript-code in converse.php like so:<br><br>        //define("jquery", [], function() { return jQuery; });<br>        //require.config({ baseUrl: "'.$this->urlbase.'devel/converse.js" });<br>        //require(["converse"], function (converse) {<br>                var args = '.$rcmail->output->json_serialize($converse_prop).';<br>                args.i18n = locales["'.$locale.'"];<br>                rcmail_converse_init(converse, args);<br>        //});<br><br></div><div>I understand that commenting out the define and require statements is probably a bad idea, but otherwise the converse.js chat will not start at all and gives a whole other lot of errors. I guess the converse.js has changed a bit in a year or two.<br><br></div><div>I'm no JavaScript programmer and rather terrible at PHP too, so I would like some help with this in some way. <br><br></div><div>When inserting the converse.js chat "as is" in Kolab it works splendidly, however the user is required to login one extra time and that does not give the impression of very great integration.<br><br></div><div>Any ideas?<br><br></div><div>Kindest regards,<br></div><div>Mathias <br></div></div>