Jochen Haeberle wrote:
(snip)
Yes. It happens when you try to modify an an object that has been modified in (another) version. When you modify an object in a version, the object is locked and can only be modified in that version. The effect of a change can be wideer than expected. For example, adding an object to a folder modifies the folder. If changing an object causes a catalog to be updated, then changing an object in a version locks the catalog, as well as the object.
Mhm, not really. Only if you refer to the non Version environment as a a Version, too (what you probably do), well, then it is probably the catalog messing up...
But then, it is a real pain... how am I supposed to work on features in a version if I can't try it using the catalog...
This is currently an issue that limits the usefulness of using versions and catalog together. It is a situation that we plan to improve. :) There are a number of things we can do to address this: 1. Reduce the number of updates made when an object is added to the catalog. For example, there is a problem with the current BTree implementation that causes too many nodes to get updated due to the way that tree-size information is stored in intermediate nodes. We are working on fixing this. 2. Add a ZODB conflict-resolution protocol. This will allow application level code to resolve conflicts. For example, imagine two requests that add items to a folder with different names. Currently, these requests conflict because they both modify the folder. In the future, folders might implement methods that resolve the conflict by adding both items. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.