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
- WikimediaMessages has been modified to use SkinAddFooterLinks https://gerrit.wikimedia.org/r/596247
- T251817 is resolved
- After the change has gone live (scheduled 21st May) update the config hook https://gerrit.wikimedia.org/r/596277
- MobileFrontend has been modified to use SkinAddFooterLinks
123 - T252725 is resolved
- SemanticWiki is aware of the change. https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/issues/69
- Wikidata.org task has been resolved (T253174)
- UniversalLanguageSelector has been migrated (T253178)
- Wikibase has been migrated (T252841)
- WikidataPageBanner has been updated (T254295)
- BlueSpice is aware of the change.
- A patch exists for BlogPage https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/BlogPage/+/597385 and has been acknowledged
- LiquidThreads has been migrated (T254297)
- FeaturedFeeds has been migrated (T255380)
- Let https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/issues/69 and BlueSpice know the deprecation has occurred.
- 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( .. )