Re: [Kolab-devel] kolab and real-time communication (chat, etc)
Aaron Seigo <[email protected]> Tue, 22 Nov 2016 11:02:44 +0100
| Newsgroups | gmane.comp.kde.devel.kolab |
|---|---|
| Message-ID | <ef621b9b3fa799ac85a58bdc6615280d__45829.6722885736$1479808985$gmane$org@mykolab.com> |
On 22.11.2016 10:20, Aaron Seigo wrote: > Need to look at the integration, multi-tennant, and scalability > stories. Will do so today. Now it's coming back to me .. :) I had looked at this quite some time ago, and I begin to recall my concerns. LDAP integration is essentially "copy the users from LDAP periodically into our own database". Not particularly pretty, tbh. And as usual, the LDAP auth flexibility is very simplistic; definitely good enough for single-site installation, certainly a typical use case. It also uses mongo db. Not a good option for us at all. (Happy to go into why that is in another thread if anyone cares :) pgsql support has been asked for for some time, still isn't there. This is concerning. Javascript throughout is a little concerning for a real-time application that needs to both scale and have high uptime; that has not yet been shown to be server-side javascript's strengths. (It has strengths, but they lay elsewhere.) It's a large and complex application, with dozens of packages and packing some 140kloc. They picked a platform on which they have to implement a lot from the ground up. HA and clustering is somewhere between "not easy and untested" and "not existent". This is something we could perhaps contribute to. It's something we get for free, and very well tested, with Phoenix pub/sub, however. Better things: Federation is done via matrix, which is a nice touch. The mobile and desktop app support is not great, but improving. Apparently libpurple has (some?) support for it now, and there is an xmpp bridge, so while you perhaps don't get 100% feature parity, it seems passable. The integration story is not horrible, though. The REST API is sufficient for straight-forward use cases (e.g. "add chat to collaborative editing", "launch a chat room from a calendar invite"), but deeper integration seems to require adopting the meteor app model more broadly. So this is actually a fairly decent aspect. It's a bit unfortunate as it is actively developed and has a rather remarkable feature set. The downsides are just very difficult to swallow for our target uses and deployments :( -- Aaron Seigo