[Web-SIG] and now for something completely different!

James Gardner james at pythonweb.org
Fri Aug 12 19:40:32 CEST 2005


Ian Bicking wrote:

>PythonWeb has a session 
>module, but I don't know what its insides look like: 
>http://www.pythonweb.org/projects/webmodules/doc/0.5.3/html_multipage/lib/session.html
>
I was going to suggest it might be worth looking at the PythonWeb 
web.session module as a basis. The version in 0.5.3 is fairly well 
developed after long discussions with Felix Schwarz on the pythonweb 
mailing list. The API is separate from the implementation so you can 
write different drivers for different storage mechanisms. I wrote a 
driver to use an SQL database engine and that driver itself uses the 
PythonWeb database module which provides an abstraction layer to work on 
multiple engines. Osvaldo Santana Neto kindly donated a file based 
driver. There is also a WSGI implementation to use the session module at:

http://www.pythonweb.org/projects/webmodules/doc/0.5.3/html_multipage/lib/example-wsgiSession.html

The module uses the concept of a manager to manage multiple stores. The 
idea is that different applications have different stores so that their 
keys don't over-write each others by mistake but that all those 
applications can share the same session cookie and expire at the same 
time. You can also set the cookie properties and have the time the 
session stores expire different from the time the cookie expires if you 
really want too. I think it makes a good starting point anyway, the docs 
are quite comprehensive and I'd also be happy to give CVS access to 
anyone who wanted it. Unfortunately I don't use any other session 
software so I don't know how well web.session compares to others. If we 
base the new session module on something else I'd also be happy to 
update the web modules and bricks to use the new session module 
(possibly as a driver) instead if it provided the same features.

Sharing code is definitely a good idea, but I'd also like to agree a new 
WSGI standard because apart from end user benefits I think that will 
massively speed up the rate at which different framework authors use 
each other's code in their own projects and the more that happens the 
more things will get naturally integrated anyway.

James

P.S. I'm currently updating all the components on pythonweb.org to use 
the new Eggs format at 
http://peak.telecommunity.com/DevCenter/PythonEggs . They are a very 
exciting technology and if you are keen on experimenting with them and 
want to have a go with web.session you can test the 0.6.0 alpha of the 
web module (which includes web.session) by installing the latest version 
of setuptools and running the following command:

python easy_install.py web

If that doesn't work you'll have to use the old 0.5.3 web modules (the 
session module is actually unchanged). The eggs themselves are at 
http://www.pythonweb.org/pythonweb/release/ for those who are interested.



More information about the Web-SIG mailing list