Hi all -- I've just thrown together a snapshot release of Quixote for anyone curious to play with the ongoing changes to the session management interface: http://www.mems-exchange.org/software/files/quixote/Quixote-20020520.tar.gz You can consider this an alpha release of Quixote 0.5; there are more changes to come. Here's the changelog so far: 0.5 (?? May 2002): * To fix installation problems on Win98 and MacOS (pre OS X), setup.py now uses os.curdir instead of ''. * Documented and overhauled the session management API. If you were previously using session management, you will almost certainly need to change your code; see doc/session-mgmt.txt. If you would like to use session management in your application but were put off by the lack of documentation, see doc/session-mgmt.txt. Specific changes: * removed the global singleton SessionManager object in session.py and several related functions * removed everything having to do with "application state", an unnecessary abstraction caused by premature over-generalization * removed the 'actual_user' attribute from Session -- it is specific to the MEMS Exchange and just confuses matters in Quixote * made most instance attributes of Session private * defined a sensible persistence API that should work with a wide variety of session persistence schemes; the abort() and commit() methods of SessionManager are gone, and Session's is_empty() has been replaced by is_dirty() * Add CHECK_SESSION_ADDR config variable to control whether we check that requests in a session all come from the same IP address, as a defence against playback attacks. (Thanks to Jonathan Corbet.) -- Greg Ward - software developer gward@mems-exchange.org MEMS Exchange http://www.mems-exchange.org