Page MenuHomePhabricator

Ensure that relevant extensions are MCR-aware
Open, NormalPublic

Description

This is a tracking ticket for investigating which extensions need updating to be fully functional with MCR.

We should investigate at least:

  • SpamBlacklist applies to content of all slots
  • AbuseFilter applies to the content of all slots

We should further survey which extensions rely on PreparedEdit objects returned by WikiPage::prepareContentForEdit, compare also T194042: Replace usages of WikiPage::prepareContentForEdit.

Details

Related Gerrit Patches:

Related Objects

StatusAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenNone
ResolvedAbit
OpenNone
OpenNone
OpenNone
DuplicateNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedppelberg
ResolvedKrinkle
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolveddaniel
Resolveddaniel
InvalidTgr
Resolveddaniel
ResolvedTgr
ResolvedTgr
ResolvedTgr
ResolvedBstorm
ResolvedCCicalese_WMF
OpenNone
OpenNone
Resolvedawight
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedovasileva
OpenNone
OpenNone
OpenNone
Resolveddaniel
ResolvedJdforrester-WMF
Resolveddaniel
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
OpenNone

Event Timeline

daniel triaged this task as Normal priority.Mar 8 2018, 4:28 PM
daniel created this task.
daniel added a subscriber: Abit.Mar 8 2018, 5:58 PM

Change 460490 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Allow edit.php to modify different slots.

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

Change 460490 merged by jenkins-bot:
[mediawiki/core@master] Allow edit.php to modify different slots.

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

Per @Tgr in IRC, this is "blocked on having the finalized PageUpdater interface, and on SlotRoleHandler/PageTypeHandler landing". That would be T196087: Refactored implementation of MCR page update interface and T194046: Introduce SlotRoleHandler and SlotRoleRegistry for declaring slot roles. and NO_TASK_YET for PageTypeHandler.

Tgr added a comment.EditedOct 3 2018, 12:59 AM

More precisely,

For the record, I think SpamBlacklist will work properly with MCR, without any change:

SpamBlacklistHooks::filterMergedContent calls WikiPage::prepareContentForEdit and then only uses $editInfo->output, which is the combined ParserOutput for all fields. This means that getExternalLinks() will return the external links from all slots, and SpamBlacklist::filter() will thus detect any bad links in any slot.

There is a caveat: when checking upload comments, SpamBlacklistHooks::onUploadVerifyUpload calls Content::getParserOutput directly, which will only cover the main slot. But this will only become a problem when the upload interface starts supporting the immediate creation of additional slots, at which point the UploadVerifyUpload hook will need updating.

SpamBlacklistHooks should of course still be updated to not use the deprecated prepareContentForEdit() method.

WDoranWMF moved this task from MCR to mop on the Core Platform Team board.Jul 26 2019, 6:40 PM