On 28 Sep 2000 17:00:32 GMT, Kent Polk wrote:
I have a Product which works fine under Zope 2.1.6 but am having trouble moving it to 2.2.1
This product creates temporary instances of objects and then uses __bobo_traverse__ to traverse class operators specified in the URL which create the objects that are rendered via DTML methods.
The very first time one of these objects is called (after tehe server is started), all works fine. With all subsequest calls, the DTML methods which render the results cannot locate the REQUEST dictionary anymore. My class methods can still see the REQUEST dictionary just fine with every call, but REQUEST apparently gets lost between when the bobo_traverse returns and when the DTML renderer starts. (and yes, this all worked fine prior to 2.2x :^)
I'm stumped. How could the REQUEST object get passed the first time to the DTML renderer and never thereafter?
What changed thereabouts?
This falls under the category: 'Be careful what you ask for. You may just get your wish' I finally realized that this behavior is because the getattr behavior that I was lobbying for about a year and a half ago has at least been partially implemented! (concerning what sorts of requests are transacted and some other issues). I figured my application was just too far out in left field for Zope and gave up on it about a year ago. The description of the getattr changes I read didn't seem to indicate these types of changes were made. Maybe I missed the crucial parts though. Is there a detailed discussion of the changes made to getattr behavior anywhere? I plowed around and couldn't find one. Thanks