From: Crawford C. <cc...@c-...> - 2007-01-06 12:10:39
|
Peter Thoeny wrote: >Adding this to the function hash would be possible; >currently it is resolved in the relevant places in >the same way as %FORMTEMPLATE%, %TEMPLATETOPIC%, >%TOPICPARENT%, %ORIGINALREV%, %NEWTOPIC% and %CMD%. >Since these parameters are specific to edit I am >not sure if it makes sense to add them to the >function hash (performance & expansion in unwanted >places) > > The reason it makes sense is that REDIRECTTO would then be handled for all scripts, automaticlly, without having to add any code to each individual script. The parameter basically says "if you need to redirect, then this is where you should redirect to". This is a meme common to most scripts that expand templates. Common implementation means fewer surprises, and less and more consistent documentation. And there is scope for adding a plugin handler, should such a thing ever be required (it's easy to see how it would be useful), and parameters (such as a default) to the tag. There have been several places where the "one-off" expansions have been coded differently in different scripts, are available only in odd and unexpected places, or have resulted in fragile and overcomplex code, or the need for hacks in plugins. So I have been trying for some time to eliminate as many as possible, replacing them with template expansions or registered tags. I would have replaced %TEMPLATETOPIC and several others before now if it hadn't been necessary to avoid breaking derived skins. It seems a shame to start adding new one-offs like this. w.r.t performance, there is very little effect, but expanding alongside other parsed tags should be fractionally faster that the equivalent one-off expansion. I think you'd be hard pressed to measure it, though. Regards, C. >Crawford Currie wrote: > > >>Just a suggestion, but wouldn't it be better to define a %REDIRECTTO% >>common tag, rather than having specific handling for it embedded >>throughout the code? You could do this in TWiki.pm by adding a REDIRECTO >>to the functionTags hash. >> -- --- Crawford Currie - C-Dot Consultants http://c-dot.co.uk - A WikiRing Partner http://wikiring.com |