[Seaside] Re: passing through to a new session

James Megquier 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 
the result.

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 
feasible.

Cheers,
-James



More information about the Seaside mailing list