Page MenuHomePhabricator

Ensure that relevant extensions are MCR-aware
Open, MediumPublic

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.

Related Objects

StatusSubtypeAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenFeatureNone
OpenBUG REPORTNone
OpenNone
StalledNone
DuplicateNone
OpenFeatureNone
ResolvedNone
OpenNone
OpenNone
OpenFeatureNone
OpenNone
ResolvedNone
ResolvedNone
OpenFeatureNone
OpenNone
OpenFeatureNone
StalledNone
OpenNone
OpenNone
Resolveddaniel
Resolveddaniel
InvalidTgr
Resolveddaniel
ResolvedTgr
ResolvedTgr
ResolvedTgr
Resolved Bstorm
ResolvedCCicalese_WMF
Resolvededwardspec
OpenNone
Resolvedawight
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedNone
Resolvedovasileva
ResolvedJdlrobson
ResolvedAmmarpad
OpenNone
ResolvedJdlrobson
ResolvedJdlrobson
Resolvedphuedx
ResolvedJdlrobson
Resolvedovasileva
Resolved marcella
Resolvedmatmarex
ResolvedBUG REPORTEsanders
Resolvedovasileva
Resolvedovasileva
ResolvedJdlrobson
InvalidNone
Resolved jkroll
OpenFeatureNone
OpenNone
ResolvedJdlrobson
ResolvedJdlrobson
ResolvedJdlrobson
DeclinedNone
ResolvedNone
ResolvedBUG REPORTSBisson
ResolvedJdlrobson
ResolvedBUG REPORTJdlrobson
ResolvedJSengupta-WMF
OpenBUG REPORTNone
OpenBUG REPORTNone
ResolvedJdlrobson
Resolveddaniel
ResolvedJdforrester-WMF
Resolveddaniel
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
DeclinedNone

Event Timeline

daniel triaged this task as Medium priority.Mar 8 2018, 4:28 PM
daniel created this task.

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.

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.