On 6/14/06, Rob Church <robchur(a)gmail.com> wrote:
On 14/06/06, Steve Bennett <stevage(a)gmail.com>
wrote:
Also, is it true to say that the transclusion
only takes place the
next time the page is modified and resaved?
When an uncached form of the parsed markup is needed, or when the
cache expires next, the entire page will be re-parsed, during which
time the transclusion will be parsed as well.
An edit or purge before that time will cause invalidation of all the
cached forms for that page.
Ok, probably stupid question, but can you tell me, in the case where X
transcludes Y which transcludes Z, then X changes, does Z have to be
reparsed? Or is Y's cached version substituted as it is?
Also, what exactly is so slow about the transclusion? Raw inclusion
of source code from another source is not typically a particularly
expensive operation, when thinking of C's #INCLUDE, for example. Is it
the finding of the transcluded page by name, or what?
Or could it be theoretically possible to cache page sections rather
than whole pages, to reduce the risk of having to reparse the whole
page, or something?
Bots going around substituting all templates wholesale just seems like
such an undesirable thing if we could possibly avoid it...
Steve