[Zope-dev] breaking apart INSTANCE_HOME.
Chris McDonough
chrism@zope.com
25 Jul 2003 11:15:22 -0400
On Fri, 2003-07-25 at 10:30, Fred L. Drake, Jr. wrote:
>
> Chris McDonough writes:
> > I propose that we add two more options to the config file:
> >
> > import-directory
> > extensions-directory
>
> I'd like to suggest that we call these "imports" and "extensions", to
> be parallel with the "products" multikey.
Yup, that sounds better.
> For products, we use the specified directories to add to the Products
> package, but that makes sense given that the base Products package is
> a required component.
>
> For imports and extensions, we should consider using the specified
> directories *instead* of the default. This is easy enough; if the
> directories are given as relative directories, they should be resolved
> relative to config.instancehome; the schema can then include the
> defaults and very little new code will be needed.
Actually, both of these directories have historically worked in much
the same way as the Products package does.
A software home may have (actually currently must have) an "import"
directory. Zope currently slurps various TTW "examples" from a zexp
file in the software home import directory. I'd really like to dump
this dependency, but it would take a bit of work.
The Extensions directory... errr.. this should probably not be in a
software home anymore. I can't think of anything that would break were
it to not be there anymore (besides products that depend on the physical
layout of the software home, which shouldn't exist).
> > I'm sure that utilizing these options in the config file will break
> > things that rely on having a monolithic INSTANCE_HOME such as products
> > that attempt to do something like "import_dir =
> > os.path.join(INSTANCE_HOME, 'import').
>
> Any product that does that will prove fragile eventually. We just
> need to make sure the core doesn't do anything like that. ;-)
Personally, I think we should just hardcode '/home/fred/zope/import'
into the core as the import directory and be done with it. ;-)
- C