[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