Page MenuHomePhabricator

Adapt all skins to use modern menu system for footer generation
Open, MediumPublic

Description

Background

Following T318376: Make universal skin hook able to modify footer menus we'd like to update all skins to use #data-portlets.data-footer-places to render footer rather than #data-footer

Requirements

  • Make sure menu items added to footer via SkinTemplateNavigation::Universal display in all skins regardless of whether they have upgraded.

Phase 1

  • Nostalgia is migrated to use modern menus
  • Modern is migrated to use modern menus
  • CologneBlue is migrated to use modern menus

Phase 2

  • Monobook is migrated to use modern menus
  • Timeless is migrated to use modern menus
  • Vector is migrated to use modern menus

Phase 3

  • Vector 2022 is migrated to use modern menus
  • Minerva is migrated to use modern menus
  • We will update Skin::getTemplateData so data-footer is not output if skin menus option contains one of the footers.

Sign off

  • Create a ticket for the deprecation of SkinAddFooterLink hook in favor of SkinTemplateNavigation::Universal. We'll need to fix all usages first.

Event Timeline

Jdlrobson-WMF renamed this task from Adapt all skins to use modern menu system to Adapt all skins to use modern menu system for footer generation.May 14 2026, 10:28 PM

Change #1287491 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] POC: Send items from SkinTemplateNavigation::Universal menu to old skins

https://gerrit.wikimedia.org/r/1287491

Change #1295076 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/core@master] Display Universal hook footer items in all skins

https://gerrit.wikimedia.org/r/1295076

Change #1296622 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/core@master] SkinTemplate: Extract footer vars into private method

https://gerrit.wikimedia.org/r/1296622

Change #1296622 merged by jenkins-bot:

[mediawiki/core@master] SkinTemplate: Extract footer vars into private method

https://gerrit.wikimedia.org/r/1296622

Change #1295076 merged by jenkins-bot:

[mediawiki/core@master] Display Universal hook footer items in all skins

https://gerrit.wikimedia.org/r/1295076

Change #1300218 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/Modern@master] Modern: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1300218

Note: buildContentNavigationUrlsInternal() gives ca- prefix to footer items added via Universal hook without explicit id. Worth a follow-up?

Change #1287491 abandoned by Jdlrobson:

[mediawiki/core@master] POC: Send items from SkinTemplateNavigation::Universal menu to old skins

Reason:

Done in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1295076

https://gerrit.wikimedia.org/r/1287491

Change #1300218 merged by jenkins-bot:

[mediawiki/skins/Modern@master] Modern: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1300218

Change #1300841 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/CologneBlue@master] CologneBlue: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1300841

Change #1300852 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/Vector@master] Vector: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1300852

Change #1300841 merged by jenkins-bot:

[mediawiki/skins/CologneBlue@master] CologneBlue: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1300841

Change #1301419 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/MinervaNeue@master] Minerva: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1301419

Change #1301477 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/Timeless@master] Timeless: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1301477

@HakanIST I'd suggest that we DO NOT output data-footer for skins who define footer in menu definition in getTemplateData. That would save a lot of processing power. It would also help with us migrating skins away from data-footer usage in templates in future. What do you think?

@HakanIST I'd suggest that we DO NOT output data-footer for skins who define footer in menu definition in getTemplateData. That would save a lot of processing power. It would also help with us migrating skins away from data-footer usage in templates in future. What do you think?

Makes sense, happy to help with the core patch for that once the skin migrations land.

Change #1301484 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/Nostalgia@master] Nostalgia: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1301484

Change #1301597 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/Vector@master] Vector 2022: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1301597

Monobook was missing from the requirements so I added it. I suggest we merge phase 2 tomorrow (and wait an additional week for Vector 2022 and Minerva given they are our flagship skins and have the most traffic)

Change #1301484 abandoned by HakanIST:

[mediawiki/skins/Nostalgia@master] Nostalgia: Render footer from portlet menus

Reason:

Nostalgia is frozen and shouldn't gain footer extensibility. Leaving it on the old path per Jon's review.

https://gerrit.wikimedia.org/r/1301484

Change #1302252 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/MonoBook@master] MonoBook: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1302252

Change #1302252 merged by jenkins-bot:

[mediawiki/skins/MonoBook@master] MonoBook: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1302252

Change #1302937 had a related patch set uploaded (by HakanIST; author: HakanIST):

[mediawiki/skins/Timeless@master] Timeless: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1302937

Change #1301477 abandoned by HakanIST:

[mediawiki/skins/Timeless@master] Timeless: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1301477

@HakanIST I'll review Minerva and Vector 2022 after the next branch cut to minimize risk of this change. We will have more confidence in those if the roll outs to Monobook/Timeless/Vector do not present any footer issues. Thanks again for pushing this forward!

Change #1302937 merged by jenkins-bot:

[mediawiki/skins/Timeless@master] Timeless: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1302937

Change #1300852 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Vector legacy: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1300852

Change #1301597 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Vector 2022: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1301597

Change #1301419 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Minerva: Render footer from portlet menus

https://gerrit.wikimedia.org/r/1301419