On Mon, 19 Mar 2001, John D. Heintz wrote:
I'm not sure that in the most general case this would solve the problem either. :-( How do we know when the value (or rather the change in value) of a property for some Zope object should trigger some method?
This is a definate advantage of having the class of the object implement (have the opportunity to implement) the read/write interface. It can do whatever needs to be done at write time. This applies most clearly if you are talking about an edit cycle using an external editor. When the new version is committed back, whatever triggered actions are necessary can be done. But I think it applies even if you are serializing a collection of objects, editing them, and committing the collection back. The complication there is that the order in which the objects are committed can affect the outcome. However, the outcome is still self consistent. Now, if you are talking about reconstructing a collection back to a previous (CVS) version, things get more complicated. I'm not sure that one is solvable in the general case, other than by the system that Zope itself uses (whole-db transaction based versions). --RDM