Page MenuHomePhabricator

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


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



Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 1:26 AM
bzimport set Reference to bz46658.

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.