User:CheMoBot

Administrators: if this bot is malfunctioning, try changing its settings. It can also be shut off there in a server friendly way. NOTE: if one typical infobox is giving typical problems, try shutting down the edit privileges for that box first.

STARTING HERE  GETTING THERE   TOGETHER, WE CAN MAKE THIS ENCYCLOPEDIA A RELIABLE SOURCE (I hope)

Tasks 1 - Tasks 2

General
As the editor who is responsible for this bot, I reserve the right to turn off the editing privileges for the bot (either completely, or per infobox) and change any other settings!

summary This bot is used to monitor changes to infoboxes in mainspace. These changes can be compared to verified/off-mainspace copies of the boxes. Such changes can be logged to a log connected to the wikiproject who is the (main) maintainer of the infobox. For infoboxes where the functionality has been enabled, it also adds parameters to the infoboxes which help to track changes to the verified information.

What was it programmed for?
Some of the typical information that is available from Wikipedia is verifiably correct ('true'). That type of info is not likely to change without a major change throughout the world, or throughout Wikipedia. Examples of such 'immutable' type of information are:


 * The boiling point of water is 100 &deg;C (under the normal conditions)
 * The birth date of John F. Kennedy is May 29, 1917.

Information of this type is generally put into infoboxes. They contain parameters and fields which result in the data being formatted and displayed, e.g.:

boilingpoint = 100 which would be displayed as: Boiling point: 100 &deg;C Birthdate = which would be displayed as: Date of birth: May 29, 1917
 * The infobox on the page water would contain:
 * The infobox on John F. Kennedy would contain:

Changes to these values on these two pages are easily seen, and many people know which one is 'correct'. However, for less famous people and for less known chemical compounds (or whatever infobox we are talking about), such values are not known. It is then difficult to detect (and one would have to find the literature and check) if the change is resulting in a correct value, or in an incorrect value.

Wikipedia contains a plethora of such information. On practically every single page there is an infobox, and practically all possible infoboxes contain information which is verifiably correct.

What is the bot doing?
For the more basic operation, it simply tries to see if an edit is changing a field in one of the infoboxes it follows. It does this by loading the current and previous revid of the page, extract the infoboxes from these pages. From the infoboxes it creates a list of the fields in those two boxes, and compares the content. Changed content is reported. This can be reported to an IRC channel, or be logged.

A couple of WikiProjects have taken up the gigantic task, of, page by page, checking certain of the values. When they have verified that those values are correct, they record the revid of the page containing the correct values, and index these revids. When such an index exists, the bot also compares the value in the current version of the page with the values in the 'verified revid', and when values are changed, those can also be reported to an IRC channel, or be logged.

When the bot detects fields which have changed from since the 'verified revid', it can add or update parameters in the affected infobox. These parameters can be used to add ✅ or to the displaying of the box, or to just categorise these boxes so they can be reviewed.

It is not restoring values to the verified version, it only adds parameters which can be used to notify changes since a verified version.

Operation
All settings explained below are defined in User:CheMoBot/Settings. This page is fully protected, so values can only be changed by an administrator.

Boxes
CheMoBot needs to be told, which boxes to follow. From the list of boxes that it follows it creates (from Special:Whatlinkshere) a list of pages which it needs to monitor. CheMoBot will parse the changes when a page on this list gets edited.

Telling CheMoBot to follow an infobox can be done by adapting the value of the parameter : boxes=Chembox|Drugbox|Reactionbox (Currently disabled:|Infobox_Royalty|Infobox_officeholder|Infobox_Person)

Make sure that you use the real name of the infobox, do not use template redirects, as it will give erratic results. However, the redirects need to be defined as another parameter, vide infra.

Per followed infobox, a set of parameters can be defined, which are all explained below. These parameters are named after the infobox, by appending the name of the infobox with an underscore and the parameter, e.g. for the infobox 'Chembox' there is a sub-parameter 'channel', so the full name is 'chembox_channel': chembox_channel=#wikichem If the name of the infobox template contains space, then they have to be replaced with underscores, and all characters have to be converted to lowercase. Below I will use 'infobox' denoting that it is a 'per infobox' parameter.

Fields
Fields in infoboxes can be divided into two categories: those which can be verified and be 'correct' (like the boiling point of water; that should have the value '100', and that is not likely to change or the birthday of John F. Kennedy), and those which are more subject to the editorial taste (compounds related to water; such a field is not likely to have a 'correct' value, or the awards of John F. Kennedy, where e.g. the order of the fields can change).

Watched fields
The fields which can be verified are the fields that CheMoBot can watch for changes, and are denoted 'watched fields', the remaining fields are 'other fields'.

To tell CheMoBot which fields to follow, use 'infobox_watchedfields, e.g.

infobox_royalty_watchedfields=birth_place|death_place|website

tells the bot that for the Infobox Royalty the fields to watch are 'birth_place', 'death_place', and 'website'

A special set of watched fields are the verified fields, which are explained below.

Verified fields
A subset (or all) of the watched fields can be denoted as 'verified fields'. The bot treats verified fields slightly different than watched fields. For both watched and verified fields the bot follows the changes, but for the verified fields the value in the revid is checked and correct, whereas that does not have to be the case for the watched fields.

Example:

For the chembox both the field 'CASNo' and the field 'BoilingPt' are immutable data. However, the project related to these boxes has decided to only verify the CASNo first, and when the CASNo is correct, to record the revid in the index. The BoilingPt may very well also be correct, but that has not yet been verified. The settings for the chembox are hence:

chembox_watchedfields=BoilingPt chembox_verifiedfields=CASNo

When someone edits a verified page changing both the BoilingPt and the CASNo, then CheMoBot will alert that the BoilingPt has changed (but it does not know that it changed from or to correct), for the CASNo it will report that it changed from a correct or incorrect value.