IMHO, Zope releases should, in this scenario, be configured by default to use a custom_zodb.py file with ClientStorage over a socket at startup, making the default config of Zope one that uses ZEO. Also, start scripts should be distributed with options to support both the following: - Zope's start script Start ZEO via ZEO's start.py, wait for confirmation of loaded storages, then start Zope's z2.py - Separate shell scripts to start each
The advantage to this is the ability get access to the ZODB in automation and sysadmin scripts without taking Zope down. This should be transparent to those who don't care, unless there is a huge performance difference between directly using FileStorage, and using ClientStorage on a local socket to the same end (is the protocol overhead really that much?)...
I'm not sure that such a drastic change can be done without breaking expectations set by previous Zope releases. But I'll let the Powers That Be decide on this -- I'm not touching the default configuration. --Guido van Rossum (home page: http://www.python.org/~guido/)