[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