[Seaside] Session expiry

Randal L. Schwartz merlyn at stonehenge.com
Wed Jan 2 17:30:03 UTC 2008

>>>>> "Amos" == Amos  <aaamos at gmail.com> writes:

Amos> Sorry, I respectfully disagree. And everyone that I've shown Seaside
Amos> to, as much as they immediately liked it, the reaction to the handling
Amos> of expired sessions is always something that brings up a frown. And
Amos> while using JavaScript to spice up websites is great, sites *should*
Amos> work for browsers without it, or with JavaScript disabled.

Do these same people also expect to go to to an airline website, stop halfway
through selecting the departure city and arrival city, and come back to that a
week later to continue their purchase?

I don't expect that.  In fact, in the "real world", I've sometimes encountered
timeouts as short as 10 minutes, annoying because I was quickly "comparison
shopping" amongst multiple travel options.

This is what a seaside "session" is... a specific conversation for a specific
purpose, one which can be reasonably expected to be completed in a reasonably
short period of time.

If you want longer state, don't call it a session, and figure out a way
to return a long-departed browser to that same state.

Consider Amazon.com.  You have three levels there:

- permanent URLs for products, making them googleable
- session info (I'm logged in as Randal, currently in the second page of
  checking out)

and in between

- my shopping cart, where I can park something for a week (or a few months!)
  while I'm comparison shopping.

Maybe what you're looking for is that third level... where you can "park"
some state for the currently logged-in user.  In that case, you need
some sort of storage keyed by a user ID.  The literature on that is
numerous, so I won't repeat it.

Would that solve it for you?

Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

More information about the seaside mailing list