[ZPT] Mini proposal: repeat-define and repeat-condition

Petter Enholm Petter Enholm" <pe@snapper.no
Thu, 23 Jan 2003 17:12:11 +0100


> > Hmmm, the alternative would make life a lot simpler for a lot of people
:-S
>
> I don't know - I've never had a problem with the ordering the way it is
now. I
> just have this niggling feeling that people think it'll be better whereas
> it'll probably not make much difference at all. Except potentially pissing
> off a bunch of existing users.

I think that changing something that has been around for more than a year
and is now installed and running on production server "around the world"
would be completely wrong.  The company I am working for have at least 20
customer sites running Zope 2.5 and 2.6. Having to go through all the
templates in order to support the new regime would take a lot of valuable
time.

This is first of all not a question about me and my needs but we need to
think about what kind of signal this would give to system administrators and
all the people that we try to convince that Zope is the best solution for
building web based applications. I don't like sending out the signal that
"if you implement something in Zope, then you may experience that the code
is not working after a couple of upgrades". Even a slow and dynamic approach
is IMHO wrong.

Another interesting question is: When is the next time something like this
will come up? What then? Will there be another change to the Page Template
interface or other parts of Zope, causing old systems to crash or
malfunction? As a developer working with Zope everyday I cannot live with
interfaces being changed because there is a (slightly) better solution for a
given problem. We need stability in order to serve our customers and in
order to convince non-Zopers that Zope is a professional solution they can
trust and build business critical application on.

I have worked with software development for a long time, and if there is one
thing I have learned it is never to break backward compatibility. Implement
new funcionality either as new functions/methods or with flexible parameters
to a function. Never change a given interface which will break old programs.

Maybe the given TAL implementation is not the best, but it works and lots of
people have written templates with it. PLEASE leave it as it is and consider
Shane's suggestion with repeat-define and repeat-condition instead.

Best regards
Petter Enholm
www.snapper.no