Page MenuHomePhabricator

Link the parser function hooks and parser extension tags in Special:Version to the extension that added them
Open, LowPublic

Assigned To
None
Authored By
Spage
Mar 4 2015, 3:30 AM
Referenced Files
F97133164: image.png
Tue, Aug 4, 8:19 AM
F97133152: image.png
Tue, Aug 4, 8:19 AM
F97132872: image.png
Tue, Aug 4, 8:19 AM

Description

Parser extension tags, Parser function hooks and Parsoid extension modules are out of place in Special:Version and unnecessarily bloat that page.

They should be given their own special page (names open to suggestions), where they can be tabulated, each function having its own source (i.e. which extension it comes from) and a brief description of what it does.

Original request was as follows:

For example https://commons.wikimedia.org/wiki/Special:Version lists a parser extension tag <languages>, but it's unclear which extension added this tag (until you search mediawiki.org :) ). Likewise the tag <talkpage> on mw.org. Someone wrote Parser extension tags to manually solve this problem but it's out-of-date.

The Parser doesn't easily know who called setHook() to add a tag, so this seems hard to do. If extension registration were extended to call parser->setHook() based on extension.json information then it would know , but that wouldn't work if an extension needed to register conditionally e.g. in a ParserFirstCallInit hook.

(BTW

$ ack-grep --php 'setHook.*languages' includes extensions

reveals that the Translate extension, not UniversalLanguageSelector, adds the <languages> hook.)

Event Timeline

Spage raised the priority of this task from to Low.
Spage updated the task description. (Show Details)
Spage added a project: MediaWiki-General.
Spage added subscribers: Spage, Legoktm.

This, from Special:Version is potentially confusing:

image.png (1,327×747 px, 212 KB)

image.png (1,337×192 px, 38 KB)

image.png (1,011×113 px, 18 KB)

This really should be tabulated, with a description of what each thing does and where it comes from.

I think there is also a strong case for removing this from Special:Version and putting it into a separate page (call it Special:ParserFeatures or whatever). Special:Version should just list the extensions installed.

  • Special:Version is meant to list installed software, not runtime parser behaviour.
  • Parser tags/functions/modules are runtime capabilities, not extensions, so they don’t belong in an installation report.
  • Special:Version is too long already.
Bugreporter2 renamed this task from link the parser function hooks and parser extension tags in Special:Version to the extension that added them to Move Parser stuff out of Special:Version into own dedicated special page.Tue, Aug 4, 8:38 AM
Bugreporter2 updated the task description. (Show Details)

@Bugreporter2 Please don't hijack tasks to turn them into something completely different from what the original author asked for.

ParserFunctions is for a specific extension that provides some parser functions It's irrelevant here.

Aklapper renamed this task from Move Parser stuff out of Special:Version into own dedicated special page to Link the parser function hooks and parser extension tags in Special:Version to the extension that added them.Thu, Aug 6, 6:12 AM
Aklapper removed a subscriber: Spage.

@Bugreporter2 Please don't hijack tasks to turn them into something completely different from what the original author asked for.

It wasn't completely different, and this is a better solution.