User:WP 1.0 bot/Second generation

This page discusses the new version of the WP 1.0 bot that is under development. This will replace the current version. For a brief introduction, consult the FAQ.

Background
WP 1.0 bot collates article rating data for Version 1.0. The data is stored in subpages of Version 1.0 Editorial Team/Index. The generated data consists of: The current, first generation code for WP 1.0 Bot was written by Oleg Alexandrov and has performed extremely well. It currently handles data for over 1.7 million articles in over 1,300 WikiProjects. To accomplish its work, the bot has made over 1 million edits since February 2007.
 * 1) Summary tables (example)
 * 2) Logs of the changes in ratings (example)
 * 3) Lists of all rated articles in each project (example)

The purpose of this page is to discuss a new, second generation version of the code. The goal is to rewrite the present code, keeping the successful functions of the bot while addressing shortcomings and possibly adding new functionality.

Motivation for an update
Issues encountered with the current code include:
 * 1) The code stores all its data in long lists in wiki pages, using the wiki as a makeshift database. Updating this data requires an enormous number of page edits to complete a single run of the script. A full update now requires several days.
 * 2) The code was originally written and maintained by a single individual, Oleg Alexandrov. More recently, CBM has helped with updates.  Given the broad role of this bot, a slightly larger group of maintainers is desirable.
 * 3) The code is not configurable on a per-project basis. Requests to add a special rating for a WikiProject are common, but the bot code was not written with that in mind.
 * 4) Although the code generates a great deal of data, it isn't possible to use this data to make dynamic queries.
 * 5) There is no easy way to generate a list of articles rated by both the Military History and Australia projects, although the data needed for this is already collected.
 * 6) There is no easy way to get a log of all assessment changes for a particular article. When a log page gets too long, old information must be removed, leaving it only available in the log page's history. Rarely, logging data is lost when there are too many log entries in a single day to include on a project's log page.

Additional maintainers
A small group of 3-4 maintainers will spread the load of maintenance and prevent the departure of a single person from impacting the code. The existing code is in Perl, but many languages are supported on toolserver.

Volunteers wanted
Programmers of all experience levels are welcome to contribute code. This project would provide an excellent setting to familiarize yourself with the LAMP framework. Please contact User:Theopolisme, either on his talk page or by email, if you're interested in contributing code or becoming a maintainer.

Frequently asked questions
A list of frequently asked questions is available. Please ask new questions at User talk:WP 1.0 bot/Second generation.

Feature requests
The following table contains some early requests that were discussed in the alpha phase of development. Additional task requests are very welcome. They can be filed below or at this project's bug tracking page.

Activation
On Saturday, January 23, 2010, the old bot was turned off and the new bot (2G) began to update the tables and logs on the wiki.