Background
There are various skins using SkinTemplateNavigation::Universal and adding items to the namespaces menu. The Skin code in MediaWiki core has additional code that is triggered by this to move the item to the associated-pages menu. This requires additional code to support and is causing confusion when working with the code. On top of this new code is being written that is making it harder to remove this compability code.
We need fixes in various Wikimedia production extension to begin the deprecation process so we can remove the code supporting this.
Plan
- Fix T409774: Deprecate legacy "personal" and "namespaces" menu from SkinTemplate (Cologneblue and modern are not blockers)
- Update extensions in production using the hook to modify namespaces (VisualEditor and GrowthExperiments are the only two remaining extensions)
- Core should send deprecation warnings when namespace key is modified
- be remove in future task (will create follow up)
$wgHooks['SkinTemplateNavigation::Universal'][] = function ( $t, &$s ) {
$s['namespaces']['bookmark'] = [
'icon' => 'bookmark',
'text' => 'bookmark',
'href' => '/wiki/Foo'
];
};