What is ZOPE really about?
(This section is part of ZopeInAnger)
ZOPE3 is a development framework for the web - but really it is something different. And it is the many faces that confuse the new comer. Is it a webserver? A component framework? A development environment? A CMS? An object database?
If you read the online information and the two books you might actually start believing it is about design and architecture with unit tests thrown in.
More seriously, ZOPE3 is a major achievement in the sense that the developers took all their experience with ZOPE2 and combined it with their knowledge of other frameworks to create their ideal framework. It is therefore that the immediate impression of ZOPE3 is very much about software engineering and not so much about telling the world how good it is (Rails does a better job there, for one).
Nevertheless Ruby on Rails should take note too as ZOPE3 has a superior component architecture and in principle scales both in the technical sense (scaling up services) as in the development sense (software engineering of large systems). To make this all possible with an unprotected and open interpreted language like Python took some doing (where interfaces and unit tests kick in).
But the result is beautiful and can be captured in a few statements:
1) ZOPE3 has been rock solid from the start - all the stuff we did using ZOPE never fell over - i.e. ZOPE3 is very robust.
2) Tweaking ZOPE3 is never hard
Both are by virtue of the component architecture. Every component simply does one task. This component is well tested (unit tests). To change behaviour it is easy to understand what it does and override (or replace) it.
That - in a nutshell - is what ZOPE3 is about. ZOPE3 is about components for building webservices.
This explains why documentation on ZOPE3 tends to be engineering oriented - and what ZopeInAnger tries to do a little differently.
... --KevinCole?, Thu, 08 Feb 2007 11:53:27 -0800 reply
"ZOPE3 has been rock solid from the start - all the stuff we did using ZOPE never fell over - i.e. ZOPE3 is very robust."
You know, I hear that a lot about products. And everywhere that they're broken, the authors of such statements deny ownership. It's a lot like saying "C is small and portable". Perhaps true, but you can't do anything useful without the large, non-portable libraries that accompany it.
As for Zope3 specifically, it comes prepackaged for various distributions. However, the recommendation is that one should go to the SVN and recompile this "rock solid, robust" system, because whatever's in the package is broken. Right now, I'm trying to make psycopgda work with it. There are lots of hints, and suggestions from 2 years ago, but not enough to actually make it work. Hence, anger.
... --PjotrPrins?, Sat, 10 Feb 2007 02:48:12 -0800 reply
Follow the README that comes with the MySQL? adapter - it should also work for PostgreSQL?. Next check How do I create a threadsafe connector?. The combination got it to work for me.
