Well, I'm not exactly objective, but then while Webware is my
preference, Zope is my current reality in professional programming.
That said, I'm not terribly experienced with Zope, but then I've coming
into a shop where all the people who have been using Zope much longer
than me don't seem more experienced, at least with respect to
application design (administration and maintenance being a different
On Wed, 2003-06-11 at 13:25, Chris Bruce wrote:
> I truly believe that Python is probably the best web development language
> around. I have actually been paid to develop with Java, ASP, PHP, and Perl
> and none of them are the silver bullet, like python appears to be. But, I
> am now trying to find a great framework to use on all future apps done in
> I am getting ready to build a large webbased application. I am set on
> python (still wondering how to make installation easy) and am deciding
> between Zope and Webware. I have developed many Zope applications, but new
> to Webware. I am well aware that they are very different and they can't
> truly be compared. But many things I have read about Webware always mention
> "Non of the Headaches of Zope" or something similar. What is meant by this?
> Can you guys offer some objective information for/against Zope/Webware in
> general. My application is basically "a website in a box" designed for the
> needs of a specific industry..
> I am not looking to start a debate or anything, just trying to get some
> fresh points of view. Some of the reasons why I am looking at Webware:
While distributed together, MiddleKit and Webware are mostly separate.
You can use either without the other. Stylistically they are similar;
for instance, MK works best in a threaded environment, which happens to
be the environment that Webware uses.
mod_webkit, while quite useful, isn't unique -- mod_skunkweb and
mod_scgi are nearly identical in function. FastCGI is the same idea,
only more complex.
> I have had weird ZODB issues in the past.
ZODB seems kind of separate from Zope -- you can use Zope without making
any interesting use of ZODB (just using it as a container for your
scripts), or you can use ZODB without using Zope.
> Maximum use of Python
> Features about Zope I like:
> Webbased access to development and whole system
I find other tools to be much more pleasant than Zope -- tools like CVS
for file storage, Apache/mod_dav for viewing and editing resource files,
and all the other tools that work with files (but don't work with ZODB
> Built in Security (no coding)
Webware is a little light on this, but I find Zope's security as much of
a curse as a feature. Webware isn't flat in the way Zope is -- Zope
developers are Zope users, Zope script sources are protected just like
page views, and inclusion, calling and viewing over HTTP are all the
same mechanism. Seems elegant, but in practice I find it terribly
difficult to work with. The security that I want to define is usually
something like, page X can be viewed by someone with role Y, where X is
one of a handful of scripts. So X calls some component Z -- I don't
want to protect Z. I don't want Z available over HTTP at all.
Webware servlets are the one and only frontend to your application.
Most applications don't have a huge number of servlets. But there's a
lot of objects and modules. Since Webware doesn't publish everything,
you don't have to worry about this stuff.
Also, because Webware doesn't publish everything, you can use Python
modules and objects that aren't Zope-aware. Zope makes this really hard
-- like, for some reason a Postgres connection is returning an
mxDateTime (un-Zope-aware) object periodically, instead of a Zope
DateTime object. Trying to access the .year attribute, I get a not
authorized error. That's just stupid.
> Super fast to develop and deploy apps
Webware is pretty quick to work with. It's hard to judge, since
experience is a big part of speed of development, but I think Webware
should be as fast or faster to develop compared to Zope. You do have to
implement a few things from scratch (like users :( ), but in my
experience the result is so nice and small that it's almost worth
reimplementation. I say "almost", because we could stand to do better,
but no implmentation is still better than misimplementation.
For deployment, Webware is much lighter than Zope (and not just
CPU-wise), and I think that makes deployment easier. But you won't find
things prepackaged, or many hosts that specifically support Webware, so
you do have to do deployment on your own. But it's not hard, and you
get to use file-based tools.
> Virtual Host Support
With Webware you'd go through Apache. Any option (two domains on one
codebase, one codebase with different template per domain, totally
separate codebases, etc) is doable. You have to design the specifics
yourself, but the result is an implementation with no magic or black