Integrating Mailman and MHonArc. A while ago (in a galaxy, far, far away) I wrote this Python class to integrate mailman and mhonarc. I keep getting queries about how it works and thought the best thing to do would be to document it. So, grab a copy of MHonArc.py and follow along. First you'll need to modify mm_cfg.py -- which could be in /etc/mailman/mm_cfg.py or in /usr/local/etc/ or somewhere else. You need to modify some of the archiving code as well. In mm_cfg.py add something like this (all on one line): MHONARC = ' ( /usr/bin/mhonarc -q -add -outdir %(archivedir)s -rcfile /var/lib/mailman/archives/private/%(listname)s/%(listname)s.rc -lockdelay 20 -locktries 40 )' Make sure you modify the path to mhonarc and where the list archives are though! Next you will want to modify Archiver.py with the following changes: --- Archiver.py.orig 2002-10-11 01:19:13.000000000 +0800 +++ Archiver.py 2002-09-19 16:44:19.000000000 +0800 @@ -216,9 +216,12 @@ else: # use the internal archiver f = StringIO(txt) - import HyperArch - h = HyperArch.HyperArchive(self) - h.processUnixMailbox(f, HyperArch.Article) + #import HyperArch + #h = HyperArch.HyperArchive(self) + #h.processUnixMailbox(f, HyperArch.Article) + import MHonArc + h = MHonArc.HyperArchive(self) + h.processUnixMailbox(f) h.close() f.close() except: Which is basically comment out the HyperArch class and replace it with a call to the MHonArc one instead. I'm still using it at lists.linux.org.au and it seems to work well. There are some outstanding issues: - the archive index has archivied months listed in the generated HTML page as most recent last (i.e. 2001 comes before 2002; e.g. http://lists.linux.org.au/archives/linux-aus/) (small) - It'd be nice to expose some of the MHonARC archiving options via MailMan itself and/or modify MHonArc itself to pull options out from the list database that Mailman uses. (big) - I really should come up with a good sample .rc file for MHonARC which generates Thread, Subject, Author and Date (small) Perhaps integrate slug/progsoc ones? Let me know how it goes and if there are any issues. Based upon your feedback perhaps I can write something better for the next person who tries this out. Thanks, Anand Kumria