![](https://secure.gravatar.com/avatar/d6e4b0719585e25f837a10aa8ddb2ca3.jpg?s=120&d=mm&r=g)
I suggested to Juan last week, who correctly said that I should mention it here, that it would be a great advantage for mailservers with different types of lists which require not only different languages but also different style of messages per list, if the message could be defined per list.
I have a suggestion how this can be done very easily. If the function maketext (in Utils) had an addition parameter "list", it could first try to open the text file in mailman/list/"listname"/"lang". If the file is not there, then it could continue to take it from /mailman/templates/"lang" as you have coded it. This would mean that if the list manager wanted to put special messages in a list he can create them in the list/"listname"/"lang"/....... directory. The normal list manager would not notice any difference.
This would be a great feature for us here as we have very different styles of lists which need deferent "tone" of messages.
I have another question. In the v2.1 expected functions, you have listed the function to enter the full name. This leads onto a completely new set of possibilities with links into databases, and personalised mailings, etc. I can imagine that all these possibilities are too complex to fit into one program (mailman), but what about an simple API where the completed email (with associated data) could be presented to another application for further processing, eg filling fields in the email from a db. Applications could then designed separately by other groups, and slotted in required by the list managers.
I could certainly help doing some coding.
regards
John Read NewNet Marketing Waldweg 15 83558 Maitenbeth Tel: +49-8076-8879818 Fax: +49-8076-8879819
![](https://secure.gravatar.com/avatar/cb6b2a19d7ea20358a4c4f0332afc3ef.jpg?s=120&d=mm&r=g)
"JR" == John Read <john.read@newnet-marketing.de> writes:
JR> I have a suggestion how this can be done very easily. If the
JR> function maketext (in Utils) had an addition parameter "list",
JR> it could first try to open the text file in
JR> mailman/list/"listname"/"lang". If the file is not there, then
JR> it could continue to take it from /mailman/templates/"lang" as
JR> you have coded it. This would mean that if the list manager
JR> wanted to put special messages in a list he can create them in
JR> the list/"listname"/"lang"/....... directory. The normal list
JR> manager would not notice any difference.
That sounds like a good idea.
JR> I have another question. In the v2.1 expected functions, you
JR> have listed the function to enter the full name. This leads
JR> onto a completely new set of possibilities with links into
JR> databases, and personalised mailings, etc. I can imagine that
JR> all these possibilities are too complex to fit into one
JR> program (mailman), but what about an simple API where the
JR> completed email (with associated data) could be presented to
JR> another application for further processing, eg filling fields
JR> in the email from a db. Applications could then designed
JR> separately by other groups, and slotted in required by the
JR> list managers.
Here's how I would envision that. Let's say you had a list for which you wanted to do some extra prep work on messages before they were sent out. You would write a module for the Handlers directory which performed this prep work. This module would hid all the communication with the external service.
Next, you'd figure out where in the normal message pipeline you want your special module to go. Now you have two choices:
you can add your module to the global pipeline, and only perform the work when you see a message destined for one of your special lists (the MailList object gets passed as a parameter to your module's process() function).
you can specialize your list's pipeline to include your new module. In 2.1 the main processing qrunner (IncomingRunner) looks in three places for a pipeline to process the message on: the message's metadata (used primarily for requeued messages), the MailList object's `pipeline' attribute, then the global pipeline.
There probably won't be a convenient API for setting the list's pipeline at first, but it would be trivial to write a withlist script to add it.
Make sense?
-Barry
![](https://secure.gravatar.com/avatar/a41236d5a95c86b677171080d3f2fd24.jpg?s=120&d=mm&r=g)
"Barry A. Warsaw" wrote:
"JR" == John Read <john.read@newnet-marketing.de> writes:
JR> I have a suggestion how this can be done very easily. If the JR> function maketext (in Utils) had an addition parameter "list", JR> it could first try to open the text file in JR> mailman/list/"listname"/"lang". If the file is not there, then JR> it could continue to take it from /mailman/templates/"lang" as JR> you have coded it. This would mean that if the list manager JR> wanted to put special messages in a list he can create them in JR> the list/"listname"/"lang"/....... directory. The normal list JR> manager would not notice any difference.
That sounds like a good idea.
Received.
Cheers
___
/ F \
[[[]]]]
( O O )
#----------------0000--(_)--0000---------------# | Juan Carlos Rey Anaya (jcrey@uma.es) | | Servicio Central de informática | | Universidad de Málaga - España | #----------------------------------------------# # reynini@22x28.org pa los globeros :-) # #----------------------------------------------#
participants (3)
-
barry@digicool.com
-
John Read
-
Juan Carlos Rey Anaya