Richard Wesley writes:
Please read the "Web publishing" section of
<http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html>
Fabulous. I will read it all!
You will find that "REQUEST" is what the name suggests (oh wonder!): a description of a single, the current, request: no memory for earlier requests.
Except that this was not what I was finding empirically, but I was unsuccessful in finding an explanation of why this is the case. It appears that if I have a form whose action is a script that reloads the page with a changed request variable, that I have no need of sessions: This is still the same request (read: interaction with the browser). Therefore, changes to the request object are visible. As soon as you repond to the request, the request object is released (destroyed, no longer accessible).
....
When you need such a memory, you are looking for a session. Zope 2.5 comes with an integrated session product. It's very easy to use:
SESSION.set(key,value)
sets "key" to "value" in one request and
SESSION[key]
retrieves it in later requests.
which I _had_ found but didn't spend a lot of time on because it seemed like overkill.
This seems to require a coding style where you always link to scripts which then return a display page template. This is not necessary. You can assign sessions keys in both page templates and DTML objects, not only scripts.
Dieter