[ZODB-Dev] undo (and storage interface) brokenness
optilude+lists at gmail.com
Wed Dec 23 21:09:28 EST 2009
Hanno Schlichting wrote:
>> What is zc.beforestorage?
> Look at its PyPi page http://pypi.python.org/pypi/zc.beforestorage
Thanks for the pointer!
> In practice it hardly ever works. Relying on it as a substitution for
> backup or tested restore procedures is dangerous.
I know that a procedure based on backups and something like
zc.beforestorage is going to be better. It's also an order of magnitude
more difficult for people to set up and recover from. I think we'd see a
pretty big backlash if we just removed the Undo feature, imperfect
though it is.
Unfortunately, I think the people most likely to have used it in a pinch
are less likely to be reading this list.
If the current API is broken, we should fix it. If that means fixing
some of the UI in Zope to use a new API, that's OK too. Few people will
have customised this or relied on the "old" API.
If we had to say you only get step-by-step undo from the most recent
transaction, then that'd probably be OK too. In this case, we should
have a UI that lets you specify a number (undo N transactions) or a
limit (undo up to and including transaction X). I think people
understand that undoing a single transaction that's not the most recent
one is error-prone anyway.
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the ZODB-Dev