Acquisition change between Zope 1 and 2?
Today I moved some code from Zope 1 to 2, and ran into an incompatibility. I have a folder named 'process' with various bits of DTML in it. One DTML document called matching_html contains <!--#var add_operation_link-->. add_operation_link is a DTML method; in the process folder, it's empty. In a subfolder of 'process', I create a different add_operation_link DTML method which contains some actual content. The intention is to have a hook; subfolders of 'process' can override it to insert a bit of their own content, avoiding the need to modify more complex DTML methods. In Zope 1, this works as I expect; subfolders define add_operation_link, they acquire matching_html from the parent folder, and it calls the locally-defined add_operation_link. In Zope 2b1, this breaks because the matching_html in the parent folder calls the version of add_operation_link in the same folder; the overridden version of add_operation_link is never called. If I copy matching_html into the subfolders, it now calls the overridden add_operation_link, but now I have duplicate code to maintain and debug. Is this a bug in 2.0b1 or a deliberate change? If the latter, what are the semantics that changed, and how do I write hooks like this? And won't this break a lot of code? -- A.M. Kuchling http://starship.python.net/crew/amk/ Oh, by the way, talking of eggs, I want a four-hour scan below the hydrogen line tomorrow; I'll give you the precise wavelength later. -- One of the astronomers, in "Terror of the Autons"
participants (1)
-
Andrew M. Kuchling