Page MenuHomePhabricator

UniversalLanguageSelector should stop using the SkinTemplateOutputPageBeforeExec hook
Closed, ResolvedPublic

Description

The SkinTemplateOutputPageBeforeExec hook is being deprecated as part of desktop refresh to simplify skin integration points which will make it much easier for skins to be built.

For similar reasons given in T252841 and discussions with Timo in this Gerrit patch the SkinTemplateOutputPageBeforeExec hook should not be used to force the display of the language portal. That is a decision that should rest with the skin.

Vector will currently display the portal provided either the language overlay is full or the BaseTemplateAfterPortlet hook is used to inject content at the end of the language portal.

Monobook, CologneBlue, Modern will not, however they can be patched to do so (also feel free to jump in with your own thoughts in discussions with Timo in this Gerrit patch about whether this decision should rest in core)

Regardless of that decision UniversalLanguageSelector should replace SkinTemplateOutputPageBeforeExec with the new SkinAfterPortlet - I have provided two possible options to show how that might be done. Let me know what you think.

I'm targeting the 1.35 release for deprecating this hook. Let me know if you see any problems with that! Thanks in advance!

Event Timeline

Change 597400 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/extensions/UniversalLanguageSelector@master] SkinTemplateOutputPageBeforeExec is deprecated

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

Change 597401 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/extensions/UniversalLanguageSelector@master] Output uls-settings-trigger in HTML markup

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

Note, ULS is part of MLEB - https://www.mediawiki.org/wiki/MediaWiki_Language_Extension_Bundle (so master of the extension needs to keep support with odler versions of MW)

rMW53ab861a2fcb: Add BaseTemplateAfterPortlet hook to add html after portlets added the "BaseTemplateAfterPortlet" hook, just so other people don't need to chase it down; it's been in MW core since 1.23

Change 597400 merged by jenkins-bot:
[mediawiki/extensions/UniversalLanguageSelector@master] SkinTemplateOutputPageBeforeExec is deprecated

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

Change 597401 abandoned by Jdlrobson:
Output uls-settings-trigger in HTML markup

Reason:
Note this was meant more as a proof of concept for the language team of what's possible rather than expecting to be reviewed.

My main objective was https://gerrit.wikimedia.org/r/597400 and that's been resolved. This was a slightly different approach to solving this problem.

I'm abandoning this for now, but wanted to note its likely the web team will need to revisit this, as they move the language cog to the top right of Vector in future work.

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