NOTE: For developers needing to update code using the SkinTemplateOutputPageBeforeExec hook please see subtasks and [[ http://mediawiki.org/wiki/User:Jdlrobson/Skins%20for%20extension%20developers | this guide ]]
This hook is very generic and very dangerous adding a lot of risk to support for legacy and modern Vector - it allows any extension to redefine template variables in a skin and as a result change the behaviour of a skin. In the past we've run into various problems in the skin in MobileFrontend where language_urls in the context of our skin means a list of languages but that seems to differ from core.
I believe we should understand the existing uses of it and provide more generic hooks to guide usage.
e.g. in the case of languages a SkinAddLanguageUrl hook would be better as this would also change the return result of getLanguages.
https://codesearch.wmflabs.org/search/?q=SkinTemplateOutputPageBeforeExec&i=nope&files=&repos=
# Acceptance criteria
[x] WikimediaMessages has been modified to use SkinAddFooterLinks https://gerrit.wikimedia.org/r/596247
[x] T251817 is resolved
[x] After the change has gone live (scheduled 21st May) update the config hook https://gerrit.wikimedia.org/r/596277
[x] MobileFrontend has been modified to use SkinAddFooterLinks ~~[[ https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/MobileFrontend/+/594311/14 | 1 ]]~~ ~~[[ https://gerrit.wikimedia.org/r/596491 | 2 ]]~~ ~~[[ https://gerrit.wikimedia.org/r/596492 | 3 ]]~~
[x] T252725 is resolved
[x] SemanticWiki is aware of the change. https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/issues/69
[x] Wikidata.org task has been resolved (T253174)
[x] UniversalLanguageSelector has been migrated (T253178)
[x] Wikibase has been migrated (T252841)
[x] WikidataPageBanner has been updated (T254295)
[x] BlueSpice is aware of the change.
[x] A patch exists for BlogPage https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/BlogPage/+/597385 and has been acknowledged
[x] LiquidThreads has been migrated (T254297)
[x] FeaturedFeeds has been migrated (T255380)
[x] Let https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/issues/69 and BlueSpice know the deprecation has occurred.
[x] A patch for WhoIsWatching exists (https://gerrit.wikimedia.org/r/596329)
[] Hook is marked as deprecated in core https://gerrit.wikimedia.org/r/596482
[] An email is sent to wikitech-l outlining the upgrade requirements and extensions that are impacted - News, PushToWatch, SharedHelpPages, LanguageSelector
-------
<https://www.mediawiki.org/wiki/Category:SkinTemplateOutputPageBeforeExec_extensions>
Current users of `SkinTemplateOutputPageBeforeExec` hook per https://codesearch.wmflabs.org/ (as of 2018-01-30)
* BreadCrumbs2
* `$tpl->set( 'subtitle', .. )`
* `$template->data['sidebar'][ .. ] = .. `
* `$wgLogo = ..`
* CookieWarning
* ` $tpl->data['headelement'] .= ..`
* ExtraLanguageLink
* `$sk->getOutput()->getProperty( 'extralanguagelinks' )`
* `$tpl->get( 'language_urls' )`
* `$tpl->set( 'language_urls', .. )`
* StickToThatLanguage
* `$tpl->set( 'language_urls',.. )`
* Wikibase
* `$template->set( 'language_urls', [] )`
* `$template->set( 'wbeditlanglinks`, .. )
* InterlanguageExtension
* `$template->data['language_urls'][] = ..`
* BlueSpiceFoundation, BlueSpiceReaders, BlueSpiceAuthors
* `$template->data['bs_..'][] = ..`
* HitCounters
* `$tpl->get( 'footerlinks' )`
* `$tpl->set( 'footerlinks', .. )`, `$tpl->set( 'viewcount', .. )`
* MobileFrontend
* `$tpl->data['footerlinks']`
* `$tpl->set( 'mobileview', .. )`
* `$tpl->set( 'footerlinks', .. )`
* `$tpl->set( 'desktop-toggle', .. )`, `$tpl->set( 'mobile-license', .. )`, `$tpl->set( 'privacy', .. )`,`$tpl->set( 'terms-use', .. )`
* SharedHelpPages
* `$tpl->set( 'copyright', .. )`
* UniversalLanguageSelector
* `$template->get( 'language_urls' )`, `$template->set( 'language_urls', .. )`
* WhoIsWatching
* `$tpl->set( 'numberofwatchingusers', .. )`
* Wikidata.org
* `$template->data['footerlinks'][] = ..`,`$template->set( .. )`
* WikidataPageBanner
* ` $tpl->set( 'prebodyhtml', .. )`, `$tpl->get( 'prebodyhtml' )`
* WikimediaMessages
* `$template->data['footerlinks'][] = ..`,`$template->set( .. )`