[Zope3-dev] Re: Zope 3 Roadmap thoughts
Joachim Werner
joe@iuveno-net.de
Thu, 30 Jan 2003 09:45:20 +0100
Some comments on the Zope 2/Zope 3 compatibility thing:
I think it is extremely important to have a clearly defined migration
path from Zope 2 to Zope 3.
On the other hand I do NOT think that this must mean that Zope 3 as an
architecture is actually compatible with Zope 2. Zope 3 is very
different, and it has to. Otherwise we could just go on using and
extending Zope 2 forever. There are new concepts that don't fit too well
with Zope 2, and making Zope 3 completely compatible would break some of
the benefits of the component architecture.
I'd like to see the following:
- For people who are currently running Zope 2 applications, there should
be an up-to-date Zope 2 engine. If possible, this engine should use the
Zope 3 version of ZODB (and provide a migration tool for that) and the
Zope 3 http server component.
- The new ZMI (whatever name it will be given) should integrate with
Zope 2 and Zope 3 applications, so managing both from one interface is
possible.
- An easy migration path for Zope 2 data structures should be provided.
It seems to me that this will have to be limited to very well-known data
objects like the CMF objects, Images, and File objects.
- Resources like database connection information, user folders, etc.
should offer migration tools so that one can export the configuration
data, user credentials, etc. to a Zope 3 application.
IMHO for code objects (DTML etc.), the different concept of explicit
rather than implicit acquisition and some other architectural
differences will not make an easy "automatic" migration possible. It
would be cool, but that sounds a bit like AI magic ...
For the rest of the code and applications migration will not be
"automatic". In fact the applications will have to be completely
rewritten. But from what I expect Zope 3 to offer this will be a good
thing. If you don't want to use the new features you can keep using the
Zope 2 engine. If you want to use them, you have to get into Zope 3 and
rewrite some code. For what we are doing at iuveno I expect Zope 3 code
to reduce my own code's complexity quite a bit. So I don't fear
migration. I am looking forward to getting rid of the workarounds needed
in Zope 2.
I completely agree with Jim that finishing Zope 3X soon is more
important than considering compatibility issues now. To know about the
upcoming migration issues we will first have to know the migration
target, so it has to be there before. And it should be developed without
compromises.
Of course it would be helpful to see as many Zope 3 components as
possible backported to Zope 2. I guess migration will be much smoother
if people get used to some of the Zope 3 concepts early.
So much for today
Joachim