Page MenuHomePhabricator

Allow WikitextContentHandler to use Parsoid for rendering wikitext
Closed, ResolvedPublic

Description

WikitextContentHandler should support using Parsoid for generating rendered HTML, controlled by a flag in ParserOptions. This way, we will be able to remove most of the special case code for generating parsoid output. It will also allow parsoid to benefit from the infrastructure in place for other kinds of rendering, such as stampede protection using PoolCounter and handling of multiple slots.

NOTE: For some time, we will be generating wikitext renderings using the old parser as well as parsoid, and we will want to store both in the parser cache. But not in the same instance, and possibly in a different backend. To allow this, ParserOutputAccess must allow routing output to difference ParserCache instances based on ParserOptions (and content model?).
NOTE: Once this is done, parsoid output becomes available via ParserOutputAccess. At that point, ParsoidOutputAccess class should be removed.

Related Objects

StatusSubtypeAssignedTask
StalledNone
In ProgressNone
OpenNone
OpenNone
OpenReleaseNone
OpenNone
OpenNone
OpenNone
OpenFeatureNone
OpenNone
Resolvedcscott
Opencscott
Open ssastry
Resolveddaniel
Resolvedcscott
Resolvedcscott
OpenNone
ResolvedDAlangi_WMF

Event Timeline

Change 808835 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] Unify ParserOutputAccess and ParsoidOutputAccess

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

daniel triaged this task as Medium priority.Jul 13 2022, 10:08 AM
daniel lowered the priority of this task from High to Medium.Oct 18 2022, 2:45 PM
daniel renamed this task from Make Parsoid usable via the ParserOutputAccess interface to Allow WikitextContentHandler to use Parsoid for rendering wikitext.Dec 8 2022, 6:55 AM
daniel updated the task description. (Show Details)
daniel added a subscriber: cscott.

Change 826291 had a related patch set uploaded (by Daniel Kinzler; author: C. Scott Ananian):

[mediawiki/core@master] WIP: WikitextContentHandler: use parsoid

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

daniel raised the priority of this task from Medium to High.Dec 14 2022, 12:23 PM
daniel moved this task from Blocked to Doing on the RESTBase Sunsetting board.

Possibly duplicate of T300190, but for now, I'll add this as a child for tracking purposes.

Change 808835 abandoned by Daniel Kinzler:

[mediawiki/core@master] Unify ParserOutputAccess and ParsoidOutputAccess

Reason:

obsolete

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

Possibly duplicate of T300190, but for now, I'll add this as a child for tracking purposes.

Not really a duplicate, but very close. I think having it as a child works.

Change 905315 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/extensions/DiscussionTools@master] Switch out ParsoidOutputAccess for ParserOutputAccess

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

Change 905315 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Switch out ParsoidOutputAccess for ParserOutputAccess

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

Change 826291 abandoned by Daniel Kinzler:

[mediawiki/core@master] WIP: WikitextContentHandler: use parsoid

Reason:

obsolete

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

Change 1009205 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] REST: HTML endpoints should support all content models

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

Change 1009205 merged by jenkins-bot:

[mediawiki/core@master] REST: HTML endpoints should support all content models

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