Page MenuHomePhabricator

[EPIC] Use Parsoid for UX
Open, Needs TriagePublic

Description

(I thought this task had already been created as "Parsoid Read Views phase 5" but I can't find it; feel free to merge as dup if we find the earlier task.)

There are three main components to replacing the legacy parser with Parsoid:

  1. Using Parsoid for read views HTML
  2. Using Parsoid in the post-edit pathway to generate article metadata for the database
  3. Using Parsoid for UX elements, including Messages

This task is for that last one. Part of this work will be switching OutputPage::addWikitext* methods to set the 'useParsoid' flag in the ParserOptions, another part will be to adjust MessageCache to do the same. Some performance work might need to be done on Parsoid to improve the parsing time for short input texts which don't involve much (or any) markup. @tstarling looked at that a while ago and has already made some improvements; there's another task buried in phabricator somewhere which outlines the remaining work he felt was needed.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
cscott renamed this task from [EPIC] Use Parsoid for UX messages to [EPIC] Use Parsoid for UX.Jul 24 2024, 5:06 PM

T112999: Let MediaWiki operate entirely without wikitext was tangentially related, in that part of that work was to tag UX "wikitext" elements, like Messages, with a content-type so that they could be expressed as raw HTML, wikitext, wikitext/2.0, markdown, etc. That could be included in this task, which would allow a gradual transition message-or-element-by-message-or-element to Parsoid instead of the legacy parser by using an appropriate content-type, instead of switching them all at once. It's not necessary to do that though.