[Zope] Zope stability

Christopher Petrilli petrilli@digicool.com
Thu, 09 Dec 1999 11:47:45 -0500


On 12/9/99 10:15 AM, Alexander Limi at alexander@mp3.no wrote:

>> so my advice is: use a separate computer as a webserver on which you only
>> store 'things' that have been tested very well and you won't have much
>> trouble. but: never, never, never use the production server for
>> daily work
>> as it seems to become more unstable with every call to
>> standard_error_message...

We'd love to have substantiated problems, unfortunately it's nearly
impossible to track down "seems to be..." and "every call.." without
tracebacks to understand if your actually having bizarre errors that aren't
being handled correctly.

> This is indeed a very scary thought - we initially chose to go for Zope for
> exactly those reasons, that we could manipulate it "live" and work in
> versions which are then committed. It is thus critical the we shouldn't be
> able to bring the site down by doing things in Zope at the same time as it
> is online. Comments?

Well, it is always possible to break something, we can't catch every single
possibility.  One of the biggest areas of weakness is Catalog related
Versions, which can cause the Catalog to be locked, breaking the live
database.  This should probably be better documented somewhere.  This will
be a difficult one to fix, but we are working on it.  I'll let Michel talk
more to that issue.

We've had many many Zope sites that are up for months on end, so I think
some of it is also problems in development style-etc, rather than the
software itself.  How people approach problems can make a huge difference in
stability.  Unfortunately, we've been lax in trying to explain to people how
you approach a problem in Zope, and how you implement stable components, as
it's not the same as every other system in the world.

> Also, on a side note, is there a way to do offline development of Zope, and
> commit those changes to the main site at a later date? I know this raises
> important concurrency concerns, but has it ever been considered as a part
> of Zope's feature set? A CVS of sorts, where you check out and in files?

It sounds so easy, but how do you do CVS on an object?  What is an object?
What is controlled?  It's logic? It's data? Methods? If someone changes the
data, should you lock the methods?    We've thought long and hard about
this, but we've yet to find a solution that is workable in any majority of
use-cases.  We're more than open to ideas to solve this.

Chris

-- 
| Christopher Petrilli        Python Powered        Digital Creations, Inc.
| petrilli@digicool.com                             http://www.digicool.com