[ZODB-Dev] undo (and storage interface) brokenness

Jim Fulton jim at zope.com
Wed Dec 23 16:30:34 EST 2009

On Wed, Dec 23, 2009 at 4:20 PM, Hanno Schlichting <hanno at hannosch.eu> wrote:
> On Wed, Dec 23, 2009 at 9:26 PM, Jim Fulton <jim at zope.com> wrote:
>> Undo is broken in a number of ways. Does anyone care?  Does anyone use undo?
> Speaking from the Zope2/Plone crowd: I'm using it during development
> with a local file storage at times.
> In a real ZEO production setup, undo in Plone most of the time only
> works for a quick: "revert the last transaction". For any transaction
> that happened a while ago our catalog-overuse will cause some
> persistent object inside the catalog to have changed in a later
> transaction.

I think this is pretty common (not just a zope2/plone issue).

> Throwing away all changes done in the meantime is usually
> not practical.


> For recovery purposes of older data, we have found a bit of manual
> work and zc.beforestorage to be the better approach.

I've found the history mechanism to be useful too, especially
copying old data to the present, which Zope 2 makes (or at least
used to make) easy.

> So if undo is gone from ZEO it wouldn't be tragic. If the "remove last
> transaction" could be retained, that would be nice.

I don't particularly want to take away something that people are using/

For undoing one transaction at a time, I can make the current API
work. To support undoing multiple transactions at once, I'd need to
change the API a bit to fix the issues I've identified.


Jim Fulton

More information about the ZODB-Dev mailing list