[Zope-Coders] ZopeUndo bug fix

Jeremy Hylton jeremy@zope.com
Thu, 3 Oct 2002 14:41:47 -0400


There is a seeming bug in Zope/ZEO that will cause problems for people
who run the ZEO server that does not have access to Zope's lib/python
directory.  In some cases, an App.Undo.Prefix object is passed from
client to server.  If the server doesn't have access to Zope's
lib/python, it won't be able to unpickle the Prefix object.

I think this is a bug, because it is very desirable to use separate
lib/python directories for Zope and ZEO.  If you don't, the ZEO server
can end up loading and attempting to install all sorts of Zope
products as a side-effect of conflict resolution.

To make Undo work in a segregated Zope/ZEO environment, I've added a
ZopeUndo package that contains the Prefix object.  I'm going to change
App.Undo to get the Prefix class from ZopeUndo.  Then I'll package
ZopeUndo with ZODB3.  This solution will allow people to use
segregated Zope/ZEO configurations and still use undo fully.

I'd like to call this a bug fix and backport to 2.5 and 2.6.  Would
there be any objections?

Jeremy