Page MenuHomePhabricator

Tpl-style encapsulation for <*include*> and lang-variant conversions
Closed, InvalidPublic

Description

Parsoid should encapsulate content generated from <*include*> tags and from lang-variant conversion tags so that it can be correctly serialized on save.

We should use a technique similar to encapsulation of template and extension generated content. In the best case, it might be possible to piggyback on top of existing code by assigning the right mw:Object/* types which will automatically encapsulate such content, or generalize the typeof tests to cover the new scenarios.


Version: unspecified
Severity: normal

Details

Reference
bz46658

Related Objects

StatusAssignedTask
OpenNone
OpenNone
OpenNone
StalledNone
OpenNone
StalledNone
Resolvedovasileva
OpenNone
DuplicateNone
StalledABorbaWMF
OpenNone
ResolvedPchelolo
Resolvedmobrovac
ResolvedPchelolo
ResolvedJdforrester-WMF
ResolvedMarkTraceur
ResolvedJdforrester-WMF
Resolvedcscott
ResolvedJdforrester-WMF
OpenNone
OpenNone
OpenNone
OpenNone
Opencscott
Invalid GWicke

Event Timeline

bzimport raised the priority of this task from to Low.
bzimport set Reference to bz46658.
ssastry created this task.Mar 28 2013, 9:43 PM

We are round-tripping noinclude / includeonly / onlyinclude tags quite well. Please explain the issues you see here.

Language variants will need some thought and serious refactoring in the LanguageConverter to wean it off mutable page-global state. The best solution is probably to treat language conversion similar to an extension or a DOM-based template. I don't think that there is a need to support unbalanced variant output, so figuring out the DOM range for encapsulation should not actually be needed.

Just a stale ticket. We dont support language variants yet. We can worry about the details when we get to it.