as one of the "2nd wave of Zope3-guys" (which means my
business is app development/maintaining in a day2day-Job,
not developing the core) I assure you that the Z3-Ship
is in safe waters since autumn 2005 - the 3.2 release.
Since I work with Plone 2.1 AND Zope3.2 (for different projects),
I'll try to show you both sides of the story.
First try at some (crude) analogies from Plone-World:
Try to remember when Plone 2.0.4. was out - and you'd ask me
if it's a safe bet to switch from Plone 1.0.x-series
Your answer ? And what would be your answer if I'd ask you at PloneConf'05 how
much changed from Plone 2.0 to Plone 2.1 (yes, I followed your tutorial ;-)
Zope3-development is now more in the Plone2.0-2.1 phase, but left
Plone1.0.x-2.0-stage for awhile.
Back to Z3-world:
The main concepts like ZODB, interfaces, adapters, events
will not change drastically - this time ended with the 3.0.x-
release (well, to be honest, with 3.1 ;-).
Now they do not make big refactorings but improvements, like
- discussing which stuff belongs to ZCML and which to Python
- howto make installation easier (eggs, setuptools)
- howto separate the components even cleaner (Did I hear "Death to zope.app" ;-)
For staying in sync with changing Zope3-infrastructure
there's a concept called Generations. It's used for Zope3
itself as well as in the SchoolTool-Project. For an intro
into the concept have a look at http://mg.pov.lt/blog/zope3-generations.html
My recommendation if you're unsure:
Ask the Zope3-Gods like Jim or Philipp or Stefan himself. Ask them
personally. They even show up on Plone events ;-) Ask on this list, if you're
unsure for a certain feature.
After awhile you see your fears approaching and
with every step you'd get more comfortable with it and
develop a feeling of your own about the development
dynamics of Z3. At least that was my experience
and it didn't change in the last 12 months when
I started with Z3. So if you'd ask me - Zope3 is a safe bet and a very
friendly territory indeed.
But you're right that there is no such
thing as a comprehensive, current + stringent doc of Zope3.
static-apidoc is a good start, but you're pointing right to
to consistency. Since it's written by different people,
there's no unique style, but it's getting better from
release to release. That will take some time, but
remember 2004 when Limi started with the Plone Documentation Team
and how far we're getting now.
Zope3-dev mailing list