ICEfaces
  1. ICEfaces
  2. ICE-10595

showcase-portlet - ace:breadcrumbMenu fails

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: EE-4.0.0.GA
    • Fix Version/s: EE-4.1.0.GA, 4.2.BETA, 4.2
    • Component/s: ACE-Components, Sample Apps
    • Labels:
      None
    • Environment:
      Jenkins EE-4.0 Build# 2
      Browsers: IE11, FF34, Chrome
      Server: Liferay 6.2 w/ Tomcat 7.0.42
    • Assignee Priority:
      P3

      Description

      showcase-portlet:

      BreadcrumbMenu
      All browsers: a "Network Connection Interrupted" popup message is displayed when selecting a second time a City from a Province, after navigating to the outside wikipedia URL (screen shot attached).

      Steps:
      - click on "+" icon to expand a province, and select a City -> Province and City are rendered besides in the breadcrumbMenu component.
      - click on the City in the breadcrumbMenu component -> user redirected outside the portlet page, to the Wikipedia page for the selected city.
      - click the Back button in the browser to come back to the portlet page -> portlet breadcrumbMenu page displayed.
      - click again on "+" icon to expand another province, and select a City -> "Network Connection Interrupted" popup message, and no information is rendered in the breadcrumbMenu.

        Activity

        Hide
        Arturo Zambrano added a comment - - edited

        Indeed, I had noted that same issue three comments above (in less detail).

        The issue can be more accurately described as the ace:tree component not being rendered according to its internal state after clicking on the back button in the browser.

        I did more testing and debugging and it seems like the internal state of the tree is correct, but it's not reflected on the page when returning from an external link. The reason why a province, that was previously expanded, can't be expanded again is that in the server it is already expanded, so the domdiff notices no changes and no updates are sent.

        This situation in this particular demo can be ameliorated by simply rendering the menu items in the breadcumbs with target="_blank", so that external links open in new tabs. This is the way it's done in the 3.3 showcase. This demos was ported without this feature to 4.0 without any good reason, it was imply commented out. So, I will revert that.

        After doing more extensive testing, it becomes apparent that this is an issue with portlets, since other components that rely on a state map or some other form of state-keeping show similar issues when returning from an external link, as in the case of the ace:dataTable selection demo, for example. When loading the page when coming from an external link, none of the components seem to go through the render phase or through the JSF lifecycle for that matter. It seems like the portlet container simply sends to the client a cached version of the HTML markup.

        I will create a new JIRA to track this more general issue.

        Show
        Arturo Zambrano added a comment - - edited Indeed, I had noted that same issue three comments above (in less detail). The issue can be more accurately described as the ace:tree component not being rendered according to its internal state after clicking on the back button in the browser. I did more testing and debugging and it seems like the internal state of the tree is correct, but it's not reflected on the page when returning from an external link. The reason why a province, that was previously expanded, can't be expanded again is that in the server it is already expanded, so the domdiff notices no changes and no updates are sent. This situation in this particular demo can be ameliorated by simply rendering the menu items in the breadcumbs with target="_blank", so that external links open in new tabs. This is the way it's done in the 3.3 showcase. This demos was ported without this feature to 4.0 without any good reason, it was imply commented out. So, I will revert that. After doing more extensive testing, it becomes apparent that this is an issue with portlets, since other components that rely on a state map or some other form of state-keeping show similar issues when returning from an external link, as in the case of the ace:dataTable selection demo, for example. When loading the page when coming from an external link, none of the components seem to go through the render phase or through the JSF lifecycle for that matter. It seems like the portlet container simply sends to the client a cached version of the HTML markup. I will create a new JIRA to track this more general issue.
        Hide
        Arturo Zambrano added a comment -

        r48918: fix to render the menu items in the ace:breadcrumbsMenu demo with target="_blank", so that the external links open in new windows/tabs and thus avoid various tree state-related issues

        Show
        Arturo Zambrano added a comment - r48918: fix to render the menu items in the ace:breadcrumbsMenu demo with target="_blank", so that the external links open in new windows/tabs and thus avoid various tree state-related issues
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces 4 trunk 48918, Tomcat 8, liferay 6.2-ce-ga5.

        Show
        Liana Munroe added a comment - Verified ICEfaces 4 trunk 48918, Tomcat 8, liferay 6.2-ce-ga5.
        Hide
        Arturo Zambrano added a comment -

        Resolving issue as fixed. A new JIRA, http://jira.icesoft.org/browse/ICE-11060, was created to document the more general issue with portlets and try to find a fix.

        Show
        Arturo Zambrano added a comment - Resolving issue as fixed. A new JIRA, http://jira.icesoft.org/browse/ICE-11060 , was created to document the more general issue with portlets and try to find a fix.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces EE-4.1.0.GA Jenkins Build 4. Liferay 6.2-ce-ga5. FF 43, IE 11, Chrome 50.

        Show
        Liana Munroe added a comment - Verified ICEfaces EE-4.1.0.GA Jenkins Build 4. Liferay 6.2-ce-ga5. FF 43, IE 11, Chrome 50.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Carmen Cristurean
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: