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