Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dev:sympa_and_instant_messaging [2009/07/28 10:21]
etienne.meleard@cru.fr created
dev:sympa_and_instant_messaging [2009/07/28 11:31] (current)
etienne.meleard@cru.fr
Line 1: Line 1:
-====== Sympa and instant messaging ​======+====== Sympa and instant messaging ​ ======
  
-In order to enhance Sympa's capabilities ​we decided to integrate (more or less) instant messaging within Sympa.+In order to enhance ​services provided by Sympa list servers ​we decided to integrate (more or less) instant messaging within Sympa (as we did for a wiki).
  
 The gains of such a development would be : The gains of such a development would be :
  
   * instant chat and even voice/video conferencing between list members (nice thing for discussion groups for example)   * instant chat and even voice/video conferencing between list members (nice thing for discussion groups for example)
-  * list membership based chatroom access (aka one chatroom for each list, maybe more ...) with specific rights for list owners ...+  * list membership based chatroom access (aka one chatroom for each list,...) with specific rights for list owners ...
   * single account (identification based on Sympa'​s users database)   * single account (identification based on Sympa'​s users database)
   * SSO achieved by re-using Sympa'​s session if possible ...   * SSO achieved by re-using Sympa'​s session if possible ...
  
-From here we identified two main solutions, html based web chat or a system using a stand alone server, our conclusions about such systems follows.+From here we identified two main solutions, html based web chat or a system using a stand alone server
 + 
 +The most interesting one is a stand alone server based on XMPP since this protocol is powerful and provides a real instant messaging service. Moreover it also provides voice/video and file transfer support. The thing we are seeking for is a server that is pluggable enough to allow custom identification and chatroom creation/​config or at least a server with database that could be populated from Sympa.
  
 The problem is about choosing between a powerful solution that would be a service itself, with a connector to Sympa, and a simpler solution but with higher integration potential and a reduced investment. The problem is about choosing between a powerful solution that would be a service itself, with a connector to Sympa, and a simpler solution but with higher integration potential and a reduced investment.
Line 16: Line 18:
 ===== Stand alone server ===== ===== Stand alone server =====
  
-We soon took a look at the XMPP protocol and all its server implementations. Noticeable ones are OpenFire (Java), dJabberd (Perl), Jabber2 (C) and eJabber (erlang).+We soon took a look at the XMPP protocol and all its server implementations. Noticeable ones are OpenFire ([[http://​www.igniterealtime.org/​projects/​openfire/​index.jsp]], ​Java), dJabberd ([[http://​www.danga.com/​djabberd]], ​Perl), Jabber2 ([[http://​jabberd2.xiaoka.com]], ​C) and eJabber ([[http://​www.ejabberd.im]], ​erlang).
  
 Advantages : Advantages :
Line 25: Line 27:
  
 Disadvantages : Disadvantages :
-  * A big number of server implementationsits quite difficult to find one with either ​an "​understandable" ​programming language (no erlang user here ...), extension capabilities,​ good support and with a structure that would allow us to plug it in Sympa easily +  * Many different ​server implementationsits quite difficult to find one with either ​a standard ​programming language (no erlang user here ...), extension capabilities,​ good support and with a structure that would allow us to plug it in Sympa easily 
-  * Users must install a client ...+  * Users need to install a desktop IM client (pidgin, gtalk, etc) except if a good flash/java applet ​client ​is available ​...
  
-We installed an OpenFire server and got it to work quite easily, but we quickly experienced problems when trying to adapt it for our needs. ​First thing was to do Sympa based identification but the OpenFire auth class isn't directly pluggable ​and requires ​to write a custom implementation of a basic auth class, that we were quite unable ​to do (probably due to our limited knowledge in Java). The other thing was to create/​restrict access to chatroom base on list membership, but we were unable to find where (aka in which class) it is done ... Another idea was to populate the OpenFire database with data extracted from Sympa, but this was a failure again since we don'​t ​know how is the user password ​encrypted and also since we were unable to create ​chatroom ​that way (not to speak about access restriction) ...+We installed an OpenFire server and got it to work quite easily, but we quickly experienced problems when trying to adapt it to our needs. ​This server is complex ​and it takes time to figure out which code to modify ​to achieve things ​we want. 
 + 
 +Another idea was to populate the OpenFire database with data extracted from Sympa, but this was a failure again since we don'​t ​have a lot of informations about this database (password ​encryption, ​chatroom ​config) ...
  
 ===== Web chat ===== ===== Web chat =====
Line 37: Line 41:
  
 Advantages : Advantages :
 +  * No client required (just a quite recent web browser), so it's easy even for novice users
   * Very easy to plug in Sympa (just includes and scripts to populate users/​chatrooms lists from the Sympa database)   * Very easy to plug in Sympa (just includes and scripts to populate users/​chatrooms lists from the Sympa database)
-  * Open source web chat are widely available 
-  * No client required (just a quite recent web browser) 
-  * Code is simple to extend, some implementations might provide voice support trough flash/java socket based extension, but there seems to be nothing for video 
   * SSO may be possible by re-using the Sympa session   * SSO may be possible by re-using the Sympa session
 +  * Open source web chat are widely available
 +  * Code is simple to extend, some implementations might provide voice support trough flash/java socket based extension, but there seems to be nothing for video. ​
 +
  
 Disadvantages : Disadvantages :
   * Can hardly "​popup"​ to notice a new message or connect itself at system startup like most IM clients do   * Can hardly "​popup"​ to notice a new message or connect itself at system startup like most IM clients do
   * the user must keep an opened browser window to have it working   * the user must keep an opened browser window to have it working
 +  * there is probably a limit to the maximum number of connected users to the chat because of the HTTP protocol.
  
  • dev/sympa_and_instant_messaging.1248769283.txt.gz
  • Last modified: 2009/07/28 10:21
  • by etienne.meleard@cru.fr