Add Window abstraction to Trinidad
----------------------------------
Key: TRINIDAD-1474
URL: https://issues.apache.org/jira/browse/TRINIDAD-1474
Project: MyFaces Trinidad
Issue Type: New Feature
Components: Archetype
Affects Versions: 1.2.12-core
Environment: All
Reporter: Blake Sullivan
Add Window abstraction to Trinidad. Currently, Trinidad knows nothing of the
separate browser Windows that make up a browser session. This causes weird
problems. For example, the state management token cache is shared across all
of the active windows with a simple LRU. If the user opens up two windows and
operates on one window long enough, he will cause the token state for the
original window to be purged. When the user switches back to the original
window and POSTs back, the token won't be found, Trinidad will assume that this
is because the session expired, and the user will be given an error.
Adding the concept of a Window and a Window lifecyle opens up the following
capabilities:
1) Correct handling of per-window UI state by segregating tokens by window
2) Early clean-up of UI state by aggressively purging state for closed windows
3) Applications can manager per-window state by listening for window lifecycle
events
4) Sessions can be cleaned up earlier by terminating the session when the last
window in the session is closed
5) A window scope can be implemented to ease using per-window state with EL
6) A window manager implementation can hide the details of handling control-N
in the browser
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.