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

        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.
        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.
        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.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: