Author: obsessivemathsfreak
Description:
Creation of a new namespace can render it impossible to access inappropriately named existing pages.
REPORT OF PROBLEM
A user on the wiki had created a page such as "Guide:A_Page" on the wiki, but no "Guide" namespace existed. Upon creation of the "Guide" namespace "Guide:A_Page" redirected to a nonexistant page in the Guide namespace and displayed a page creation page.
The original page could not be accessed. Even using a leading colon for the default name space, e.g. "wiki/:Guide:A_Page" or variants thereof, all lead to a redirection to the Guide namespace.
However, the page still existed and could be found on wiki/index.php?title=Special:Allpages&namespace=0. In addition, if the the page(s) were part of a category, they still appeared on that Category page. However in both these cases, all links redirected to the "Guide" namespace page.
STEPS TO REPRODUCE ERROR
- Create a new page with a colon, as if denoting a namespace, e.g. Problem:Trouble_Ahead
- Once this page is created, create the appropriate namespace, e.g. 100 => "Problem"
- Once the namespace is created the above problem should be observed.
The issue was resolved as follows
WORKAROUD
- Rename the problem namespace. e.g. "Problem" is renamed to "Solution".
- Move the now available pages with the namespace prefix to appropriate pages, e.g. "Problem:Trouble_Ahead" -> "Problem_Solved:Trouble_Ahead" or "Trouble_Ahead", etc. whichever is appropriate
- Rename the problem namespace back to its intended name, e.g. "Solution" -> "Problem"
- The original pages are now available and can be moved into the appropriate namespace
ISSUE
Mediawiki cannot unambiguously and uncategorically access a page in the default namespace if a namespace conflict exists. There is no way to explicitly visit a page in the default namespace under these conditions.
Version: 1.8.x
Severity: minor