Page MenuHomePhabricator

HTMLForm: Remove $messagePrefix and related code
Open, Needs TriagePublic

Description

The HTMLForm constructor accepts a $messagePrefix parameter, which is used to set a prefix for legend messages. This goes explicitly against the "no dynamic messages" guideline (1, 2), by actually encouraging use of dynamic message keys. Additionally, FormSpecialPage uses the special page's name as default message prefix (overridable with getMessagePrefix()). This might work for core, but not for extensions, where all messages are generally prefixed with the extension's name, which is also generally not part of the special page's name.

On top of that, the $messagePrefix parameter is documented as follows:

A prefix to go in front of default messages

This is not true: as I wrote above, the prefix is only used in legends. This is potentially surprising and not well documented. It's mostly only mentioned in the doc comment of setMessagePrefix which reads:

@todo Currently only used for the "<fieldset>" legend on forms with multiple sections; should be used elsewhere?

Therefore I propose that the $messagePrefix thing be removed entirely, and that message keys are specified in full like we do elsewhere. Related methods like FormSpecialPage::getMessagePrefix would also be removed.

Event Timeline

Change 925116 had a related patch set uploaded (by Func; author: Func):

[mediawiki/core@master] SpecialRedirect: Avoid using dynamic message keys

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

Change 926476 had a related patch set uploaded (by Daimona Eaytoy; author: Daimona Eaytoy):

[mediawiki/extensions/CheckUser@master] Avoid dynamic message keys via FormSpecialPage::getMessagePrefix()

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

Change 926477 had a related patch set uploaded (by Daimona Eaytoy; author: Daimona Eaytoy):

[mediawiki/extensions/WikiToLDAP@master] Avoid dynamic message keys via FormSpecialPage::getMessagePrefix()

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

Change 925116 merged by jenkins-bot:

[mediawiki/core@master] SpecialRedirect: Avoid using dynamic message keys

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

Change 926478 had a related patch set uploaded (by Daimona Eaytoy; author: Daimona Eaytoy):

[mediawiki/extensions/SecurePoll@master] Avoid dynamic message keys via FormSpecialPage::getMessagePrefix()

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

Change 926476 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] Avoid dynamic message keys via FormSpecialPage::getMessagePrefix()

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

Change 926478 merged by jenkins-bot:

[mediawiki/extensions/SecurePoll@master] Avoid dynamic message keys via FormSpecialPage::getMessagePrefix()

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

Change 926477 merged by MarkAHershberger:

[mediawiki/extensions/WikiToLDAP@master] Avoid dynamic message keys via FormSpecialPage::getMessagePrefix()

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