ICEfaces
  1. ICEfaces
  2. ICE-8753

Components using an instance registry might not work well in portlets

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2
    • Fix Version/s: 3.3
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Portlets

      Description

      Components such as ace:autoCompleteEntry and ace:richTextEntry, which keep a global variable storing references to each component instance on the page, might not work properly in a portlet environment. Specifically, having more than one component instance per page might cause other instances not to work at all.

        Activity

        Migration created issue -
        Migration made changes -
        Field Original Value New Value
        Reporter Migration [ remote ] Arturo Zambrano [ artzambrano ]
        Migration made changes -
        Assignee Arturo Zambrano [ artzambrano ]
        Migration made changes -
        Description
        Components such as ace:autoCompleteEntry and ace:richTextEntry, which keep a global variable storing references to each component instance on the page, might not work properly in a portlet environment. Specifically, having more than one component instance per page might cause other instances not to work at all.

        On portlet pages having 2 or more instances of ace:autoCompleteEntry and ace:richTextEntry, it was observed that only the very last instance loaded was working correctly, while the others weren't working at all, fired errors or had odd behaviours. The reason is that the global variable that keeps references to the instances is replaced every time the javascript resources are loaded per portlet. This causes the loss of all the references to all the instances that were previously registered.

        The fix, in most cases, consists of simply checking if the global registry variable already exists before creating it.
        Components such as ace:autoCompleteEntry and ace:richTextEntry, which keep a global variable storing references to each component instance on the page, might not work properly in a portlet environment. Specifically, having more than one component instance per page might cause other instances not to work at all.
        Migration made changes -
        Fix Version/s 3.3 [ 10370 ]
        Fix Version/s EE-3.2.0.GA [ 10332 ]
        Migration made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arturo Zambrano
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: