These days a chat application is a must-have for a groupware system. Kolab did some work in that direction in the past, but that didn’t really give good results yet. So, on a customer request, we decided to try another approach and integrate an existing open source chat application (actually that’s what we usually do). Read more to see how that works and how it opens ways to integrate other chat applications more easily.
The integration is done with the Kolab Chat plugin for Roundcube. It allows to integrate the chat application as a separate view (task) in the UI, which can be opened inside (iframe) or as a new window, similar to what you can do with mail compose.
For now the limitation is that Mattermost users and Kolab users need to use the same credentials. And there’s no code that synchronizes these two user bases yet.
Aside from the auto-logon and opening the chat application functionality we have a notification system. It displays popup messages when your chat app is closed (or in another tab) and you receive a direct message or you have been mentioned by somebody.
As you can see you can also configure on which channel to start the chat application.
The Mattermost-specific code is separated from the rest. It is a one of possibly many drivers in the plugin, so it should be simpler to replace Mattermost with something different e.g. Slack.