On 14/06/06, Steve Bennett <stevage(a)gmail.com> wrote:
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?
As far as I know, and this might have changed since I last read it,
but it's all reparsed.
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?
What part of the email I sent implies it's "so slow"?
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?
I'm not sure that would provide a long term benefit.
Bots going around substituting all templates wholesale
just seems like
such an undesirable thing if we could possibly avoid it...
If there's no need, then don't do it. It has been stated time and time
again that, when the development or system administration teams make
policies, they are usually going to be software enforced. If you need
something done for editorial reasons, *go ahead and do it.* It's your
job to write the damn encyclopaedia, and it's our job to worry about
the software and servers coping with it.
Need to transclude {{x}} into 30,000 pages? Do it. Utilise common
sense and avoid changing it too much, sure; but don't act like you
shouldn't actually make use of the software. That's a stupid attitude.
Rob Church