[Mailman-Developers] Speaking about kitties (or archivers)

Barry Warsaw barry at list.org
Tue Apr 24 00:20:18 CEST 2012


Thanks for posting this Pierre-Yves!

On Apr 23, 2012, at 08:17 PM, Pierre-Yves Chibon wrote:

>  mm-core (handles the lists themselves) --send emails to archivers-->

Note that the core doesn't *have* to send an email to the archiver.  From the
core's perspective, the `IArchiver` interface has three functions:

 - add a message to the archive
 - get a 'permalink' to the message in the archive
 - get the url to the "top" of the list's archive

The important things are 1) calculating the 'permalink' should not require a
round-trip with the archiver; 2) the details of adding a message to the
archiver are irrelevant to the core.

For external archivers, such as M-A or Gmane, the implementation of IArchiver
may indeed send an email.  For a local archiver like MHonArch, the
implementation just shells out to a command.  For HK or anything else, it
could be anything.  Every archiver needs a way to get messages sent to it, and
the core can adapt to any of those.

>archive-core (store the emails and expose them through an API) -->
>archivers/stats/NNTP
>
>The questions are then:
>- how do we store the emails ?
>- how do we expose the API ?
>- how to make it such that it becomes easy to extend ? (ie: the stats
>module wants to read the db, but probably also to store information on
>it)

Sharing is good, but it's also important to remember that any specific system
may or may not have a local archiver.  I could certainly imagine a site that
only archives on M-A or Gmane and doesn't waste the space to archive locally.

I think we've pretty much come to agreement that the core itself doesn't need
a full copy of all the messages after it's sent them, but of course, the
"prototype" archiver could be used to keep a local copy of everything in a
maildir.  That could be shared at the lower level (maildir) or through some
kind of API in minikitty.

>Having played with mongodb (HK relies on it atm), I quite like the
>possibilities it gives us. We can easily store the emails in it, query
>them and since it is a NoSQL database system extending it becomes also
>easy.
>On the other hand, having the archiver-core relying on the same system
>as the core itself would be nicer from a sysadmin pov. I have not tried
>to upload archives to a RDBMS and test its speed, but for mongodb the
>results of the tests are presented at [1].
>
>The challenge will be speed and designing an API which allow each
>component to do its work.

I think the archiver should *definitely* have a REST API for programmatic
access to its messages and data.

>I think it would be nice if we could reach some kind of agreement before
>the GSoC starts (even if we change our mind later on) to be sure that if
>we get students their work don't overlap too much.
>
>
>The second point I want to present is with respect to the archiver
>itself.
>At the moment we have HyperKitty (HK), the current version:
>- exposes single emails
>- exposes single threads
>- presents the archives for one month or day
>- allows to search the archives using the sender, subject, content or
>subject and content
>- presents a summary of the recent activities on the list (including the
>evolution of the number of post sent over the last month)
>
>I think these are the basis functionality that we would like to see in
>an archiver.
>But HK aims at much more, the ultimate goal of HK is to provide a
>"forum-like" interface to the mailing-lists, with it HK would provide a
>number of option (social-web like) allowing to "like" or "dislike" a
>post or a thread, allowing to "+1" someone, allowing to tag the mails or
>assign them categories.
>These are all nice feature but, imho, they go beyond what one would want
>from a basic archiver.

I think it would be fine for a basic archiver to be essentially
feature-equivalent to Pipermail, with two caveats:

 * Truly stable URLs, so that when you regenerate the archive from the raw
   maildir, none of your links break.
 * Search.

Other than that, it's all gravy (as we say :).  Nice-to-have features like CSS
for customizing the look and feel, dynamic rendering of raw messages,
etc. would be cool, but IMHO of secondary importance.

Cheers,
-Barry


More information about the Mailman-Developers mailing list