Page MenuHomePhabricator

Enforce proper nesting of most templates, and encapsulate compound content blocks
Closed, DuplicatePublic

Description

Transclusions can currently affect arbitrary parts of the page by producing unbalanced HTML. This makes both WYSIWYG editing and efficient updates difficult. We would thus like to move towards properly nested templates as much as possible. For existing multi-transclusion content we would like to enforce nesting as a unit, possibly using a <domparse> extension-like tag wrapping such a content block. This would still let us reuse expansions for multi-template content, which is important for large list pages like http://fr.wikipedia.org/wiki/Liste_des_premiers_pr%C3%A9fets_fran%C3%A7ais_(1800-1815).

The solution should:

  • work with old and new revisions, with predictable HTML diff behavior
  • support multi-transclusion/extension content reuse
  • support a mix of transclusions, extension tags and page content
  • work well with the VisualEditor preview

Version: unspecified
Severity: normal

Details

Reference
bz55524

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 2:20 AM
bzimport set Reference to bz55524.

Lowering the priority a bit, as other issues are more pressing currently.

Arlolra set Security to None.
ssastry raised the priority of this task from Medium to High.Dec 9 2014, 5:12 PM
ssastry lowered the priority of this task from High to Medium.
ssastry moved this task from Needs Triage to In Progress on the Parsoid board.
ssastry moved this task from In Progress to Needs Discussion on the Parsoid board.

I am just going to merge this into the Balanced Templates RFC since that captures most of the requirement here. The compound content block issues would be partially ameliorated by using heredoc syntax in some cases.