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 <> 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

  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.

-- -- Professional Zope documentation and training
Next Zope 3 training at Camp5:

Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to