Page MenuHomePhabricator

Introduce a service object for obtaining rendered output for a page
Closed, ResolvedPublic

Description

The canonical way to get rendered output of a page is currently WikiPage::getParserOutput(). This functionality should be extracted into a service object, and generalized so it can also be used by Article::view, which currently duplicated the relevant functionality (namely, checking ParserCache, and running PoolWorkArticleView).

Introducing such a service object will also give us a leverage point for supporting output transformations. Output transformations are currently implemented partially in ParserOutput, partially in Parser, and partially duplicated in Parsoid.

The new service would also provide a single point for introducing caching for the output of old revisions (T244058).

Event Timeline

daniel triaged this task as Medium priority.Nov 4 2020, 5:18 PM

Change 631264 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Introduce PageOutputAccess

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

Change 631264 merged by jenkins-bot:
[mediawiki/core@master] Introduce ParserOutputAccess

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

daniel moved this task from Doing to Done on the Platform Team Workboards (Green) board.