NAME
CPAN::Testers::WWW::Reports::Mailer - CPAN Testers Reports Mailer
SYNOPSIS
use CPAN::Testers::WWW::Reports::Mailer;
my $mailer = CPAN::Testers::WWW::Reports::Mailer->new(
config => 'myconfig.ini'
);
$mailer->check_reports();
$mailer->check_counts();
DESCRIPTION
The CPAN Testers Reports Mailer takes the preferences set within the CPANPREFS database, and uses them to filter out reports that the author does or does not wish to be made aware of.
New authors are added to the system as a report for their first reported distribution is submitted by a tester. Default settings are applied in the first instance, with the author able to update these via the preferences website.
Initially only a Daily Summary Report is available, in time a Weekly Summary Report and the individual reports will also be available.
CONFIGURATION
Configuration for this application can occur via the command line, the API and the configuration file. Of them all, only the configuration file is required.
The configuration file should be in the INI style, with the sections CPANSTATS and CPANPREFS describing the associated database access required. The general settings section, SETTINGS, is optional, and can be overridden by the command line and the API arguments.
Database Configuration
The CPANSTATS and CPANPREFS sections are required, and should contain the following key/value pairs to describe access to the specific database.
driver
database
dbhost
dbport
dbuser
dbpass
Only 'driver' and 'database' are required for an SQLite database, while the other key/values may need to be completed for other databases.
General Configuration
The following options are available, in the configuration file, on the command line and via the API call to new() as a hash.
mode
Processing mode required. This can be one of three values, 'daily', 'weekly' or 'reports'. 'daily' and 'weekly' create the mails for the Daily Summary and Weekly Summary reports respectively. 'reports' creates individual report mails for authors.
verbose
If set to a true value, will print additional log messages.
nomail
By default this is set to 1, to avoid accidentally running and sending lots of mails :) Set to 0 to allow normal processing.
test
If used, must be set to a single NNTPID, which will then be tested in isolation for the currently set mode. Automatically sets the nomail flag to true.
lastmail
The location of the counter file, that stores the ids of the last reports processed.
mailrc
The location of the 01mailrc.txt file stored locally. By default the location is assumed to be 'data/01mailrc.txt'. If the confirguration is not set, or the file cannot be found, it will be dynamically downloaded from CPAN.
logfile
The location of the logfile. If not provided, logging is disabled.
logclean
By default this is set to 0, append to existing log. If set to 1, will create a new log or overwrite any existing log, on the first call to log a message, then will automatically reset to 0, so as to append any further messages.
INTERFACE
The Constructor
new
Instatiates the object CPAN::WWW::Testers. Requires a hash of parameters, with 'config' being the only mandatory key. Note that 'config' can be anything that Config::IniFiles accepts for the -file option.
Public Methods
check_reports
The core method that analyses the reports and constructs the mails.
check_counts
Prints a summary of the processing.
help
Using the command line option, --help or -h, displays a help screen with instructions of the command line arguments. See the Configuration section for further details.
Accessor Methods
lastfile
Path to the file containing the last NNTPID processed.
verbose
Provides the current verbose configuration setting.
nomail
Provides the current nomail configuration setting.
test
Provides a single test ID, if not all NNTPIDs need testing.
logfile
Path to output log file for progress and debugging messages.
logclean
If set to a true value will create/overwrite the logfile, otherwise will append any messages.
mode
Provides the current mode being executed.
mailrc
Path to the 01mailrc.txt file.
tt
Provides the Template Toolkit object.
pause
Provides the Parse::CPAN::Authors object.
Internal Methods
_get_lastid
Returns the last NNTPID processed for the current mode.
_set_lastid
Sets the given NNTPID for the current mode.
_get_author
Returns the author of a given distribution/version.
_get_prefs
Returns the author preferences.
_parse_prefs
Parse a preferences record and returns a hash instance.
_send_report
Repackages a report as an email for an individual author.
_write_mail
Composes and sends a mail message.
_emaildate
Returns an RFC 2822 compliant formatted date string.
_download_mailrc
Downloads and/or reads a copy of the 01mailrc.txt file.
SEE ALSO
CPAN::Testers::Data::Generator CPAN::WWW::Testers CPAN::Testers::WWW::Statistics
http://blog.cpantesters.org/, http://www.cpantesters.org/, http://stats.cpantesters.org/, http://wiki.cpantesters.org/
BUGS, PATCHES & FIXES
There are no known bugs at the time of this release. However, if you spot a bug or are experiencing difficulties, that is not explained within the POD documentation, please send bug reports and patches to the RT Queue (see below).
Fixes are dependant upon their severity and my availablity. Should a fix not be forthcoming, please feel free to (politely) remind me.
RT Queue - http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Testers-WWW-Reports-Mailer
AUTHOR
Barbie, <barbie@missbarbell.co.uk> for Miss Barbell Productions, http://www.missbarbell.co.uk/
COPYRIGHT & LICENSE
Copyright (C) 2008-2009 Barbie for Miss Barbell Productions.
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.