You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Mind Bridge <mi...@yahoo.com> on 2005/04/09 10:50:53 UTC

[Ann] Timeout component

Hi all,

I have implemented a new Timeout component using XTile and have placed it on
T-Deli (http://www.t-deli.com).

The component aims to resolve the frequent proplems users have with session
expiration, and it aims to do that quietly if possible. It is particularly
useful when people are filling in long forms or are editting large data but
it is not desirable to increase the session duration due to user count. A
problem of that type was discussed earlier on this mailing list, but we have
encountered it as well -- users complain about that a lot.


Timeout does the following:

- If any user activity is detected in the browser, such as mouse clicks or
key presses, the browser silently connects to the server and prolongs  the
session.

The fact that the session is prolonged silently in the background ensures
that the user will not notice anything in the general case. The detection
also starts a certain amount of time (15 minutes by default) before the
session expires. This guarantees that the number of server connections is
rare and is decreased to a minimum.

- If the session is about to expire anyway due to lack of any user activity,
a warning message is displayed in the browser (5 minutes before expiration
by default). In Firefox that means that the browser will flash on the task
bar. The user can then choose to prolong the session explicitly, or let it
expire if he so desires. If there is no answer, the session will expire
anyway, and the user will be notified about that with another message. This
is often useful when the user forgets about an open browser (or a tab) and
goes to do something else, but he still has work to save.

- All of the listed times and displayed messages are configurable with the
component parameters. You can disable a particular functionality as well if
you want to. You also have the option of invoking a JavaScript function of
your own when the session expires.

- If the application is currently running stateless (there is no session),
Timeout will not do anything and will not add any code to your page. The
above functions are only active when there is a session.


Using Timeout is very simple. Just add:

<span jwcid="@xtile:Timeout"/>

to your page (or perhaps page wrap). Also, do not forget to add a reference
to the xtile library in the .application file:

<library id="xtile"
specification-path="/org/mb/tapestry/xtile/xtile.library"/>


Hopefully this component will help resolve some of frustrations users have.

Best regards,
- mb


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org