Ciao a tutti,
giusto una breve news, ma che forse sarà utile a qualcuno: io e ric siamo qui a Bologna sul divano di casa sua e abbiamo aperto con grande sforzo la nuova mailing-list per le associazioni giovanili di Fabriano e dintorni: associazioni at raga10.org !
Ma perché un grande sforzo? Andiamo un attimo sul tecnico: abbiamo dovuto configurare i domini virtuali in mailiman. Usando il pacchetto debian abbiamo trovato alcuni problemi che ci hanno costretto a modificare il codice! Semplici correzioni che abbiamo riportato indietro dall’ultima release stabile di mailman, ma che abbiamo saputo risolvere solo avendo approcciato “didatticamente” il problema di più domini associati a mailman: non siamo andati a vedere howto precotti, ma ci siamo letti il manuale e… doveva funzionare!
Alla fine è stato abbastanza impegnativo e Riccardo più volte ha imprecato contro mailman, ma pare che funzioni. … e io mi sono anche divertito 🙂
Di seguito le semplici modifiche apportate che magari possono essere utili ad altri:
— mailman-pacco/newlist 2011-01-13 01:17:59.000000000 +0100
+++ /var/lib/mailman/bin/newlist 2011-01-13 01:18:13.000000000 +0100
@@ -204,7 +204,7 @@
langs = [lang]
else:
langs = [lang, mm_cfg.DEFAULT_SERVER_LANGUAGE]
– mlist.Create(listname, owner_mail, pw, langs=langs)
+ mlist.Create(listname, owner_mail, pw, langs=langs, emailhost=emailhost, urlhost=urlhost)
finally:
os.umask(oldmask)
except Errors.BadListNameError, s:
— mailman-pacco/MailList.py 2011-01-13 01:18:33.000000000 +0100
+++ /var/lib/mailman/Mailman/MailList.py 2011-01-13 01:19:52.000000000 +0100
@@ -290,7 +290,7 @@
continue
self._gui.append(getattr(Gui, component)())
– def InitVars(self, name=None, admin=”, crypted_password=”):
+ def InitVars(self, name=None, admin=”, crypted_password=”, urlhost=None):
“””Assign default values – some will be overriden by stored state.”””
# Non-configurable list info
if name:
@@ -322,7 +322,8 @@
self.host_name = mm_cfg.DEFAULT_HOST_NAME or mm_cfg.DEFAULT_EMAIL_HOST
self.web_page_url = (
mm_cfg.DEFAULT_URL or
– mm_cfg.DEFAULT_URL_PATTERN % mm_cfg.DEFAULT_URL_HOST)
+ mm_cfg.DEFAULT_URL_PATTERN % (urlhost or mm_cfg.DEFAULT_URL_HOST)
+ )
self.owner = [admin]
self.moderator = []
self.reply_goes_to_list = mm_cfg.DEFAULT_REPLY_GOES_TO_LIST
@@ -471,7 +472,7 @@
# List creation
#
def Create(self, name, admin, crypted_password,
– langs=None, emailhost=None):
+ langs=None, emailhost=None, urlhost=None):
assert name == name.lower(), ‘List name must be all lower case.’
if Utils.list_exists(name):
raise Errors.MMListAlreadyExistsError, name
@@ -499,7 +500,7 @@
self._full_path = Site.get_listpath(name, create=1)
# Don’t use Lock() since that tries to load the non-existant config.pck
self.__lock.lock()
– self.InitVars(name, admin, crypted_password)
+ self.InitVars(name, admin, crypted_password, urlhost=urlhost)
self.CheckValues()
if langs is None:
self.available_languages = [self.preferred_language]