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
OpenABorbaWMF
InvalidNone
ResolvedPchelolo
Resolvedmobrovac
ResolvedPchelolo
ResolvedJdforrester-WMF
ResolvedMarkTraceur
ResolvedJdforrester-WMF
Resolvedcscott
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Opencscott
Invalid GWicke

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 1:26 AM
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.