User:TheFearow/CollectiveFighter

This is some notes of a collective vandal-fighting system I have been working on.

It would be made up of two parts, a IRC bot for recording the edits, and a PHP based system for reviewing

IRC Bot
The IRC bot monitors the recent changes feed, and sends edit information to the PHP system for processing

PHP system
The PHP system is broken up into many parts, described below:

Input
This is a interface used only by the IRC bot, that takes several peices of information, and loads it into the internal RC database. It first does some processing on the revision/user to evaluate the likelyhood of vandalism. If it was a revert, it will skip, and remove the previous revision. If it was a user warning, it will skip, and specialflag the If the user has any special usergroups, it will skip. If the user is anonymous, it will flag. If the user has less than 500 edits, it will flag. If the user has no userpage and/or talkpage, it will flag. If the revsion added more than 1000 characters, it will flag. If the revision removed more than 500 characters, it will flag.

Special flags
Each change can internally have a special flag, making it appear outlined red on the reviewing page. It will also appear at the top of the list when sorted by priority.

These flags are added in the following cases:
 * The user who made them is blocked
 * The user who made them has been blocked previously
 * The user who made them is warned
 * The page it is on is protected
 * The page matches certain regexes

Interface
The main interface for the system is a large list of recent changes, which can be changed in many ways. The most obvious is simple reordering, which can be acheived by buttons at the top. You can also filter it by various means.

The next thing is the changes themselves - They will be simple black-bordered boxes (specialflagged are highligted red, attentionflagged are highlighted orange) containing the following information:
 * The page affected
 * The user performing the edit
 * The amount removed/added
 * Whether the user has made multiple edits to the page
 * Whether the user has had previous red-flagged revisions
 * A link to information on the revision

Revision Information screen
This is a screen split into two sections, one on top of the other. The top is the information about the revision, and the bottom is an iframe containing the diff page from wikipedia. The top section also contains the following buttons:
 * Revert (marks the revision as reverted)
 * Request attention (marks the revision as needing attention from other users, with an attentionflag)
 * Good edit (removes revision)

Protection from abuse
Because a vandal could use the system and mark their edits as good, the following security methods are in place:
 * Users are required to be authorised to acccess the system via a password. Any user in good standing will be given authorisation.
 * Users will be shown a random subset of the available changes
 * Users are never shown edits with their username
 * Users found marking bad edits as good will have their access removed, and if it is obviously bad-faith, will be reported on-wiki.