Dylan Jay wrote at 2004-5-4 09:28 +1000:
...
I have a specialized connection that lets you see all objects as they have been at a given time -- provided this information is still there. It gives you a POSKeyError, when this is not the case.
This sounds like what I'm looking for. Does it work something like the following? 1. Enter date at a particular place 2. Cookie is set 3. You can browse whereever you like at it will be exactly as it was
It does not implement 1 and 2 but you can get 3. It is part of a versioning system for complex objects (hierarchically structured SGML/XML objects). If "obj" is an object and "ts" a timestamp, then "obj/HistoricalRevisions/ts" (or similar) is the object as it has been at time "ts". The application must take care to add "HistoricalRevisions/ts" for its links.
Is it possible to have a look at the code? Attached.
... Does anyone have an idea of how hard this would be to do? Basically what I'm proposing is 1. Ability to mount two or more databases, each of which is the same DB just at a different slice of time e.g. 1 week
The mounting is easy. Unless, you are on Windows, the slicing, too, is easy. You just copy "Data.fs" at appropriate times (you will probably need to restart Zope to make new slices available.
2. Ability to slice a DB in half. The back half is essentially rolled back and the front half is compacted so when joined they have the complete history.
Look at the "packing" process. What you have in mind is about as complex. -- Dieter