On Sat, Jan 31, 2009 at 8:03 AM, Domas Mituzas <midom.lists(a)gmail.com> wrote:
[ ] - Implement proper scripting engine like Lua for
metatemplates (
http://pecl.php.net/package/lua
- another can of worms, though yet again, can be managed via trusted
set of people, on top20 wikis or so).
This seems like it's the only solution from your list that would be
generally applicable to similar future scenarios. I don't think the
users would have to be particularly trusted -- just make sure that the
runtime of the programs is limited, and that it's properly sandboxed
(is the Lua PECL extension sandboxed?).
Another thought that occurs to me is to cache the output of templates
as a function of their parameters and any appropriate variables they
use (like {{PAGENAME}} or {{CURRENTDAY}}). Then a reparse of a
template-heavy page will generally only have to reparse templates if
the parameters to the template have changed. This will save a lot on
Cite, infoboxes, etc.