Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha1
    • Fix Version/s: 2.0-Alpha3, 2.0.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces 2.0

      Description


      Notification of session expiry is a useful feature in ICEfaces 1.x and should be incorporated into ICEfaces 2.0.

        Activity

        Ted Goddard created issue -
        Hide
        Ted Goddard added a comment -

        Detecting session shutdown is possible through standard Servlet listeners.

        An application may require notification of session shutdown, but may not require other push features. Push notification of session shutdown could be activated by the connection status component itself.

        If a notification is received, but the session has expired, it is likely that the "refresh" phase will result in a View Expired exception. It should be possible to detect whether a session was newly created at this point to augment the View Expired and display it as a session expired to the user (it is not clear that a user will find a useful distinction between View Expired and Session Expired, however).

        Show
        Ted Goddard added a comment - Detecting session shutdown is possible through standard Servlet listeners. An application may require notification of session shutdown, but may not require other push features. Push notification of session shutdown could be activated by the connection status component itself. If a notification is received, but the session has expired, it is likely that the "refresh" phase will result in a View Expired exception. It should be possible to detect whether a session was newly created at this point to augment the View Expired and display it as a session expired to the user (it is not clear that a user will find a useful distinction between View Expired and Session Expired, however).
        Deryk Sinotte made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 2.0-Beta [ 10032 ]
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Hide
        Deryk Sinotte added a comment -

        First step is to discuss this further to see what the current behaviour is and then discuss how we want to solve it. Ideally, we'd like to provide a sensible default behaviour but also expose a mechanism that application developers can use themselves so that they can handle session expiry in a way that meets their requirements.

        Show
        Deryk Sinotte added a comment - First step is to discuss this further to see what the current behaviour is and then discuss how we want to solve it. Ideally, we'd like to provide a sensible default behaviour but also expose a mechanism that application developers can use themselves so that they can handle session expiry in a way that meets their requirements.
        Deryk Sinotte made changes -
        Salesforce Case []
        Assignee Priority P1
        Assignee Deryk Sinotte [ deryk.sinotte ] Mircea Toma [ mircea.toma ]
        Ken Fyten made changes -
        Salesforce Case []
        Assignee Priority P1 P2
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20578 Thu Feb 11 09:24:31 MST 2010 mircea.toma ICE-5283 Use pushIds for each window to notify when session has expired. Introduce registration API for session expiry notification.
        Files Changed
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/java/org/icefaces/push/BridgeSetup.java
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/java/org/icefaces/application/WindowScopeManager.java
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/java/org/icefaces/push/SessionBoundServer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20580 Thu Feb 11 09:38:39 MST 2010 mircea.toma ICE-5283 Create session expiry notification group for each session.
        Files Changed
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/java/org/icefaces/push/BridgeSetup.java
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/java/org/icefaces/push/SessionBoundServer.java
        Hide
        Mircea Toma added a comment -

        The session expiry notification uses pushIds created for each window. These pushIds are put into a group that will be used to push the session expiry notification to all the browser window.
        On the client side the ice.push.register callback will invoke all the listeners registered with ice.onSessionExpired function. Also the callback will de-register the pushIds thus disabling the blocking connection.

        Show
        Mircea Toma added a comment - The session expiry notification uses pushIds created for each window. These pushIds are put into a group that will be used to push the session expiry notification to all the browser window. On the client side the ice.push.register callback will invoke all the listeners registered with ice.onSessionExpired function. Also the callback will de-register the pushIds thus disabling the blocking connection.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20723 Sun Feb 21 15:40:27 MST 2010 mircea.toma ICE-5283 Simplify session expiry notification callback.
        Files Changed
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/java/org/icefaces/push/BridgeSetup.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20725 Mon Feb 22 10:42:45 MST 2010 mircea.toma ICE-5283 Rollback changes meant for a different issue.
        Files Changed
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20746 Mon Feb 22 16:37:23 MST 2010 mircea.toma ICE-5283 Log correctly the received pushId notification.
        Files Changed
        Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
        Ken Fyten made changes -
        Fix Version/s 2.0.0 [ 10230 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P2

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: