Steve Alexander wrote:
I've just been trying out the MountedFileStorage product (by Anthony Baxter) with Zope 2.3.
I've got it mostly working, by patching a couple of typos, and making the SubApplication class derive from Traversable before Application.
I've *almost* got ZClasses defined in the root storage working in a mounted storage, but there are still a few issues there.
What product is DC using for the mounted storages on zope.org? Can I get a copy of it?
http://www.zope.org/Members/hathawsh/ExternalMount ExternalMount is simpler and more flexible than MountedFileStorage. However, a feature of MountedFileStorage is that it lets you try to mount the root of a ZODB. For various reasons, that is a Bad Idea. That's why it has all the "subapplication" stuff, which ExternalMount doesn't need because it won't let you mount the root of a ZODB. Instead, you mount a subobject. The application object in Wikis.fs on zope.org contains a folder called "Wikis". That folder is what gets mounted; whatever else is in Wikis.fs (like a Control_Panel, an acl_users, etc) is ignored. I think you'll find that if you set up your mounted databases this way, you'll get the reliability you're looking for.
I don't see any undo records for objects in the mounted storage. It is a FileStorage, so I reckon they should be there.
Currently, undo and mounted databases don't mix. You can only undo transactions on the root database. Besides that, there's the problem of coordinating the undo of transactions that span multiple databases--should it be done and how? Mounted databases are interesting and, for the most part, robust, but they aren't fully integrated with some of Zope's capabilities yet. Shane