[Seaside] Re: passing through to a new session
jmegq at post.harvard.edu
Fri Aug 13 05:26:15 CEST 2004
>> Now there's one inconvenience: if user goes away from the computer
>> after logout and then he returns back after 1-2 hours when session is
>> too old, he/she will put there [on login form] name and password and
>> "session expired" page will appear. Is it possible to solve this in
>> some elegant way?
Funny, I had just noticed that in my app as well.
Here are a couple ideas that have been floating around in my head:
1. Some kind of Decoration (or base class or something) that marks its
owner "stateless" or fungible. The idea is that the
session/continuation parameters would be augmented with a parameter
that points at the component class to instantiate later to call with
When a form submission comes in, and if the session/continuation are
expired, the system would check if there's a "component factory key"
param posted too. If so, it creates a new instance of said component,
mocks up a render pass (to set it up for receiving callbacks), and then
does the usual callback pass with the posted parameters.
2. The most recent(ly-requested) continuation in a session could have a
much longer separately-configurable timeout. This helps in general
when I want to have an application that the user can come back to after
being away for more than the several-minute "active session" timeout.
But really, this just makes us save fewer continuations for a long
period of time, to reduce the memory use when there are lots of users.
Subcontinuations, or even compressing older continuations to disk,
might be just as (un)reasonable ways to make longer session timeouts
More information about the Seaside