[Zope] [Zope-Annce] ZClasses resurrected
Dieter Maurer
dieter at handshake.de
Mon Oct 5 00:59:42 EDT 2009
Allen Schmidt Sr. wrote at 2009-10-4 16:40 -0400:
>So...we are on 2.8.10 and our biggest app on our site is a ZClass based
>news object. How close will this provide functionality to just drop our
>data.fs into 2.12 and have those zclasses work?
I do not know.
"ZClasses" have quite vast functionality. My test, however, only
covers that part documented in the former (2.7 edition) Zope book.
Your "ZClasses" usage may use much more and there may still be
problems therein.
I tried to move on old "Data.fs" (from a Zope 2.8.1 on Python 2.4
with the "ZClass" created even earlier)
to the new Zope (2.12.0 on Python 2.6) and got a ZODB problem
(an "AccessControl.Permission.PermissionMapping.PM" could not be loaded).
"PermissionMapping.PM" is used by "ZClasses" (to map general Zope
permissions to "ZClass" specific permissions) but the problem
seems not be directly related to the "ZClasses" code.
Instead, it looks like a Python ("pickle/cPickle") bug I have encountered
earlier when an object was pickled when it still was an instance of
an old style Python class and should now be unpickled as an instance
of a new style class. This fails because old style class pickling
uses an optimization not recognized for new style classes.
Because nothing changed between Zope 2.8 and Zope 2.12 with respect
to the "PermissionMapping.PM" class type, I expect that the problem
was already in the Zope 2.8 instance but the ZODB 3.4
(part of Zope 2.8) was less picky with respect to broken
objects than the ZODB 3.9 used by Zope 2.12.
I could successfully move a "Data.fs" with a "ZClass" created
under Zope 2.11 to Zope 2.12.
Thus, no garantee that you will not face problems.
Try it out and report back. I am ready to
sort out "ZClasses" related problems -- with the active help of people who
observe such problems.
--
Dieter
More information about the Zope
mailing list