[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