[Zope] Frustrated with Python and Frameworks. Zope, Grok, Django, CherryPy

Martijn Faassen faassen at startifact.com
Tue Nov 27 08:16:16 EST 2007


On Nov 27, 2007 2:18 AM, Rene B <rb2.net at gmail.com> wrote:
> I'm frustrated trying to select a python web framework. I've researched quite a
> few. CherryPy,Karrigell,Zope 2,3,Grok, Gluon,Django,Mod_Python. I've also
> looked at templating languages like Spyce, and Cheetah.

I can see how that would be frustrating; there are indeed many of them
out there and the
Zope situation is currently rather muddled with a lot of choices and
not much clarity which one
to pick...

> I'm beginning to think there's nothing  out there  for a newbie python
> programmer like myself.  I'm a Network Admin  that likes programming but
> doesn't have the time to get really proficient at it.
> I selected Python as a language of choice and that's all I've used.  I've
> written a  few scripts .
> I'm interested in building dynamic web sites but I tell you  it's impossible to
> select a tool.
> I've researched all the tools mentioned above.

There's one important question that might help guide you towards
choosing the right framework for you: what kind of thing do
you typically want your dynamic websites to do? You say below they're
relatively simple websites and there'd
be just you working on them typically. Do you use relational databases a lot?

> The most important thing in my
> decision is that I know some Python and want to use it to build the dynamic
> site. I don't want to learn a new language to do that. ZPT is a new language.
> Its not python.  Not even close.  Out of all the ones I've researched I like
> Zope 2 the best.  Not sure why. I want some thing easy.  I like DTML. It's
> easy.

I'd be very interested in hearing more about this. As someone helping
to build a framework (Grok), it'd be really interesting to
know more about what attracts you to Zope 2. Did you learn DTML
through a tutorial? If so, may I ask which?
I'd like to know what gave you the impression that it was easy and fun
to work with.

> I know why ZPT has it's advantages but for ease of use it doesn't come
> close to DTML. Most people like me wont  be building complex web sites and  I'd
> be the only working on it meaning I'll do the HTML layout and code the dynamic
> portions of it. So I don't' need to worry about  an HTML editor getting
> confused with the dynamic languages  mixed in blah blah  blah.

As someone who used DTML quite a lot back in '99 - '01 or so, I'd say
DTML is a new language that isn't that close to
Python either. While I certainly don't despise the language, it was
quite frustrating to use sometimes because it wasn't enough
like Python and trying to make it be that way made it look very complicated.

> I'm afraid to learn Zope 2 because I have no idea what direction it's going in.
> Not to mention I don't particularly like ZPT. I've read DTML isn't going
> anywhere but I don't imagine I'll get much support  on it when needed and I'm
> sure people will be telling me to use ZPT cause DTML is dead.

Yes, that is indeed a risk, I'm afraid.

You touch an important point. Where is Zope 2 going? In general, the
answer tends to be more use of Zope 3 technologies.
That isn't a very satisfactory answer for you though, as Zope 3
technologies are most likely not going to make
your life more easy. Eventually it may mean "more Grok technologies"
too, but that may not be very helpful to you
either, as you already prefer Zope 2 to Grok.

May I ask, is the presence of the ZMI a contributing factor in Zope
2's appeal? The fact that you can go in and
create a DTML method or Python script in your web browser without any
file system setup? Or would this not matter to you
if you could just as easily work with these on the file system?

> Funny, I read something while reading news about Grok's new plugins for any
> template language . They used Genshi as an example and talked about template
> languages and which one is better etc.. The bottom line was "use the one that
> you like".  So I wish people would stop putting down DTML or others over the
> one they prefer and continue to help those regardless of which they choose.

I'm not quite sure whether the bottom line for template languages is
"use the one you like": a common one will
be a benefit for any web framework as it will make it easier to talk
to other developers, exchange code, and so on.
That said, I also believe a web framework should allow the use of
other languages; it needs to evolve after all and people need to
be able to experiment. Zope 2 is a good example, as by now most people
use ZPT while DTML was dominant 7 years ago. Allowing an extra
template language in Zope 2 made that possible.

I think it would be a nice project for someone to make DTML work with
Grok as a template language plugin.

> Back to trying to choose. I think Django is too hard.

That is interesting as well; may I ask why you thought Django was too
hard, compared to Zope 2?

> I like Mod_python with
> PSP. PSP seems to be more python like then anything I've seen. Yet Mod_Python
> has terrible docs for people like me and it doesn't seem to popular.

