[Zope-dev] Re: RFC: product initialization cleanup and improvements

yuppie y.2005- at wcm-solutions.de
Fri Nov 4 06:34:48 EST 2005


Hi!


Some things turned out a bit different than proposed, so I want to 
report back:

> 1.) 'action' key:
> -----------------
> 
> I'd like to give empty 'action' values a special meaning: The meta_type 
> is not visible in the add drop down in the ZMI.
> 
> The five:registerClass directive allows to set empty 'action' values.
> 
> This would resolve http://www.zope.org/Collectors/Zope/1885 .
> 
> Filtering out meta_types with empty 'action' values is a two line change 
> in main.dtml. I'd like to make that change also on the 2.8 branch to 
> enable that feature for 2.8.5 with Five 1.2.

I wasn't able to finish this because it depends on 
http://www.zope.org/Collectors/Zope/1774 . See my comment in 
http://www.zope.org/Collectors/Zope/1885 for details.


> 2.) 'interfaces' key:
> ---------------------
> 
> Does currently only contain oldstyle interfaces. The code in 
> OFS.ObjectManager that uses that key works also with z3 interfaces. I'd 
> like to add z3 interfaces to the value of that key. That would e.g. 
> allow to set only new style interfaces on catalog index classes.

Done.

> 3.) 'product' key:
> ------------------
> 
> AFAICS it isn't used in Zope itself. I'd like to add a note that it 
> might be removed in a future version.

That key is not required, but I found two places in Zope where it is 
used if it exists: In ProductRegistry for TTW products and in 
OFS.Application for refreshing products.

> 4.) related cleanup:
> --------------------
> 
> Application.install_product has some backwards compatibility code for 
> products that have initialization code outside the 'initialize' method 
> of their __init__.py. This is deprecated at least for 5 years. I'd like 
> to add explicit deprecation warnings on the 2.8 branch and to remove 
> that code for Zope 2.9.

Done. Made sure ZGadflyDA and ZSQLMethods don't use the deprecated code. 
  Given the fact that 2 Zope core products still used that code and 
given the feedback on this list I didn't remove the code in Zope 2.9. 
This should be done in Zope 2.10 instead.


Cheers,

	Yuppie



More information about the Zope-Dev mailing list