"Geir Magnusson Jr." <[EMAIL PROTECTED]> writes:

> "Daniel L. Rall" wrote:
> > 
> > "Geir Magnusson Jr." <[EMAIL PROTECTED]> writes:
> > [ snip aimless chatter ;) ]
> > > I don't quite get you here.  Can you provide an example?  Are you saying
> > > something like :
> > >
> > > #set $foo = #tablerow( $a $b )
> > >
> > > such that
> > >
> > > <table>
> > >   $foo
> > > </table>
> > >
> > > outputs (for example)
> > >
> > > <table>
> > >   <tr><td color=$a>$b</td></tr>
> > > </table>
> > >
> > > (assuming what tablerow does, of course...)
> > >
> > > Actually, that's *very* possible, if you want the LHS of the #set
> > > assignment simply to 'catch' what the VM would render.  If time allows,
> > > I will try to hack that together tonight and see how well it works.
> > > This is, of course, subject to no great opposition from the list
> > > members, but I don't think this is very far at all from  #set $foo =
> > > $somecontexttool.blargh($a,$b), so I can't see why it would be a bad
> > > thing.
> > 
> > With the introduction of a feature like this, next thing you know,
> > people will start "programming" in VTL.  I thought that the whole idea
> > behind the Velocimacro was to present an actual interface to reusable
> > VTL snippets that would otherwise just be #parse'd templates with
> > misc. variables set in the containing template evaluated in the #parse'd
> > markup (i.e. to prevent coupling).
> 
> Dead-on true, but people already program in VTL.  I mean, we have
> control structures and assignments in VTL.
>  
> > I like the interface that Velocimacros give to #parse, but worry about
> > the introduction of too many programmatic features to a templating
> > system.  I think that LHS assignment of a Velocimacro evaluation may be
> > going too far.
> 
> I figured there would be a protest.  I don't feel strongly about this,
> but I thought it an intriguing idea, and if it has a use w/o clouding or
> confusing Velocity's simplicity and usability, I guess I am for it.
> 
> My main counter-argument to the above (and I'll try to avoid that
> aimless chatter... :) is the notion of context-tools. [I want to discuss
> this as Velocity standalone - lets not mix in a framework like
> Turbine...]
> 
> The problem I have with context-tools is when they return formatted
> output: if that doesn't break MVC from the 'person-role' aspect (Java
> programmer vs. template designer), it really blurs the boundary.
> I mean, context-tools are cool for all sorts of uses, utilities like
> string manipulation, algorithmic assistance (like rotating through a set
> of values, for ex. rowcolors in a table).  But I think they are a
> piss-poor solution to producing formatted output.  Of course, in some
> instances there may be no choice w/o making the template language
> complicated.  Life isn't simple, I guess.
> 
> Now, if one puts aside the MVS theology for a sec, and accept the need
> for a context tool that produces formatted output on the RHS of a #set,
> then it would seem natural that you should allow the designer the
> ability to create that 'context tool',  since that *is* the job of the
> designer, which could be a VM, or VM-like entity.
> 
> One alternative, maybe, to keep things clear would be to both access VMs
> as directives so you could invoke a VM inplace as #<VMNAME>() or as a
> reference as $<VMNAME>() in anyplace a reference can be used (such as
> the RHS of a #set assignment...).  Dunno.
> 
> Good subject for discussion, I guess.

You win as usual, +1.  ;)

Daniel

p.s. Sorry for the late reply.

Reply via email to