On Wed, Jul 23, 2008 at 4:54 PM, Tim Starling tstarling@wikimedia.org wrote:
I've implemented a new feature, which allows users to automatically fix double redirects which are created when they move a page. It's live now on Wikimedia projects.
On the page move form, a checkbox is shown, checked by default, labelled "update any redirects which point to the original title". Jobs are inserted into the job queue in order to perform the edits. The edits are performed by a user called "Redirect fixer", or the equivalent localised by [[MediaWiki:double-redirect-fixer]]. This user is created in the user table if it doesn't already exist, so it has a valid user ID. Its edits do not show up in Recent Changes.
Before each edit is performed, the redirect fixer will follow the chain of redirects to find the current final destination. It will then edit the page to point to that final destination. If there is a circular reference or invalid redirect, no action is taken. If the page is no longer a double redirect (say because the move was reverted), then no action is taken.
If the page has changed since the move was performed, the edit is not done.
The number of job queue threads has been increased.
This feature was inspired by a meeting with White Cat at Wikimania, seeing the terrible conditions his bots are forced to work under, shoulder to shoulder in 15 tiled command prompt windows, fixing double redirects all day and all night, working their poor little fingers to the bone. It was very sad.
Comments would be appreciated.
Sounds nice (didn't try it yet). Could this be triggered on certain view events as well? So, someone tries to view [[A]] which redirects to [[B]] which redirects to [[C]]. Currently, he'll get "[[B]] (redirected from [[A]])". If this occurs (redirected to a redirect page), could a double redirect fix request be added to the queue? That would clear all dr's over time, as we have unlimited eyeballs in the long run :-)
Magnus