[Web-SIG] A trivial template API counter-proposal
Michael Bayer
mike_mp at zzzcomputing.com
Mon Feb 6 06:14:55 CET 2006
On Feb 5, 2006, at 5:33 PM, Phillip J. Eby wrote:
> As Ben has previously pointed out, systems like Myghty are going to
> ignore
> your 'find_template()' because they do their own finding. So the
> spec will
> leak no matter what, until we get to the level of specification
> called for
> by the "embedding" side of my proposal. (The compile/write
> stuff.) And
> Ben and Michael have both pointed out that trying to meet a spec
> that calls
> for them to change how their inner find_template works would be
> costly.
>
Im not totally following every detail of this discussion....but
correct me if I'm wrong, if we are just talking about a specification
of how the various components of a template engine are to look and
interact with each other, there is no reason Myghty's resolver
couldnt implement a find_template() method...since thats what it
is ! I would say that the argument or arguments passed to
find_template() need to be pretty open ended, since you cant predict
what kinds of things might be meaningful to a template finder, such
as in myghty's case, the resolver wants to know if you are asking for
this template to be used in a request, or an "embedded" template
call, since there may be rules set up to return different components
based on that context.
The only thing about myghty's "find_template()" that is special and
possibly complicating to this whole idea, is that its used not just
at the request, but within the execution of the template itself to
find other templates to include within or inherit from. Thats the
gist of where myghty is coming from....you have this system of
finding, compiling, caching the compiled version of, executing, and
(optionally) caching the generated output of templates...but its
totally recursive. one template call can result in a hundred more
before the request is complete, and each step in that chain of
template operations can occur at the componentized level as well as
the overall request....there is also a request context active the
whole time which maintains a stack of frame objects, etc. So if we
come up with this standardized system to denote all those steps, for
Myghty they might be built all the way through internally....perhaps
at the internal level they will communicate more natively to reduce
overhead, but in general we will be looking to organize its pieces in
a way that corresponds closely to this "generalized template scheme".
More information about the Web-SIG
mailing list