Oliver Bleutgen wrote at 2003-6-4 18:24 +0200:
... As you and Guido are talking about the ZMI (which means, AFAIK, the managament interface), let me just say that as far as I understand it, deprecating/marking-as-evil and even removing OFSP/Version.py is not what I would like to see happen (not only).
The problem lies in ZODB.ZApplication.ZApplicationWrapper
def __bobo_traverse__(self, REQUEST=None, name=None): db, aname, version_support = self._stuff if version_support is not None and REQUEST is not None: version=REQUEST.get(version_support,'') else: version='' conn=db.open(version) ...
As I understand it, even if the Version product is removed, just putting at variable named 'Zope-Version' into the REQUEST will cause reads and writes to happen in a version. Am I missing something here?
No, you are right. I see two possible solutions: 1. Make "version_support" dependent on the existence of a product that knows how to enable it. The "Version" product could use monkey patching to enable version support. 2. Use the newly opened connection to check that "version" refers to a version object. 2. is much safer but makes version requests slightly more expensive. However, this should not be a real problem. Dieter