Outer Web Thought Log
January 06, 2004
MHonArc, Hypermail or Eyebrowse alternatives, anyone?
While trying to satisfy both a long withstanding customer request and finally providing a decent mail archive facility to the cocoondev.org users, I have been messing around with MHonArc and Hypermail for most of the day. MHonArc is a Perl mbox-to-webpages script, which is packaged with Namazu (a lightweight full-text indexer) under the denomination of mharc. While the idea of integrating 'make' and these other two tools into one neat little package sure must appeal to some hacker's minds, I found the setup on a box where I don't have full root access to be daunting and full of surprises, like Perl @INC paths mess-ups, native-code cgi-bin scripts that bomb without any meaningful error message - it made made me almost look forward to set up Eyebrowse instead. Eyebrowse wasn't an option, however, since I needed per-list archive access control settings, and that didn't seem possible upon my first inspection.

Since I wanted static HTML pages (for full-text searching, to be done later on, and simple .htaccess-based authorization), I figured I should go for the low-key approach of Hypermail. After carefully massaging my ezmlm archive dirs into mbox files, and translating these manually to HTML pages with hypermail, I went for the task of triggering automated archiving for new mails - procmail coming to the rescue!

Alas, no. I'm stuck with a test mailbox with contains 8 messages, of which hypermail correctly identifies the number of messages, but generates only four pages. So who's the culprit now? Procmail? Hypermail?

Sigh. UNIX sysadmin skills - it's just a world full of creepy little bastard tools with a gazillion switches and settings - outings of their creators sadistic tendencies.

Update: well, I learned a lot about email message headers, ezmlm and how Hypermail handles X-No-Archive headers (correctly, that is). Now onto adding some full-text search facility. Fun, fun, fun.

Posted by stevenn at January 6, 2004 05:23 PM ()