On Thu, Dec 24, 2009 at 1:34 AM, Martin Aspeli <optilude+li...@gmail.com> wrote: > Hanno Schlichting wrote: >> Throwing away all changes done in the meantime is usually >> not practical. > > ... although sometimes it is preferable to a full backup restore or > living with whatever it is you want to restore (usually a delete).
Right. That's why we use beforestorage. >> For recovery purposes of older data, we have found a bit of manual >> work and zc.beforestorage to be the better approach. > > What is zc.beforestorage? Look at its PyPi page http://pypi.python.org/pypi/zc.beforestorage Basically it's a convenient way to open a database as it was at a certain point in time. So for Plone in practice you get a separate copy of the live database or from a backup, open it via beforestorage at the time you want and export the content you are looking for via a zexp. Put that zexp into the import of your live server and import the content. You usually have to reindex the content, as you cannot take the catalog entries with you. This works nicely for restoring deleted content and we have done so a number of times. If there's some unwanted changes made to individual content items, you can revert those via CMFEditions / application level versioning. >> 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 actually think it would be tragic. Or at least pretty miserable. In practice it hardly ever works. Relying on it as a substitution for backup or tested restore procedures is dangerous. > People who manage high availability setups can probably find other ways > (like very frequent backups and good restore routines). For a lot of > "average" installations, it can be a lifesaver. It was a lifesaver for > one of my clients about a week ago, for example. The late night > phonecall kind of lifesaver. Frequent backups and good restore routines have nothing to do with high availability setups. They are a basic requirement for any type of setup. But even if you don't do frequent backups, as long as you have not packed your database, your data is still there and can be retrieved without too much hassle. But doing partial database recovery is something that requires a good deal of knowledge of the underlying application and database. Hanno _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev