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: Kevin McCann <address@concealed>
  • Cc: address@concealed
  • Subject: Re: [sympa-dev] A radical idea ... SQL-based MLM
  • Date: Mon, 08 Dec 2003 09:54:08 +0100

Kevin,

We're pleased to ear that there is a growing interest of Sympa communication with outside apps. You're right when you say that moving every data of Sympa in MySQL would allow interoperability with the outside, apps located on other servers, written in other languages (PHP,...). We also had this solution in mind a few years ago...

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...

Kevin McCann wrote:

What do the developers of Sympa think about the idea of extending MySQL
usage to include much more? I think it would be a very good thing to have
list config, membership info and message archive info in a database. And
even the incoming mail queue and transaction logs.

I firmly believe that the internet community needs a mailing list manager
(MLM ) that has a complete SQL backend. There is one such MLM, Lyris, but it
is prohibitively expensive and not open source. But it performs very well
and it is easy to build frontend applications on top of it (insteading of
using their web interface).

An open SQL-based MLM would support the development of diverse and useful
frontend tools. PHP-based content management systems (PHP-Nuke, Postnuke,
Xaraya, etc.) could tie a mailing list to a web community that has other
features such as calendar, document uploads, and much more.

Sympa developers have seen the need and the wisdom of supporting MySQL
member tables. Why not go all the way? Backwards compatibility would be an
issue, and not all Sympa users would want to have to run MySQL, so I propose
a Sympa4MySQL offshoot.

Any interest?

I do intend to see this type of activity happen and will do whatever it
takes. But it would be nice to have the participation of people who have MLM
expertise and it would save time and money to build on an existing MLM
instead of starting from scratch. If you're interested in a SQL-based MLM,
please let me know.

--
Olivier Salaun
Comite Reseau des Universites





Archive powered by MHonArc 2.6.19+.

Top of Page