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

Reply via email to