[Zope-CMF] GS and the Toolset registry

Alec Mitchell alecpm at gmail.com
Mon Nov 13 21:45:01 EST 2006


Hi everyone,

So I've recently run into a bit of a problem involving the extension
profiles and the toolset registry.  The issue is that if I install an
extension profile that overrides one of the tools from the base
profile, then switch back to the base profile (but not run any steps),
then switch to another extension profile that provides a toolset step
(which has no mention of the tool overridden in the first extension
profile), the tool from the base profile will replace the tool from
the first extension profile, even though the base profile was never
re-installed and the second extension profile makes no mention of this
tool.

The issue lies with the fact that we have a persistent registry for
toolset information which is updated on every profile change (whether
or not the profile is actually installed).  It's not entirely clear to
me what the purpose of this registry is, other than to implement a
means for a base profile to 'forbid' certain tool ids (an idea I also
don't fully understand).  It is clear to me that the current
implementation is problematic, because it means that all extension
profiles that have a toolset step have the side effect of enacting the
toolset steps for all previously active profiles (yuck), regardless of
whether those profiles were ever imported (double yuck).

In particular this has a detrimental effect on the latest
CMFQuickInstaller tool, which allows installation of GS extension
profiles.  The latest QI automatically installs the default profile
for the desired product, then set the active profile back to the
original profile.  When the next product that supplies a toolset step
is installed, the base profile toolset step is essentially re-run,
potentially undoing the work of previously installed extension
profiles.

I'm afraid I can't really suggest a reasonable solution, as I'm
completely unsure of the purpose of this registry.  It's not at all
clear to me what about the toolset step is so unique as to require a
special registry in the setup tool.  Any enlightenment would be
appreciated.

Thanks in advance,
Alec


More information about the Zope-CMF mailing list