[Zope] Re: Zope 2 and Zope 3

Philipp von Weitershausen philipp at weitershausen.de
Wed Feb 14 19:49:20 EST 2007


Geoff Gerrietts wrote:
> I have a couple questions about the current game plan for Zope 
> development that I was unable to answer for myself by searching through 
> mailing list archives and the zope.org <http://zope.org> website. I hope 
> my inability to answer them is not merely a symptom of poor search term 
> choices, and I hope someone can answer them for me.

You're right, it is a bit tricky to google for this.

Zope 3 release notes usually contain the following notice (from 
http://mail.zope.org/pipermail/zope-announce/2006-September/002016.html):

   Zope 3 is the next major Zope release and has been written from
   scratch based on the latest software design patterns and the
   experiences of Zope 2.

   Cleanup of the Zope 3 packages has continued to ensure a flexible and
   scalable platform. We continued the work on making the transition from
   Zope 2 to Zope 3 by making Zope 2.10 use even more of the Zope 3
   packages. But the transition is far from complete yet. **You can't run
   Zope 2 applications in Zope 3.**

> I've posted a couple times before (a long time ago) about the large web 
> application I work on; it's many hundreds of KLOC and an unfortunately 
> large percentage of it is DTML. It's still more or less in that state; 
> the realities of being a for-profit business in a rapidly evolving 
> marketplace permit very little time for maintenance or aggressive 
> refactoring of the application. That's the background for my questions; 
> I'm trying to figure out how loudly I can shout "Impending doom!" to 
> upper management without endangering my credibility.
> 
> 1. Last time I talked to anyone from Zope Corp, the plan was to quiesce 
> Zope 2 in favor of Zope 3. At that time, I think I remember people 
> saying 2.9 would be the last in the Zope 2 series. Now there's a 2.10, 
> so clearly it wasn't. How long does a business like mine have before 
> there is no clear upgrade path in the Zope 2 series? Is 2.10 now the 
> final Zope 2 release, or will there be a 2.11 and 2.12?

There will definitely be a Zope 2.11 and at this point I see no reason 
why there shouldn't be a Zope 2.12. We (the Zope Community, not 
necessarily Zope Corporation) will maintain Zope 2 as long as it's 
necessary. "Maintaining" in this case also means integrating more Zope 3 
technologies with each release. Nowadays (Zope 2.10) you can already 
write applications, or at least base libraries, that work on both Zope 3 
and Zope 2.

> 2. Whenever someone asks about moving an existing application from Zope 
> 2 to Zope 3, there's a round of flip "oh you'll hafta start over" 
> responses. I understand that the two architectures are fundamentally 
> different, and that I'll need to rebuild my object database, etcetera. 
> Am I also correct in believing that all products must be completely 
> rewritten, and that DTML is no longer a supported templating language? 
> Has the users/roles/permissions security structure disappeared or been 
> supplanted? I am trying to ascertain at a glance how much we will need 
> to rebuild for ourselves; if it's enough then the problems we have had 
> with Zope (poor scaling, poor integration with source control) may 
> outweigh the advantages of remaining on the platform.

I'm surprised you're experiencing poor scaling. I think Zope can scale 
pretty well, or at least it can be *made* to scale pretty well. It all 
depends on your setup and, of course, on your application.

As for source control, I figure all of your code (DTML, yuck) is in the 
ZODB. This went out of fashion a long time ago, most serious development 
happens on the filesystem (in Python packages) which can obviously be 
source-controlled very well.

Regarding "oh you'll hafta start over", it's pretty much true, if you 
want to switch to Zope 3. But nobody says you have to. You can do it 
incrementally by porting some of your app's functionality to Zope 3 
components step by step (as mentioned already, most work in Zope 2). Big 
projects like Plone aren't rewriting their whole codebase either, but 
new development is completely Zope3-based. Their target platform still 
is Zope 2, though.


-- 
http://worldcookery.com -- Professional Zope documentation and training
Next Zope 3 training at Camp5: http://trizpug.org/boot-camp/camp5



More information about the Zope mailing list