ICEfaces
  1. ICEfaces
  2. ICE-10985

Compat components not working in Liferay 6.2

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P03
    • Fix Version/s: EE-3.3.0.GA_P04
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      ICEfaces EE 3.3.0 P03, Liferay 6.2 CE GA6, Liferay faces bridge 3.2.4 GA5

      Description

      When testing the components in the Compat Component Showcase on Liferay 6.2 CE GA2 with the Liferay Faces Bridge 3.2.4 GA5, none of the components seem to work correctly.

      No errors are seen on the client or server side.

      Things such as the buttons don't update the client. Row selection isn't shown. Pagination of the data table doesn't show a new page. The tree doesn't expand or contract.

        Activity

        Hide
        Arturo Zambrano added a comment -

        I've been ingvestigating this issue, and it seems to be a more general issue, not particular to any specific components. It seems like none of the requests are processed in the server. All the requests are sent from the client and appear to be correct, but the server always returns responses with no dynamic updates. I placed some println's in decode() and processDecodes() methods of several components, and none of those lines got to be printed. I also modified the xhtml markup of a partlet to only use standard h:* components, but the same issue occurred: the server didn't process the requests. I also tried using the liferay bridge used for in the showcase portlet application (i.e. /samples/showcase/showcase-portlet), and while there were no exceptions and the portlets displayed correctly, it didn't fix this is issue. I tried to deploy the app on Liferay 5.2.3, but the portlets couldn't be installed because of class version requirements.

        The only clue I have so far is that client IDs are generated differently in the ACE portlet showcase than in the compat portlet showcase.

        In the ACE portlet showcase, all client IDs look like this:
        dataTableSelector_WAR_showcaseportlet (i.e. <portlet-name>WAR<plugin-name>)

        ...while in the compat portlet showcase, all client IDs look like this:
        dataTablerowSelection_WAR_componentshowcaseportlet_INSTANCE_3My8TyyyXiP0
        (i.e. <portlet-name>WAR<plugin-name>INSTANCE<view-id>)

        So, there's an extra section in all client IDs in the compat portlet showcaswe, which is '_INSTANCE_3My8TyyyXiP0', which perhaps in not compatible with Liferay 6.2.

        Show
        Arturo Zambrano added a comment - I've been ingvestigating this issue, and it seems to be a more general issue, not particular to any specific components. It seems like none of the requests are processed in the server. All the requests are sent from the client and appear to be correct, but the server always returns responses with no dynamic updates. I placed some println's in decode() and processDecodes() methods of several components, and none of those lines got to be printed. I also modified the xhtml markup of a partlet to only use standard h:* components, but the same issue occurred: the server didn't process the requests. I also tried using the liferay bridge used for in the showcase portlet application (i.e. /samples/showcase/showcase-portlet), and while there were no exceptions and the portlets displayed correctly, it didn't fix this is issue. I tried to deploy the app on Liferay 5.2.3, but the portlets couldn't be installed because of class version requirements. The only clue I have so far is that client IDs are generated differently in the ACE portlet showcase than in the compat portlet showcase. In the ACE portlet showcase, all client IDs look like this: dataTableSelector_WAR_showcaseportlet (i.e. <portlet-name> WAR <plugin-name>) ...while in the compat portlet showcase, all client IDs look like this: dataTablerowSelection_WAR_componentshowcaseportlet_INSTANCE_3My8TyyyXiP0 (i.e. <portlet-name> WAR <plugin-name> INSTANCE <view-id>) So, there's an extra section in all client IDs in the compat portlet showcaswe, which is '_INSTANCE_3My8TyyyXiP0', which perhaps in not compatible with Liferay 6.2.
        Hide
        Arturo Zambrano added a comment -

        After testing the customer sample, I can discard that the issue is related to the difference in client IDs, since the client IDs in the customer sample follow the same pattern as the client IDs of the ACE components in the showcase-portlet application. I could reproduce the "s.toLowerCase is not a function" error, which happens at some point in the bridge code, and I also got various "Server Internal Error" popups, but no exception stack trace was displayed in the console.

        I also placed more println method in some other methods. I could see that the visitTree() method of various components is invoked during a request, but nothing else past that. For example, the processDecodes() and the decode() methods aren't invoked.

        I also inserted various ACE components in various portlets of the component-showcase-portlets plugin and I also added the ACE jar. All ACE components were rendered correctly and worked normally in the client side, but the same problem persisted: the requests weren't processed in the server, and it didn't return the expected dynamic updates in the response.

        This indicates that perhaps the component-showcase-portlets application uses an outdated configuration format for Liferay 6.2.

        Show
        Arturo Zambrano added a comment - After testing the customer sample, I can discard that the issue is related to the difference in client IDs, since the client IDs in the customer sample follow the same pattern as the client IDs of the ACE components in the showcase-portlet application. I could reproduce the "s.toLowerCase is not a function" error, which happens at some point in the bridge code, and I also got various "Server Internal Error" popups, but no exception stack trace was displayed in the console. I also placed more println method in some other methods. I could see that the visitTree() method of various components is invoked during a request, but nothing else past that. For example, the processDecodes() and the decode() methods aren't invoked. I also inserted various ACE components in various portlets of the component-showcase-portlets plugin and I also added the ACE jar. All ACE components were rendered correctly and worked normally in the client side, but the same problem persisted: the requests weren't processed in the server, and it didn't return the expected dynamic updates in the response. This indicates that perhaps the component-showcase-portlets application uses an outdated configuration format for Liferay 6.2.
        Hide
        Mircea Toma added a comment - - edited

        Updated the DTD of liferay-portlet.xml. Disabled parameter namespacing for all portlets. This matches what we have in "showcase".

        Show
        Mircea Toma added a comment - - edited Updated the DTD of liferay-portlet.xml . Disabled parameter namespacing for all portlets. This matches what we have in "showcase".
        Hide
        Liana Munroe added a comment - - edited

        Verified ICEfaces EE 3 trunk Jenkins build 655 using liferay-faces-bridge-api-3.2.5-ga6.jar, liferay-faces-bridge-impl-3.2.5-ga6.jar, liferay-faces-util-3.2.5-ga6.jar from the ee-3.3.0 maintenance branch.
        Tested with liferay-portal-tomcat-6.2-ce-ga5, FF 43, IE 11, Chrome 51.

        Show
        Liana Munroe added a comment - - edited Verified ICEfaces EE 3 trunk Jenkins build 655 using liferay-faces-bridge-api-3.2.5-ga6.jar, liferay-faces-bridge-impl-3.2.5-ga6.jar, liferay-faces-util-3.2.5-ga6.jar from the ee-3.3.0 maintenance branch. Tested with liferay-portal-tomcat-6.2-ce-ga5, FF 43, IE 11, Chrome 51.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: