[Mailman-Developers] [GSoC 2012] Metrics

Stephen J. Turnbull stephen at xemacs.org
Sat May 19 13:58:59 CEST 2012


George Chatzisofroniou writes:

 > Author
 > 
 > This model represents an author of the mailing list. It mostly keeps
 > track of the number of postings and number of threads started.  It has
 > the following fields:
 > 
 > - authorid – IntegerField

AFAIK every Django object has an internal ID.  Why do authors need a
separate, human-unfriendly "authorid"?

 > - authormail – CharField

Authors are people.  They typically have names<wink/> and often
multiple email addresses.  There may also be other information
(organization, etc) that is available from the headers.

 > - totalmails – IntegerField
 > - totalthreads – IntegerField
 > - firstmsgdate – DateTimeField
 > - lastmsgdate – DateTimeField


 > 
 > MailingList
 > 
 > This model  counts  the total number of postings and threads started.
 > 
 > - totalmails – IntegerField
 > - totalthreads – IntegerField

longestthread?

 > 
 > Month
 > 
 > Year
 > 
 > Views
 > 
 > To display the metrics the Django template system will be used. To
 > output the charts i will create some custom tags. The three following
 > views will be used:
 > 
 > - General page – On top, there will be general metrics about total
 > authors, total mails and total threads and below three charts (AJAX
 > based)

"AJAX based" doesn't belong in the spec; it's an implementation detail.

 > that represent number of posts per author, number of threads
 > per author and mailing list’s yearly usage. Even below there will be a
 > number of charts (equal to the number of years of list’s existence)
 > that output monthly usage.

Why multiple charts?  If you can afford a 640x480 chart area, with 4
pixel wide bars you can have 160 months > 13 years in one chart.  I
personally wouldn't hesitate to go to pixel width bars, which gives
you > 53 years.  I don't think people will be looking at charts for
precision, but rather to get an overview.

 > At the end, there will be tabular data representing the authors
 > 
 > - Author page – Each user will have his own page with his own metrics.
 >
 > Django Admin page – A ‘Generate’ button will be added to the Django admin page.
 > Settings
 > 
 > The Django app should handle the following configuration parameters:
 > 
 > - Host – Message store data host
 > - Port – Message store data port
 > - Masking – A multi-state variable (None, abbreviated, full) for
 > masking email addresses at the results (we don’t want the emails to be
 > spammed)

(1) If at all possible, this should be inherited from the list
    configuration (DRY).  It's not useful if the addresses are
    available from the archives or by subscribing to the list.
    (Actually, a really sophisticated spammer might want to attack by
    spoofing frequent posters on the assumption they're more trusted
    and more read, but that seems second-order to me.)
(2) It would be preferable if authors could supply nicknames, full
    names, or avatars for this purpose.

 > Interface to the Mailman core
 > 
 > - Metrics class 
 > 
 > - Generate class



More information about the Mailman-Developers mailing list