Page MenuHomePhabricator

[Refactor] Wire the main content back using data-mw
Closed, ResolvedPublic

Description

Context

When wiring back the main content from a main+details sub-ref we're currently using the MWReferencesList to put it into the DOM for the Parsoid parser. Parsoid then retrieves it from there whenever parsing a MWReferenceNode with details.

Issues
  • When there's no MWReferenceList there's no way to pass the content back.
  • There are several issues with template produced main references and their content when converting back Wikitext
  • With a {{reflist}} template we see that passing back the content gets tricky in some cases
Solution

Are more stable approach that could address all of the above issues would be to pass the main content similar to the details content using mw-data.

Migration should be roughly in this order:

  • VE should emit mainBodyHtml when saving the page.
  • Parsoid should emit mainBodyHtml when parsing a page.
  • Parsoid should rely on mainBodyHtml when loading from VE.
  • Deploy.
  • VE can rely on mainBodyHtml when loading the page
  • mainBody can be deprecated everywhere.

Event Timeline

Change #1277052 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] [POC] Parsoid reads the mainBodyHtml attribute

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

Change #1277059 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] [POC] VE: Add the main body content to mw-data

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

WMDE-Fisch updated Other Assignee, added: WMDE-Fisch.

Change #1277544 had a related patch set uploaded (by Awight; author: Awight):

[VisualEditor/VisualEditor@master] [WIP] Improvements to the test case generator

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

Change #1278257 had a related patch set uploaded (by Awight; author: Awight):

[VisualEditor/VisualEditor@master] Use contenteditable for easy copy

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

Change #1278258 had a related patch set uploaded (by Awight; author: Awight):

[VisualEditor/VisualEditor@master] Parameterize tab size

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

Change #1278361 had a related patch set uploaded (by Awight; author: Awight):

[VisualEditor/VisualEditor@master] Drop store items from test builder

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

Change #1278441 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Parsoid emits mainBodyHtml attribute

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

Change #1278487 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Convert encoded _ in tests back to underscores

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

Change #1278441 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Parsoid emits mainBodyHtml attribute

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

Change #1278361 merged by jenkins-bot:

[VisualEditor/VisualEditor@master] Drop store items from test builder

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

Change #1278257 merged by jenkins-bot:

[VisualEditor/VisualEditor@master] Use contenteditable for easy copy

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

Change #1278258 merged by jenkins-bot:

[VisualEditor/VisualEditor@master] Parameterize tab size

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

Change #1278487 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Convert encoded _ in tests back to underscores

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

Change #1280406 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (b383986ee)

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

Change #1280406 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (b383986ee)

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

Change #1283030 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] Converter test: Rebuild LDR store test without store

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

Change #1283032 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] Converter tests: Move former store test

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

awight renamed this task from [Refactor] Wire the main content back using mw-data to [Refactor] Wire the main content back using data-mw.May 6 2026, 7:53 AM
awight updated Other Assignee, removed: WMDE-Fisch.
awight subscribed.

Change #1283030 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Converter test: Rebuild LDR store test without store

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

Change #1283032 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Converter test: Move former store test

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

Change #1277059 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] VE: Add the main body content to mw-data

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

Change #1277052 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Parsoid reads the mainBodyHtml attribute

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

Tobi_WMDE_SW claimed this task.