[Zope-Dev] Re: 'REQUEST' lost on DTML rendering

Kent Polk kent@goatnospamhill.org
3 Oct 2000 22:45:05 GMT


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