A few months ago I wrote to the list about a means to create durable
links to arbitrary messages, capable of surviving an archive rebuild or
other trauma. The notion generalized into a tool for storing message
metadata (specifically subject, author name, author email, Message-ID,
and file path) across multiple archives, in a SQL database.
Late betas of my data model and the tool used to extract and move the
data are now available, along with a somewhat less capable sample CGI.
Both tools are written in Perl, with POD docs.
It is not - again, not - yet ready for general use. Table creation is
still being done by hand, and the more you like perl, the better.
The biggest functional caveat at the moment is lack of database
portability -- MySQL what I had access to during development, and this
version of the tool won't work with other DBs. PostgreSQL and
eventually Oracle are on my list, but neither are expected before 1.0.
(I'd appreciate hearing from users of other databases.)
All that said, with a good bit of the basic plumbing out of the way, I'm
excited about the possibilities of the data model.
The most striking idea I've had becomes feasible when I can store
threads in the database, referenced by their component messages.
Treating threads as objects allows for useful schemes like aggregating
all replies on a single page, and isolated thread overviews, such as
egroups used to offer before they changed everything around.
Most notably, it'll be a good day when my site's search engine can reply
to a query with thread overviews, highlighting messages containing the
search terms. I imagine this will be quite dramatically more useful
than rattling off a list of messages bearing no immediately discernible
relationship to one another, and it's pretty trivial, once individual
messages' URLs can be used as pointers to their parent threads.
Feedback in general is appreciated. If it's relevant to MHonArc, put it
here, otherwise feel free to contact me privately, or to use the list
thoughtfully provided by Sourceforge:
Thanks for your time.