[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cgiapp] ANNOUNCE: AnyTemplate 0.10_02 developer release and RFC


Michael Graham wrote:
> I've made a new developer release of AnyTemplate with the following
> features:
> 
>     * use C::A hook system for pre/post processing
>     * now compatible with the native C::A load_tmpl hook
>     * can now emulate $self->load_tmpl
>     * automatic template names now come from $self->get_current_runmode,
>       not the name of the calling sub
>     * new 'forward' method to change current runmode
>     * associate_query and emulate_associate query now off by default
>       and the feature is now deprecated
> 
> Many of these features created API changes that are not backwards
> compatible.  Since (a) these are mostly changes to peripheral features,
> and (b) AnyTemplate is a young module and (c) all of its users are
> likely on this list, I don't plan to go to extraordinary lengths to
> ensure backwards compatibility.  I'd rather just make a clean break and
> move on.  But I'm willing to be talked out of this position.  If any of
> the changes above look like they're going to cause you a headache,
> let me know.

I agree with all of the above. It's so early in it's development that if
you get stuck in a single API that looked good in design but not in
practice, then it really dooms the module making it extremely
complicated to maintain features that shouldn't be there.

> Also - feedback on the new features would be most welcome.  My biggest
> questions at this point are:
> 
>     * should the 'forward' method be in its own plugin so that anyone
>       can use it?

I think it should be either it's own plugin, or moved to the C::A core.
It doesn't really have anything to do with templates.

>     * is the ability to override C::A's built-in 'load_tmpl' method too
>       dangerous a feature?

I don't think so. It's extremely well documented that overriding
load_tmpl() is par for the course. You module is a plugin/mix-in so it's
not only allowed to add behavior, but change existing behavior. I would
also think it allows other plugins to use load_tmpl() without having to
guess what templating engine is being used.

Keep up the good work Michael!

-- 
Michael Peters
Developer
Plus Three, LP


---------------------------------------------------------------------
Web Archive:  http://www.mail-archive.com/suppressed/
              http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: suppressed
For additional commands, e-mail: suppressed


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.