Page MenuHomePhabricator

Introduce ContentHandler::getSecondaryDataUpdates to replace Content::getSecondaryDataUpdates
Closed, ResolvedPublic

Description

Working on Multi-Content Revisions and discussing T190063: Tracking dependencies for multiple Content objects per page (MCR), it became clear that the signature and contract of Content::getSecondaryDataUpdates would no longer work for the new multi-content logic.

In particular:

  • only one LinksUpdate should be generated, and it should be based on the combined ParserOutput of all slots. Havign one LinksUpdate per slot would cause them to override each other.
  • DataUpdates need to be aware what slot they refer to, to enable per-slot dependency tracking, and to avoid updates from different slots from interfering with each other.

Reason for having the new method in ContentHandler:

  • The signature of the method in Content cannot be changed without breaking extensions (compare T193613: Strategy for handling PHP interface changes)
  • Following the value/service pattern, much of the functionality of the Content interface should reside in ContentHandler anyway.

In addition to the new ContentHandler::getSecondaryDataUpdates, a similar method will be needed to get all DataUpdates associated with an edit. An implementation is currently proposed in If610c68f4 in the new DerivedPageDataUpdater class, but the method should be exposed via a more narrow (provider-like) interface (see T194043).

Related Objects

StatusAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenNone
ResolvedAbit
OpenNone
OpenNone
OpenNone
DuplicateNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedppelberg
ResolvedKrinkle
OpenNone
OpenNone
OpenNone
ResolvedRamsey-WMF
OpenNone
OpenNone
OpenNone
OpenNone
Opendaniel
Resolveddaniel
Resolveddaniel

Event Timeline

daniel created this task.May 7 2018, 1:00 PM
daniel moved this task from Inbox to Done on the Multi-Content-Revisions board.

Change 418134 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] [MCR][WIP] Introduce ContentHandler::getSecondaryLinksUpdates.

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

Change 418075 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] [MCR][WIP] Replace calls to Content::getSecondaryDataUpdates

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

daniel renamed this task from Introduce ContentHandler::getSecondaryLinksUpdates to replace Content::getSecondaryLinksUpdates to Introduce ContentHandler::getSecondaryDataUpdates to replace Content::getSecondaryDataUpdates.May 7 2018, 1:27 PM
daniel updated the task description. (Show Details)
daniel updated the task description. (Show Details)
Restricted Application added a project: Wikidata. · View Herald TranscriptMay 8 2018, 2:52 PM

Change 418075 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] [MCR][DNM] Replace calls to Content::getSecondaryDataUpdates

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

Ladsgroup moved this task from incoming to monitoring on the Wikidata board.Jun 28 2018, 3:38 PM
Vvjjkkii renamed this task from Introduce ContentHandler::getSecondaryDataUpdates to replace Content::getSecondaryDataUpdates to dhdaaaaaaa.Jul 1 2018, 1:11 AM
Vvjjkkii removed daniel as the assignee of this task.
Vvjjkkii triaged this task as High priority.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed subscribers: Aklapper, gerritbot.
CommunityTechBot renamed this task from dhdaaaaaaa to Introduce ContentHandler::getSecondaryDataUpdates to replace Content::getSecondaryDataUpdates.Jul 2 2018, 4:22 PM
CommunityTechBot assigned this task to daniel.
CommunityTechBot raised the priority of this task from High to Needs Triage.
CommunityTechBot updated the task description. (Show Details)
CommunityTechBot added subscribers: Aklapper, gerritbot.

Change 418075 abandoned by Daniel Kinzler:
[MCR][DNM] Replace calls to Content::getSecondaryDataUpdates

Reason:
see Idbe7d582b49

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

Change 418134 merged by jenkins-bot:
[mediawiki/core@master] Introduce ContentHandler::getSecondaryDataUpdates.

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