[Zope-CMF] Re: [dev] GenericSetup: using global steps

Maurits van Rees m.van.rees at zestsoftware.nl
Fri Dec 21 04:39:51 EST 2007


yuppie, on 2007-12-20:
> Hi!
>
>
> Wichert Akkerman wrote:
>> Previously yuppie wrote:
>>> GenericSetup trunk has global step registries. I propose to use the new 
>>> ZCML directive for registering all GenericSetup and CMF import and 
>>> export steps globally. And to remove the import_steps.xml and 
>>> export_steps.xml files from the profiles shipped with CMF.
>>>
>>> This also requires to add a flag file for the 'various' step.
>>>
>>> I already started implementing this. If there are no objections, I'll 
>>> soon check in my changes.
>> 
>> +1
>> 
>> there is one thing missing at the moment: unregistering the old
>> profile-registered steps. I'm not sure what the right way to do that is.
>
> listExportSteps() and getSortedImportSteps() now have unit tests and no 
> longer return duplicates. AFAICS we now have a clean override behavior 
> and nothing breaks if the same step is registered locally *and* globally.
>
> But I agree there should be a way to remove obsolete and broken local 
> steps. A method that removes local duplicates of global steps and a 
> method that removes broken steps would be useful. Not sure if they 
> should be run automatically or if there should be a cleanup button in 
> the UI.

You probably know perfectly well how to do this, but for the record,
here is some installer code from a client project where we remove an
obsolete import step.

  registry = setup.getImportStepRegistry()
  if u'lumberjack' in registry.listSteps():
      print >> out, "Found stale lumberjack import step, removing it."
      registry._registered.pop(u'lumberjack')
      temp = registry._registered
      registry._registered = temp
      del temp
      print >> out, "Removed stale lumberjack import step."

-- 
Maurits van Rees | http://maurits.vanrees.org/
            Work | http://zestsoftware.nl/
"From an eekhoorn grows an oak." [semi-Dutch proverb]



More information about the Zope-CMF mailing list