On Sat, Jan 31, 2009 at 8:03 AM, Domas Mituzas midom.lists@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.