[Zope] Sessions needed

Frank Buhr buhr@kogs1.informatik.uni-hamburg.de
Mon, 28 Jun 1999 04:04:03 +0200 (MET DST)


Hi,

after doing some experiments with Zope I'm still missing an important feature:

   How can I easily keep state information over several HTTP-Requests?

The abstraction that provides this is called "session" for instance in the Java Servlet API
http://java.sun.com/products/servlet/2.1/html/api-reference.fm.html#945
JS-sessions provide an abstraction from cookie-mechanisms or URL encoding.

Netscapes server side javascript provides similar things. There are some
choices for the implementation of sessions: keeping state information 
on the server (the client only references an ID) or on the client 
(all values are stored on the client), using cookies, URL encoding or 
hidden form elements.

I found some Classes in the Zope sources where there is already state information
maintained by cookies (TreeTag and ZRDB.DA)
This seems to be equivalent to the combination "data on the client, use cookies" from above.

I very much like the idea of separating the service of "state keeping" from
the concrete implementation (which might even be chosen dynamically according
to browser capabilities or user preferences ("no cookies -> use URL encoding")

   Did I overlook something or is there really no session _abstraction_ in Zope?

(At first sight the feature now called "versions" seemed to do something similar
but this was only the first sight.)

A Session (in my definition) should provide a private namespace for exactly one user
(or web client). It should have an optional timeout in order to destroy it if the 
user is inactive.

Has anyone build a nice Zope product which does this?

May be sessions could be integrated into the object database 
(by declaring objects to have a special scope and extent)?



Frank