Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta2
    • Fix Version/s: 2.0.1
    • Component/s: Bridge, Framework
    • Labels:
      None
    • Environment:
      ICEfaces, WindowScope
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)

      Description

      Management of WindowScope requires HTTP messages sent to the server whenever browser navigation or window closing occurs. This results in extra network traffic, sometimes problematic interaction with authentication (since window closing can occur after session expiry), complexities for portlet integration, and complexity for load and functional testing.

      It should be possible for WindowScope to be managed lazily; that is, if the WindowScope map is empty, no HTTP requests need be sent. Since objects can be added to WindowScope at any time during the JSF lifecycle, it is likely that WindowScope JavaScript initialization must be inserted just prior to the body closing tag during the render phase.

        Issue Links

          Activity

          Repository Revision Date User Message
          ICEsoft Public SVN Repository #24074 Wed Mar 02 10:28:58 MST 2011 mircea.toma ICE-6189 Update Javadoc to describe new behavior.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/application/PushRenderer.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #24073 Wed Mar 02 10:25:04 MST 2011 mircea.toma ICE-6189 Modified SessionViewManager to stop keeping track of the active pushIds. New views are added to a session wide group only after PushRenderer.addCurrentSession method is called. Renamed also SessionViewManager methods to better reflect the new behavior.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/push/SessionViewManager.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/application/PushRenderer.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #24044 Mon Feb 28 16:48:00 MST 2011 mircea.toma ICE-6189 Detect when view scope map contains beans. Disable lazy window scope then.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23995 Wed Feb 23 15:31:59 MST 2011 mircea.toma ICE-6189 Introduced 'org.icefaces.lazyWindowScope' context parameter used to disable lazy window scope feature when needed.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/util/EnvUtils.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23993 Wed Feb 23 09:36:56 MST 2011 mircea.toma ICE-6189 Implement lazy window scope. 'dispose-window' request is sent only when the window's scope map contains at least one bean. On each request the scope maps are checked for usage, the unused scope maps are discarded to avoid accumulating them. To avoid triggering exceptions when discarding early the unused maps introduced No-Op scope map used to replaced them.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/javascript/application.js
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/resources/META-INF/faces-config.xml
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java

            People

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

              Dates

              • Created:
                Updated:
                Resolved: