This software generates a database for CPAN Testers Uploads.
The uploads database, managed by this module, maintains a comprehensive record of all historical information about CPAN. It keeps track of all the release dates of everything that is uploaded to CPAN, whether it is in a BACKPAN repository, current CPAN repository, or posted by PAUSE, which is yet to reach the CPAN mirrors.
The schema for the MySQL database is straightforward and easy to understand. The field details are captured in the 'uploads' table, containing basic information about each distribution component. The MySQL structure of the data is in accordance with this module as follows:
CREATE TABLE `uploads` (
`type` varchar(10) NOT NULL,
`author` varchar(32) NOT NULL,
`dist` varchar(100) NOT NULL,
`version` varchar(100) NOT NULL,
`filename` varchar(255) NOT NULL,
`released` int(16) NOT NULL,
PRIMARY KEY (`author`,`dist`,`version`)
) ENGINE=MyISAM;
There are three types of values that the ‘type’ field could be: 'backpan', 'cpan' or 'upload', indicating whether the release has been archived to BACKPAN, currently on CPAN or has recently been uploaded and may not yet have reached the CPAN mirrors. Apart from that, the 'author', 'dist', 'version,' and 'filename' fields have been included to create a breakdown of the distribution component parts used to locate the distribution. In some cases, two or more authors may upload a distribution with the same name, making filename an unreliable option for sorting.
The 'released' field stores the date of the distribution release. This field records the number of seconds since the epoch, providing an accurate way of sorting the distributions based on their release date rather than the version string. This feature enables users to work with different versions of distributions across time, making it a handy tool for software developers.
The SYNOPSIS of the module includes some interesting options which can be added while executing the module. Users can run the script simply with the command line as 'perl uploads.pl', or they can execute the same with the inclusion of the following optional commands:
--config=
--generate : This command will provide a new list of older and newer distributions that have come up in the uploads database, along with their respective dates.
--reindex: It will re-index the database to improve the speed of queries based on other fields than 'released.'
--update : This command will update the uploads database with any new releases that have been made since the last update.
--backup : This command will backup the database into a compressed BZ2 file.
Overall, the CPAN::Testers::Data::Uploads is an excellent module that offers an effortless and efficient way for users to manage the CPAN uploads database.
Version 0.11: N/A