Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
dev:sympa_and_instant_messaging [2009/07/28 10:43] serge.aumont@cru.fr |
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 services provided by Sympa list servers we decided to integrate (more or less) instant messaging within Sympa (as we did for a wiki). | 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). | ||
Line 11: | Line 11: | ||
From here we identified two main solutions, html based web chat or a system using a stand alone server. | 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 26: | Line 28: | ||
Disadvantages : | Disadvantages : | ||
* Many different server implementations: its 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 | * Many different server implementations: its 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 need to install a desktop IM client (pidgin, gtalk, etc) ... | + | * 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 to our needs. First we had to implement Sympa based authentication but the OpenFire auth class isn't directly pluggable and requires to write a custom implementation of a basic auth class, that we not able to do (probably due to our limited knowledge in Java). The other thing was to create/restrict access to chatroom based on list membership, but we were unable to find where (aka in which class) it should be done. | + | 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 know how is the user password encrypted and also since we were unable to create chatroom that way (not to speak about access restriction) ... | + | 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 ===== |