[Seaside] Re: seaside Digest, Vol 97, Issue 14
Paul DeBruicker
pdebruic at gmail.com
Thu Jan 6 03:42:08 UTC 2011
On 01/05/2011 10:07 PM, seaside-request at lists.squeakfoundation.org wrote:
> Message: 4
> Date: Wed, 5 Jan 2011 15:20:56 -0800
> From: Tony Fleig<tony.fleig at gmail.com>
> Subject: [Seaside] Keep-alive timer for Seaside app
> To: Seaside - general discussion<seaside at lists.squeakfoundation.org>
> Message-ID:
> <AANLkTinAAnzmPt+G1HwhnhBN=XrW-heV+OVxoPj4cLDQ at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi,
>
> I want to keep my Seaside app's session from expiring as long as the
> user's browser page is open, even if the user does not interact with
> the page.
>
> I came up with the following method and it seems to work when rendered
> in the page.
>
> My questions are:
> Is there better way to do this?
> Is there an easier way to get the cacheTimeout value?
> Do I really need two JSScript instances to create the interval
> timer? I couldn't find a better solution.
>
>
> renderKeepAlive: html
>
> | script cacheTimeout |
> cacheTimeout := self session application cache expiryPolicy
> configuration at: #cacheTimeout.
> script := JSScript new
> add: (JSScript new
> add: (html jQuery ajax callback: [
> Transcript cr; show: 'keepalive']));
> interval: (cacheTimeout - 60) seconds asDuration.
> html document addLoadScript: script.
>
I do it like this:
renderKeepAlive: html
| requestDuration |
requestDuration := 9 minutes.
html
script:
((html jQuery ajax)
html: '';
interval: requestDuration).
More information about the seaside
mailing list