CPAN::Testers::WWW::Reports::Mailer - CPAN Testers Reports Mailer


CPAN-Testers-WWW-Reports-Mailer documentation  | view source Contained in the CPAN-Testers-WWW-Reports-Mailer distribution.

Index


NAME

Top

CPAN::Testers::WWW::Reports::Mailer - CPAN Testers Reports Mailer

SYNOPSIS

Top

  use CPAN::Testers::WWW::Reports::Mailer;

  my $mailer = CPAN::Testers::WWW::Reports::Mailer->new(
    config => 'myconfig.ini'
  );

  $mailer->check_reports();
  $mailer->check_counts();

DESCRIPTION

Top

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

Top

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

Top

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

Top

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

Top

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

Top

Barbie, <barbie@missbarbell.co.uk> for Miss Barbell Productions, http://www.missbarbell.co.uk/

COPYRIGHT & LICENSE

Top


CPAN-Testers-WWW-Reports-Mailer documentation  | view source Contained in the CPAN-Testers-WWW-Reports-Mailer distribution.