[Zope-CMF] Re: Tools as local utilities

yuppie y.2006_ at wcm-solutions.de
Tue Nov 14 10:08:52 EST 2006


Hi Jens!


Jens Vagelpohl wrote:
> 
> On 14 Nov 2006, at 11:41, yuppie wrote:
>>
>> AFAICS GSLocalAddons doesn't depend on CMF and might be useful for 
>> other projects as well. Don't know if you did that already, but please 
>> add the code to GenericSetup, not CMFCore.
>>
>> I think this is a good time to create a maintenance branch for 
>> GenericSetup 1.2 and to make the GenericSetup trunk depend on Zope 2.10.
> 
> Good point, right now the code is purely in the CMF, but it can be 
> moved. I'll create the 1.2 branch right now and then move the 
> GSLocalAddons bits into GenericSetup trunk, and change DEPENDENCIES.txt.

Great!

>> Since CMF site roots have anyway their own class, I think we should 
>> hardcode the Zope 3 site stuff. I only had a quick look at the code so 
>> I might be missing something, but implementing this in 
>> PortalObjectBase seems to be quite easy. And we would neither need to 
>> use importVarious nor to write migration code.
> 
> Looking at the calls that are being done to make it into a Zope 3 site 
> it seems a complicated affair to hardcode that stuff in at class level 
> so that it will be picked up for older installations. Do you have any 
> specific ideas about that? Otherwise it is easy to at least move the 
> code from importVarious into a handler for ISiteRoot/IObjectAddedEvent.

As I said already: I might be missing something. But this is what I 
would try:

All enableSite() really seems to do is adding ISite as interface and 
adding a BeforeTraverseEvent notification hook. If we hardcode it in the 
class, we don't need the (un)registerBeforeTraverse dance. We can simply 
add a __before_publishing_traverse__ to PortalObjectBase. (And make sure 
the inherited code from DynamicType is called as well.)

Replacing the setSiteManager() call might be harder. If you want, I can 
have a closer look at this after you checked in your changes.


Cheers,

	Yuppie



More information about the Zope-CMF mailing list