What's this?

Legends subjects that receive an identically named counterpart, the Canon version is created at "Page title/Canon". These /Canon pages are then moved regularly to their correct titles, while the Legends versions are moved to "Page title/Legends".

These Canon-Legends switches are done in large batches to avoid clogging edit histories with numerous link changes. In general, a switch is made when the amount of /Canon pages exceeds 100. The bot project requires a fresh database dump for the best outcome (old database dumps means new pages are not modified etc.).

The switch is then done by EcksBot in four stages:

  1. Fix links to Legends articles to point from "Page title" to "Page title/Legends": usually takes several hours
  2. Move Legends articles from "Page title" to "Page title/Legends": 5 minutes
  3. Fix links to Canon articles to point from "Page title/Canon" to "Page title": usually takes an hour or two
  4. Move Canon articles from "Page title/Canon" to "Page title": 5 minutes

This is a process that cannot be completed simultaneously for various reasons. This results in a variety of issues during the switch:

  1. The links changed in stage 1 will appear as redlinks before stage 2 is completed, and the links changed in stage 3 will appear as redlinks before stage 4 is completed.
  2. Between the completion of stages 2 and 4, the pages will be titled "Page title/Legends" and "Page title/Canon", which can result in issues with inter-continuity linking via the {{Top}} template.

Thankfully, these issues should only be present for a short time—hours at most—and will be resolved automatically by the bot. Do not attempt to fix these issues by manually moving pages and changing links.

If any issues persist beyond the usual few hours, please reach out to the bot operator. Sometimes the bot crashes or runs into other unexpected problems.

Generating the bot script

You can safely ignore this. 1. Generate list of Legends links to be converted to /Legends:

  • Input: List of current Legends titles, one title per line, apostrophes in titles escaped
  • Find: (.)(.*)
  • Replace:

\('\[\[\1\2\]\]\\'s'\, '\[\[\1\2\/Legends\|\1\2\\'s\]\]'\), \('\[\[\l(\1)\2\]\]\\'s'\, '\[\[\1\2\/Legends\|\l(\1)\2\\'s\]\]'\), \('\[\[\1\2\]\]s'\, '\[\[\1\2\/Legends\|\1\2s\]\]'\), \('\[\[\l(\1)\2\]\]s'\, '\[\[\1\2\/Legends\|\l(\1)\2s\]\]'\), \('\[\[\1\2\]\]'\, '\[\[\1\2\/Legends\|\1\2\]\]'\), \('\[\[\l(\1)\2\]\]'\, '\[\[\1\2\/Legends\|\l(\1)\2\]\]'\), \('\[\[\1\2\|'\, '\[\[\1\2\/Legends\|'\), \('\[\[\l(\1)\2\|'\, '\[\[\1\2\/Legends\|'\), \('\{\{Rm\|\1\2\}\}'\, '\{\{Rm\|\1\2\/Legends\}\}'\), \('\{\{Main\|\1\2\}\}'\, '\{\{Main\|\1\2\/Legends\}\}'\), \('\|link\=\1\2\}\}'\, '\|link\=\1\2\/Legends\}\}'\), \('\|link\=\1\2\|'\, '\|link\=\1\2\/Legends\|'\), \('\|link\=\1\2\]\]'\, '\|link\=\1\2\/Legends\]\]'\),

2. Generate list of Legends titles to be moved to /Legends for MassRename:

  • Input: List of /Canon titles involved, one title per line, spaces replaced with underscores
  • Find: (.*)\/Canon
  • Replace: \1 \1\/Legends\r\nTalk:\1 Talk:\1\/Legends

3. Generate list of Canon links to be converted:

  • Input: List of current /Canon titles, one title per line, apostrophes in titles escaped
  • Find: (.)(.*)\/Canon
  • Replace:

\('\[\[\1\2\/Canon\]\]'\, '\[\[\1\2\]\]'\)\, \('\[\[\l(\1)\2\/Canon\]\]'\, '\[\[\l(\1)\2\]\]'\)\, \('\[\[\1\2\/Canon\|\1\2\\'s\]\]'\, '\[\[\1\2\]\]\\'s'\)\, \('\[\[\1\2\/Canon\|\l(\1)\2\\'s\]\]'\, '\[\[\l(\1)\2\]\]\\'s'\)\, \('\[\[\1\2\/Canon\|\1\2s\]\]'\, '\[\[\1\2\]\]s'\)\, \('\[\[\1\2\/Canon\|\l(\1)\2s\]\]'\, '\[\[\l(\1)\2\]\]s'\)\, \('\[\[\1\2\/Canon\|\1\2\]\]'\, '\[\[\1\2\]\]'\)\, \('\[\[\1\2\/Canon\|\l(\1)\2\]\]'\, '\[\[\l(\1)\2\]\]'\)\, \('\[\[\1\2/Canon\|'\, '\[\[\1\2|'\), \('\{\{Rm\|\1\2\/Canon\}\}'\, '\{\{Rm\|\1\2\}\}'\), \('\{\{Main\|\1\2\/Canon\}\}'\, '\{\{Main\|\1\2\}\}'\), \('\|link\=\1\2\/Canon\}\}'\, '\|link\=\1\2\}\}'\), \('\|link\=\1\2\/Canon\|'\, '\|link\=\1\2\|'\), \('\|link\=\1\2\/Canon\]\]'\, '\|link\=\1\2\]\]'\),

4. Generate list of Canon titles to be moved from /Canon for MassRename:

  • Input: List of /Canon titles involved, one title per line, spaces replaced with underscores
  • Find: (.*)\/Canon
  • Replace: \1\/Canon \1\r\nTalk:\1\/Canon Talk:\1