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
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
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -