Hi Jeff, Re. mods to allow mail-archive deal with some lists on a per-month basis. I've had a good look and will send in a separate mail to you direct a patched mailme.model for monthly indexes. Take a look and see what you think and I'll have a think meantime about the rest of your system, although I do think other changes are trivial (hopefully!). I'll also send on an rcfile for the list "sinister", which I'd be obliged if you'd nuke so I can try out.
All my changes are surrounded by "#PSM start" and "#PSM end" in the source - sorry it's a little messy just now. I hope you'll find the changes very simple, I've tried to keep them so. Please note also I haven't ever used MH or htdig before, but I'm pretty sure what I've done is portable. Here's the philosophy: 1. Firstly, I've dodged your question "Do we need to automatically detect very low traffic lists? How?" ! The generation of monthly indexes is simply triggered in my scheme by the presence of a file "monthly" in vault directory for a specific list. It seems to me that any old trigger could be built into mailme to touch this file, and the implementation is dead easy: just touch the file, nuke and rebuild. So I haven't decided what the trigger should be for now. You may just want to touch monthly for lists who ask for it for the moment (mine!), nuke and rebuild? 2. If this file is found, pick is called in mailme with -after and -before to only run as far as mail messages in the same month, and they're all dumped in a subdirectory of archive/$MAILLIST with the format "YYYY-month-MM" instead of at the top level. MHonarc then works in that directory for each mailme run. Note: this relies in "pick" not knowing some months have less than 31 days! Thank goodness - just saves some code. 3. mailme also creates a page at the original level, archive/$MAILLIST called "maillist.html", duplicating the MHonarc-generated file previously. This serves two purposes: (a) acts as the index page to each month for every list that's chosen to be monthly; and (b) acts as the starting point for htdig, because your setup expects a file "maillist.html" to be there for indexing. This is the neatest way I could think to do it, and I'm hoping everything else falls in neatly with a minor change or two to the htdig conf file - I haven't looked at it properly yet. You'll want to create templates, conf/heading-monthly.html and trailer-monthly.html which will get added to this monthly index file: I just haven't bothered as you'll want to create your own house style - it'll run as is without and show you a very basic file anyhow. Also note the maillist.html must only reference YYYY-month-MM/maillist.html's and not index.html's or the htdig indexing will duplicate (I think). mailme does a "ln -s maillist.html index.html" for monthly lists at this level in mailme, but I suppose index.html could be created with links to all indexes if someone wanted it, because it won't get indexed by htdig. Htdig should just index all "msg" files as before, but include those in subdirectories, obviously. I can look at this further if you'd rather I did, I'll just need to do a little htdig reading. Finally mailme adds a search box to this maillist.html with the ability to search each month via htsearch's option "restrict" - I've sketch it out with some poor html for now (which I haven't checked) but you get the idea. - To Do - 1. Minor (hopefully) changes to digger so that the conf file it produces causes htdig to follow all links from archive/$MAILLIST/maillist.html and indexes msg* files in subdirectories too. 2. (Optional) decide on a trigger for "touch monthly". 3. (Optional) write a conf/header-monthly.html and conf/trailer-monthly.html and include in mailme. I can do any or all of 1-3 if you like - let me know when you've had a look at the work so far. Finally, someone previously asked on the gossip list why bounce.pl suffered from a broken pipe - I think that's when it's not run as root. Let me know what you think, Paul