ICEfaces
  1. ICEfaces
  2. ICE-6306

Improve window ID handling for portlets

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta2
    • Fix Version/s: 2.0.0
    • Component/s: Bridge, Framework
    • Labels:
      None
    • Environment:
      ICEfaces 2 portal portlet

      Description

      The window ID is generated on the server but the active portlets in the window do not share the same window ID. This causes unnecessary DOM diffs and possibly the malfunction of the window scope. In the past we discussed about this issue, one possible solution would be to let each portlet assign its own window ID and then send a list of window IDs during dispose-window request. Each portlet will then match only the window ID it knows about and dispose the corresponding scope.

        Activity

        Deryk Sinotte created issue -
        Deryk Sinotte made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 2.0.0 [ 10230 ]
        Assignee Priority P1
        Assignee Mircea Toma [ mircea.toma ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #23291 Thu Dec 02 17:20:50 MST 2010 mircea.toma ICE-6306 Introduce time-based heuristic to assign same windowID and window scope to all portlets within the same WAR.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Hide
        Mircea Toma added a comment -

        Introduced time-based heuristic to assign same windowID and window scope to all portlets within the same WAR.

        Show
        Mircea Toma added a comment - Introduced time-based heuristic to assign same windowID and window scope to all portlets within the same WAR.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #23295 Fri Dec 03 09:24:26 MST 2010 ken.fyten ICE-6306: Reverting commit from rvn 23291 that added hard dependency on portlet.jar.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #23404 Wed Dec 08 17:27:06 MST 2010 mircea.toma ICE-6306 Use URL found in javax.faces.ecodedURL hidden input element when sending dispose window request.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/javascript/application.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #23410 Wed Dec 08 18:10:20 MST 2010 mircea.toma ICE-6306 Use time based heuristic for assigning the same windowID for all the portlets in the same WAR.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Hide
        Mircea Toma added a comment -

        Change dispose window code to use URL found in javax.faces.ecodedURL hidden input element. This way the request is properly invoking WindowScopeManager resource handler.

        Show
        Mircea Toma added a comment - Change dispose window code to use URL found in javax.faces.ecodedURL hidden input element. This way the request is properly invoking WindowScopeManager resource handler.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #23415 Thu Dec 09 11:07:11 MST 2010 mircea.toma ICE-6306 Introduced Liferay specific strategy for sharing windowIDs between portlet instances belonging to same WAR.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/application/WindowScopeManager.java
        Hide
        Mircea Toma added a comment -

        Introduced Liferay specific strategy for sharing windowIDs between portlet instances belonging to same WAR. Refactored code to use Liferay specific strategy automatically or fallback to default timed heuristic strategy.

        Show
        Mircea Toma added a comment - Introduced Liferay specific strategy for sharing windowIDs between portlet instances belonging to same WAR. Refactored code to use Liferay specific strategy automatically or fallback to default timed heuristic strategy.
        Hide
        Ted Goddard added a comment -

        Use of a ThreadLocal may provide isolation between simultaneous requests. The ThreadLocal should contain the Session ID to prevent collisions when a thread is later used to handle a request for a different session.

        Show
        Ted Goddard added a comment - Use of a ThreadLocal may provide isolation between simultaneous requests. The ThreadLocal should contain the Session ID to prevent collisions when a thread is later used to handle a request for a different session.
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P1

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: