Thanks, I&#39;ve decided to go along with [1].<br><br>Alex<br><br>[1] <a href="http://www.tonyfleig.com/smallthoughts/blog/avoidingsessiontimeouts">http://www.tonyfleig.com/smallthoughts/blog/avoidingsessiontimeouts</a><br>

<div class="gmail_quote">2011/10/18 Lukas Renggli <span dir="ltr">&lt;<a href="mailto:renggli@gmail.com">renggli@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Yes, see what JQAllFunctionalTests&gt;&gt;#renderTimeoutOn: is doing.<br>
<br>
Or search this mailing list, many solutions have been posted and discussed.<br>
<font color="#888888"><br>
Lukas<br>
</font><div><div></div><div class="h5"><br>
On 18 October <a href="tel:2011%2012" value="+49201112">2011 12</a>:59, Alexander Lazarević &lt;<a href="mailto:laza@blobworks.com">laza@blobworks.com</a>&gt; wrote:<br>
&gt; Now I need to find a solution for session timeouts. If a session times out<br>
&gt; and the user clicks on a checkbox nothing happens (obviously).<br>
&gt; How can I redirect that request to act as an initial request for the root<br>
&gt; component (so to say)?<br>
&gt;<br>
&gt; Thanks,<br>
&gt;  Alex<br>
&gt;<br>
&gt; 2011/9/26 Alexander Lazarević &lt;<a href="mailto:laza@blobworks.com">laza@blobworks.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Sweet! That works like a charm. Thanks<br>
&gt;&gt;<br>
&gt;&gt; Alex<br>
&gt;&gt;<br>
&gt;&gt; 2011/9/26 Lukas Renggli &lt;<a href="mailto:renggli@gmail.com">renggli@gmail.com</a>&gt;:<br>
&gt;&gt; &gt; On 26 September <a href="tel:2011%2013" value="+49201113">2011 13</a>:39, Lukas Renggli &lt;<a href="mailto:renggli@gmail.com">renggli@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; It is probably the easiest if you just re-render that part of the<br>
&gt;&gt; &gt;&gt; page. I suggest a refactorings along the following lines:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; renderContentOn: html<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; | id |<br>
&gt;&gt; &gt;&gt; id := html nextId.<br>
&gt;&gt; &gt;&gt; html div id: id; with: [<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;        html form: [<br>
&gt;&gt; &gt;&gt;&gt;                html checkbox<br>
&gt;&gt; &gt;&gt;&gt;                        onChange: (html jQuery ajax<br>
&gt;&gt; &gt;&gt;&gt; serializeThisWithHidden);<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; You do replace the above line with:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;    onChange: ((html jQuery id: id) load serializeThisWithHidden;<br>
&gt;&gt; &gt;&gt; html: [ :r | self renderContentOn: r ])<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Sorry, this is a bit buggy. You don&#39;t want to re-render the div here,<br>
&gt;&gt; &gt; just what is inside. So better extract the inner part to a separate<br>
&gt;&gt; &gt; method.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;                        value: self isChecked;<br>
&gt;&gt; &gt;&gt;&gt;                        callback: [:value | self check: value. self<br>
&gt;&gt; &gt;&gt;&gt; check2: value].<br>
&gt;&gt; &gt;&gt;&gt;                html text: &#39;Check me&#39;.<br>
&gt;&gt; &gt;&gt;&gt;                html checkbox<br>
&gt;&gt; &gt;&gt;&gt;                        onChange: (html jQuery ajax<br>
&gt;&gt; &gt;&gt;&gt; serializeThisWithHidden);<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; And do the same here. Maybe extract it to a separate method so that<br>
&gt;&gt; &gt;&gt; you can reuse it.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;                        value: self isChecked2;<br>
&gt;&gt; &gt;&gt;&gt;                        callback: [:value | self check2: value. self<br>
&gt;&gt; &gt;&gt;&gt; check: value not].<br>
&gt;&gt; &gt;&gt;&gt;                html text: &#39;Check me 2&#39;.<br>
&gt;&gt; &gt;&gt;&gt;        ]<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; So what&#39;s the best strategy to update the checkboxes reflecting the<br>
&gt;&gt; &gt;&gt;&gt; internal state?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; ] &quot;close the div here&quot;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Cheers,<br>
&gt;&gt; &gt;&gt; Lukas<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Alex<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; 2011/9/26 Alexander Lazarević &lt;<a href="mailto:laza@blobworks.com">laza@blobworks.com</a>&gt;:<br>
&gt;&gt; &gt;&gt;&gt;&gt; Robert and Lukas,<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; I guess I still have some misconceptions when it comes to JS<br>
&gt;&gt; &gt;&gt;&gt;&gt; callbacks, but thanks for helping me along. I had the idea that the<br>
&gt;&gt; &gt;&gt;&gt;&gt; entire form gets serialized, but only the callbacks of changed<br>
&gt;&gt; &gt;&gt;&gt;&gt; elements would trigger a onChange: event and then trigger the<br>
&gt;&gt; &gt;&gt;&gt;&gt; callback.<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Alex<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; 2011/9/24 Lukas Renggli &lt;<a href="mailto:renggli@gmail.com">renggli@gmail.com</a>&gt;:<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; Yes, you serialize the form which means it involves both checkboxes.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; On your<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; scenario both callbacks should be triggered: the checked one with<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; true, the<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; unchecked with false.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; Btw, you do not need the IDs. For the AJAX just use (html jQuery<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; ajax<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; serializeForm). You don&#39;t want to load anything into the checkbox.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; Lukas<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; On Saturday, 24 September 2011, Alexander Lazarević<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:laza@blobworks.com">laza@blobworks.com</a>&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Hi!<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; I&#39;m using something like the following in my code:<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; renderContentOn: html<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;        | id |<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;        html form: [<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                id := html nextId.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                html checkbox<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        id: id;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        onChange: (html jQuery id: id) load<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; serializeForm;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        value: self isChecked;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        callback: [:value | value inspect].<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                html text: &#39;Check me&#39;.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                id := html nextId.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                html checkbox<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        id: id;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        onChange: (html jQuery id: id) load<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; serializeForm;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        value: self isChecked2;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                        callback: [:value | value inspect].<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;                html text: &#39;Check me 2&#39;.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;        ]<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; I&#39;m surprised to see that both callbacks get triggered even if I<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; only<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; check one checkbox. Is this on purpose and expected? According to<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Metacello I&#39;m using Seaside 3.0.6<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; Alex<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; seaside mailing list<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; <a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt; <a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; Lukas Renggli<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; <a href="http://www.lukas-renggli.ch" target="_blank">www.lukas-renggli.ch</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; seaside mailing list<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; <a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; <a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt; seaside mailing list<br>
&gt;&gt; &gt;&gt;&gt; <a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>
&gt;&gt; &gt;&gt;&gt; <a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; --<br>
&gt;&gt; &gt;&gt; Lukas Renggli<br>
&gt;&gt; &gt;&gt; <a href="http://www.lukas-renggli.ch" target="_blank">www.lukas-renggli.ch</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Lukas Renggli<br>
&gt;&gt; &gt; <a href="http://www.lukas-renggli.ch" target="_blank">www.lukas-renggli.ch</a><br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; seaside mailing list<br>
&gt;&gt; &gt; <a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>
&gt;&gt; &gt; <a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; seaside mailing list<br>
&gt; <a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>
&gt; <a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
Lukas Renggli<br>
<a href="http://www.lukas-renggli.ch" target="_blank">www.lukas-renggli.ch</a><br>
_______________________________________________<br>
seaside mailing list<br>
<a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
</div></div></blockquote></div><br>