[Zope3-dev] Need help planning Zope X3 1.0

Casey Duncan casey at zope.com
Mon Feb 9 11:18:21 EST 2004


On Sun, 8 Feb 2004 15:36:43 -0500
Paul Winkler <pw_lists at slinkp.com> wrote:

> On Sat, Feb 07, 2004 at 07:46:04PM -0500, Jim Fulton wrote:
> > Stephan Richter wrote:
[..]
> I think the controversy over embedding python in ZPT and
> embedding HTML in python should not be taken lightly, and
> if we are not ready to focus on it, we should stop arguing about
> it for now. I have plenty to say on the subject but I think
> this is not the time.

Suppose you see the following email on zope at zope.org after Zope 3 goes
mainstream:

  Subject: Need Help

  Hi All,

  We've got a large Zope (3) site that we've had in production for a few
months
  now. Our main developer just moved to Timbuktu however and took all of
our
  Zope zen with him. I've tried to figure out how this stuff works, but
I'm not
  really a programmer and all this ZPT stuff is too confusing for me. I
sort of
  understand HTML and Javascript but our site has hundreds of these tags
I
  don't fully understand:

  <script type="server/python">
      if grail.spam > ham:
          web.soup = noodle
          ...
  </script>

  I can't find any curly braces in the code, so it's gibberish to me. I
guess
  we really need to hire an expert to sort this thing out. Any
recommendations?

  -Hapless

To me this reads like current messages on zope at zope.org that contain the
terms "ZClass" and "DTML". To me this screams "Run Away!"

Now at least the situation is ignorable. But imagine another senario
where you inherit a site built all using TTW scripting with no
separation of presentation, content and business logic. It's your job to
make it a success. Yikes!

To me this sort of thing is like inline styles in HTML. Do I ever use
inline styles? Yes I do, but very rarely and (hopefully) only when there
is no other effective way to do what I want with the stylesheet (perhaps
too dynamic), or I just plain can't change the stylesheet (or the
document <head></head>). Do I feel a little dirty when I decide to use
them? Yes. Sometimes I use them temporarily just to sketch something,
knowing that I will create a stylesheet and do it the "right way" later.

I think that the inline scripting is aimed at the same problem space.
The quick and dirty thing that you know isn't the "right" way
recommended by 4 out of 5 Zope developers. The thing you don't use to
solve meaningful problems long-term. 

Since it looks like it is inevitable that Zope will have this, I ask for
the following:

  - The limitations, and intended usage of these scripting features be
made abundantly
    clear in the docs and that the alternatives be referenced
conspicuously explaining
    their benefits. The lack of this sort of thing currently for Zope 2
sends many down
    dark dead-end alleys IMO.

  - That these inline scripting features are not part of, nor are they
used by the Zope
    core. That they be in a product or otherwise separated in such a way
that I can 
    turn them off or distribute Zope without them if I choose,

Also, remember the wisdom of "One way to do it". This is something that
Zope IMO has never really followed in the past, which I attribute to the
immaturity of the problem space. If we sponsor many ways to do a single
thing to Zope, this contributes to rather than reduces the complexity
and learning curve overall. This, of course needs to be balanced against
the broad appeal and acceptance that we desire for Zope to have.

If inline scripting helps more people adopt Zope that may be good,
unless they learn to hate it because no one told them that doing things
this way is very difficult to scale and maintain. Lets not make Zope so
much like other solutions as to also inherit their shortcomings as a
result.

-Casey



More information about the Zope3-dev mailing list