[Zope-dev] Re: advice on MountedFileStorage changes.

Shane Hathaway shane@digicool.com
Mon, 12 Jun 2000 10:58:57 -0400


Anthony Baxter wrote:
> 
> I've nearly completed the code to make MountedFileStorage able to
> create new FileStorages on demand, _however_...
> 
> I'm hitting a bit of a problem with the Product initialisation. Right
> now I'm just calling OFS.Application.initialize(), which goes through
> and re-imports all the products, and adds them to the global meta_types
> list. This is bad - it means it's slow as hell reimporting everything,
> and everything gets listed twice. It's fine after a restart, but that's
> not much help.
> 
> I can't just skip product initialisation, as it's kinda needed to create
> objects in the sub-zodb.

I looked some more at ZClasses and such today, hoping to solve the
problem with mounted databases.  Guess what!  It turned out to be a
simple matter.

The latest addition to Mount.py provides the ability for a MountPoint
to get its ZClass definitions from the root database rather than the
mounted database.  Anthony, I think you'll want to make
"classDefsFromRoot" a checkbox available when adding a new mount point.

Depending on the application, this can be the more sensible (and more
manageable) approach.  For example, you may want to have a large
collection of little FileStorages, all using the same ZClass
definitions.  You certainly wouldn't want to make a copy of all
ZClasses in each FileStorage.

In doing this I realized, and Jim suggested, that there are other
situations where you'd really want ZClass definitions to come from the
mounted database.  This is a larger issue.  We will first need to
provide a way to manage the databases.  Then there will be a need to
load/unload products dynamically.  I don't think we want to try to
finish that for 2.2.0.

Shane