[Zope] Zope critique (was Re: CBSNewYork.com using ZUBB!?!)

odysseus@acedsl.com odysseus@acedsl.com
Fri, 5 Apr 2002 18:18:24 -0500 (EST)


I would like to quickly comment on this days-old email--

Our experience with the Zope environment, as well as ZopeCorp., has been
overwhelmingly positive, and compared to what was being used before, Zope
was a godsend. We needed to build a system which would:

enable us to set up many markets, and many stations(radio or tv) quickly
and smoothly

enable station personnel to quickly update their sites

share content(stories, images, etc) across stations in a market

enable a designer to quickly and easily modify look and feel

enable us to quickly add any kind of functionality or widget

and probably a few other things I can't think of at the moment. It's quite
a complex system, nothing like your "braindead just talk to the SQL
database" application. In fact, we found the ZODB to be more than capable
of storing and serving up thousands and thousands of objects (stories,
images, etc.). We never had the need nor the desire to dump them onto the
filesystem (with the exception of large audio and video files). The
current product is divided into Python filesystem base classes, which did
the heavy work, and ZClasses,which did the look and feel work (this was
back in the day when ZClasses were fashionable). We used LocalFS to access
certain news, traffic and weather data which we receive from external
sources, and never really had a problem with it.

Granted, developer documentation is on the lean side, however it is far
better now than it was several months ago, and gets better all the time.
Maybe I was dreaming, but I thought there was an html reference guide
listing all available methods and objects? And when all else fails, we
found reading the source code to be enormously helpful and mindnumbingly
easy to understand, for the most part. Perhaps we just intuitively grasped
Zope concepts and architecture.

After working with various web application environments, from dinky perl
scripts, to full-blown java application servers, I found Zope to be close
to the ideal development platform. It enabled us to grow from 6 major
station sites in one market to ~30 in various markets across the country
in under 5 months.

And I should also mention ZopeCorp has been overall a fantastic company to
work with. If you want a project done well, and you have the budget for
it, I highly recommend throwing all your money towards ZC. It would be a
wise choice.

--
-Lance T. Carito
Viacom Local Networks

*Note: I should probably mention this is my own personal opinion, and may
or may not reflect my company's viewpoint.

On Wed, 3 Apr 2002, Derek Simkowiak wrote:

> 	I recently did a "web application" for a client.  My first thought
> was to use Zope, so I built my app in Zope.
>
> 	But I needed access to the file system.  And WebDAV.  And SSL.
> Once you step outside of the Zope security model (i.e., to work with
> files or the network), things get sloppy quickly.  LFS had some
> problem I had to fix, too--and since RPMs of the latest Zope are not
> routinely produced or easy to find, I'm running an outdated version
> that I know has serious memory corruption issues.
>
> 	There is also a massive void of _Developer_ documentation (where
> is the HTML, completely cross-referenced, documented object hierarchy
> listing all methods and members?) and I doubt that this problem will
> be fixed anytime soon.  Last time I whined about this I was basically
> told that developer documentation was not a priority.  (I own three
> Zope books, they didn't help.)
>
> 	So after a couple of weeks of mulling about, discontent with my
> Zope-based design, I redid the entire project from scratch using
> Apache with mod_python (and of course mod_dav and mod_ssl).  It took
> me 4 days, and the client is very happy.
>
> 	My opinion, after having done 4 production projects with Zope
> and 2 tech demos, is that it's great for a braindead "just talk to the
> SQL database" project, or if you want to use a pre-existing Product
> (like Squishdot, which rocks, for example).  But if you need to write
> something from scratch that needs access to the filesystem, it makes
> more sense to just use mod_python or PHP.  (I've fallen off the Perl
> wagon completely, but if that's your thing... :)  Also, Apache is far
> more flexible than Zope as a deployment platform.
>
> 	The lack of developer docs, plus the headache of understanding
> every little Zope quirk and having to develop your own "best
> practices"  makes Zope a less-than-perfect development platform (DTML
> Method or Document?  PythonScript or External Method?  Untar in
> /ZOPE_HOME/ or in /ZOPE_HOME/lib/python/Products?  ZClass or just
> clone a template?  Distribute a .zexp or a .tar.gz?  What Property
> Sheets should my Product have?  How to map FTP uploads to particular
> Zope Meta Types?  Write my own management U.I. or use the Zope
> management interface?  Branded error pages?  DTML or ZPT?  Etc.)
>
> 	Finally, I'm sure my opinion is biased.  I am far more familiar
> with Apache's internals than I am Zope's (my old dayjob was working on
> a C Apache module sold commercially).  This is just my opinion, send
> any flames to me personally and not to the list.
>
>
> Thank You,
> Derek Simkowiak
> dereks at realloc dot net
>
>
>