Multi-Content Revisions/Rendering and Caching
Appearance
This page is part of the MCR proposal. Status: collecting notes.
- Typically, the rendering of one slot will be independent of other slots. It's produced by the
getParserOutput
method of the slot'sContent
object. - Some content models however may allow access to other slots (of the same revision, or of other pages), e.g. to render a wikitext infobox based on data stored separately from the wikitext.
- To accommodate such access
Content::getParserOutput()
should get the relevant RevisionRecord as an (optional?) parameter.Parser
needs asetRevisionRecord
method, analogous to thesetUser
andsetTitle
methods that similarly exist to provide context.
- The
ParserCache
key will have to be based on the slot name as well as the page title. - The purging mechanism should also be per-slot.
- The web cache will be for a rendering of all slots of the current revision. Single slot views using the
slot=foo
parameter will probably not need to be cached.