Skip to Content.
Sympa Menu

devel - Re: [sympa-dev] A radical idea ... SQL-based MLM

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: Olivier Salaun - CRU <address@concealed>
  • To: address@concealed
  • Subject: Re: [sympa-dev] A radical idea ... SQL-based MLM
  • Date: Fri, 19 Dec 2003 09:39:28 +0100

Here is a simple PHP script, providing basic mailing list services for listes.cru.fr, that will illustrate my previous message about SOAP usage with Sympa : http://listes.cru.fr/sampleClient.php
(PHP source code is available via the "View source" link)

I wrote:

[...]
More recently, we've been working on providing an API to Sympa services using SOAP protocole. These developments have been sleeping for more than one year but they're now almost finilized in latest alpha version of Sympa. Now let me present what exactly is this SOAP interface to Sympa :
Sympa package now includes one more daemon that is processing service requests (just like the web or mail daemon of Sympa) on a SOAP interface (XML over HTTP). Currently we've only implemented a limited number of features (subscribe, unsubscribe, list of lists, WHICH,...) but we think it could be extended to all Sympa services. With this architecture you can just make distant Sympa procedure calls from with any PHP script that has been made SOAP-enabled (which is quite simple). This SOAP interface is currently used in the ESUP-Portail project (http://www.esup-portail.org/version_gb/index_gb.html) that contact Sympa SOAP server from within an UPortal chanel.

Why does this SOAP-related solution provide better interoperability than an SQL interface ?
1/ Accessing data is not enough ; the PHP app that want to do the MLM job has to do it from A to Z : checking the right for the subscriber to unsubscribe which means evaluating Sympa's authorization scenarios, check the owner reception mode, the subscriber reception mode, send the right 'bye.tpl' according to the list config, to the user preferred language,... On the other hand, if you ask Sympa to process a high level service (subscribe, unsubscribe, ...) via SOAP (could be XML-RPC) he will do it better than you could do it.
2/ If an external app accesse directly Sympa data, there is now way to ensure that this app will do the authentication / authorization jobs the same way.
3/ Whenever we'll make Sympa's DB structure evolve, you'll have to modify your PHP code. And it changes quite often...

--
Olivier Salaun
Comite Reseau des Universites





Archive powered by MHonArc 2.6.19+.

Top of Page