User:Retep998/DisProposal

I propose to overhaul the way pages are disambiguated. Currently we do  and furthermore we only disambiguate when another mod has an item with the same name. My proposal involves changing this to  and to always disambiguate, even if there are no other mods that have items with the same name. Disambiguation pages will still exist when there are two or more mods that have items with the same name.

Advantages

 * Because pages are always disambiguated to begin with, it saves the work of having to disambiguate the page. So many edits to navboxes are just updating links to disambiguated versions every time another mod adds a similarly named item.
 * For example when Esteemed Innovation was added to the wiki, it shared a ton of item names with Flaxbeard's Steam Power. As a result, all those pages had to be disambiguated which involves 1. checking each link on the new navbox to see if an existing article exists from another mod, 2. moving that article to a disambiguated variant, 3. creating a disambiguation page between the two articles, 4. and check each article for links from other pages and update all those pages. That's a huge amount of effort which takes away a huge chunk of time which could have been used to instead write new articles. Under the new system all the existing articles are already at unambiguous locations so nothing has to be moved, no links have to be updated. At worst you'd have to create a disambiguation page or add a link to an existing disambiguation page, but that's a much lower cost and could possibly even be automated by a bot.
 * Many templates currently have to deal with whether a given article is disambiguated. Under this proposal there would be a single consistent scheme and templates would be simpler as a result.
 * It is easy to view all pages with a given prefix.
 * OreDicted tiles (O) always link to the right location. Under the current system, a large portion of OreDict entries link to the wrong location– most often, this is a disambiguation page. For example, links to Toast, when instead each individual entry should link to their proper article.
 * If you see a link to an article about some item/block, you always know what mod that item/block is from. This helps when scanning RecentChanges for example.

Disadvantages

 * Involves moving almost every article and updating numerous links and templates and possibly even the extensions.

Steps to enact this proposal
As long as these steps are followed there should be no breakage while the new system is implemented.


 * 1) Move all pages to their new locations leaving redirects behind. For any page that is already disambiguated this would be completely obvious to automate. For any page that isn't already disambiguated, it could infer the mod from the category and navbox on the page. As a result this first step could be done in a relatively short amount of time.
 * 2) Update the templates and extensions to use the new system. While this would be completely manual, there aren't that many templates and so this shouldn't be too hard.
 * 3) Update all links across the wiki to point to the new locations, and get rid of unused dis parameters and unify NI and NID. A lot of this could also be automated actually.
 * 4) Clean up the old redirects that are no longer needed. Easily automatable.

Adding a page under the current system

 * 1) Check if   already exists for a different mod. If not, skip steps 2, 3, 4, and 6.
 * 2) Move the existing page to.
 * 3) Create a disambiguation page at.
 * 4) Find all links to   and update them, either by adding , removing  , or changing NI usages to NID.
 * 5) Create.
 * 6) Add About to   and.
 * 7) Check each link on   to see whether it goes to the right place and add   and   as needed.

Adding a page under the proposed system

 * 1) Create.
 * 2) If   does not yet exist, create a redirect to , otherwise change the redirect to a disambiguation page, or add a new entry to the existing disambiguation.
 * 3) If   is a disambiguation page, add About to the   you just created and also the   if you turned a redirect into a disambiguation in the previous step.

It would be possible to write a bot to automatically handle steps 2 and 3 very easily due to the consistent scheme. Even without a bot, it is clear that the cost of adding a page under the proposed system is much lower on average than the current system.