mod_python is certainly a framework that isn't going to go away. It's
low-level though, so it
most likely doesn't support a community very well suited towards
beginners or scripters.

> The other frameworks have some good ideas. I like Karrigell but you just don't
> know how long it will be supported.Gluon is cool but its new.  Zope 3 is out of
> the question.

Not really very appealing for beginners, huh?

> Grok looks to me like  another CherryPy.

It would be interesting to hear how you see this similarity. CherryPy
is more a programmable web server, closer to
mod_python, than Grok is. CherryPy by itself doesn't deal with storing
information, which Grok does do using the object
database. Or form generation, for instance.

> It may be easier the
> Zope 3 but it's not easier then Zope 2.

I'd be interesting to find out more about what in it looked harder for
you than Zope 2.

> Plus I've yet to get it installed on my
> windows XP to play.

We'd be interested to find out what's blocking that! We do our best to support
Grok on Windows XP. I have various customers who need to use it on
this platform. One problem I noticed is that
it refuses to work if you install it in any location which has a space
character in the path like "My Document", so make
sure it isn't in a subdirectory of such a directory.

> I like cheetah as a tool. There docs are not that great and not many examples.
> Plus no auto generated content  like you get in Zope 2.

What kind of auto-generated content appeals to you in particular in Zope 2?

>  Yes some magic is
> good. The CRUD is what made Rails over rated to start out with.People like some
> magic. saves time.  Combining Cheetah and Zope sounds interesting to me.
> So what do I do. I like Zope 2. I can't find any books on it released after
> 2002. Plone is tooo much.

I can definitely see how Plone is too much. Anyway, Plone isn't
primarily a development framework, it's primarily
a content management system that you can plug into. One typically
shouldn't be trying to use it as a development
framework for other applications as that's a way to get very frustrated indeed.

> There aren't any new products out for Zope 2 and the ones that are there
> haven't been touched for years.

I think that's unfortunately more true than we'd like it do be. That
said, there are quite a few
products that do get updated fairly regularly, but that's certainly
not easy to find out.

> Zope 2 wiki seems dead.  I was looking the other day for some type of  auto
> CRUD for Zope 2. couldn't find  anyting. No one seems to be adding anything new
> to Zope 2 which scares me the most.

Zope 2 is moving forward in many ways. One way I already mentioned is
the addition of
Zope 3 technology, which is less relevant or appealing to you. Another
project to move
Zope 2 into the modern age is repoze.org, but that is very deployment
oriented and I'd say WSGI isn't
really what you're looking for either.

> If I take the time to learn a tool I want to make sure it's going to be around
> for awhile and have good support and new addons  being added all of the time to
> help me.

That certainly makes sense. I think Zope 2 used to be very appealing
especially as there were lots of
add-ons and lots of activity in those add-ons. Most of the add-on
writing has moved to Zope 3, but these add-ons are
of a very different nature and generally not very useful towards
beginners or scripters. A lot of add-ons also get written
for Plone, but those are more CMS-functionality plugins or overrides,
so that isn't very useful either.

My own effort to make Zope more approachable focuses on Grok, so
you'll have noticed I asked Grok-oriented questions. I'd be very
interesting to discuss how we can make Grok appear more appealing to
people like you. That's for instance why I asked whether
the ZMI is an essential reason for you to be attracted to Zope 2. DTML
and the availability of a rich ecosystem of plugins is already clear,
and I'll have to think about those both in the context of Grok.

I'll note that Zope 2 isn't going away in a hurry as a system: there
is a lot of activity surrounding it, though unfortunately not
primarily in the areas that attract you, and I think that could indeed
be a problem for you.

It's difficult for a community where many people became more hard-core
developers to cater for the need of beginners and people approaching
development in a less hard-core way, as open source is often about
scratching your own itch. I also think it's essential for a community
to get new beginners, as their perspective can help simplify life for
everybody, and some of the beginners will grow into very valuable
contributors. I think the Zope community has been in the position of
growing beyond a beginner audience for too long, and I think this has
to change if we want to be able to grow further as a community.

I'd like to thank you very much for taking the time and expressing
your concerns - many people go away without discussing things after
evaluation, and it takes time to write this down. This kind of
feedback is invaluable and is already an important contribution. I
hope you are willing to continue the dialog. I can't promise to do
anything more about your concerns than to listen and think about them,
but that's how any effort to improve the situation will have to begin.
The community needs to listen to this stuff if we want to attract
developers like you. I think we do want to.



More information about the Zope mailing list