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.

Reply via email to