ICEfaces
  1. ICEfaces
  2. ICE-1407

Including an ICEfaces portlet in Liferay breaks the Liferay drag&drop portlet feature

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.3
    • Fix Version/s: 1.6DR#5, 1.6
    • Component/s: Bridge
    • Labels:
      None
    • Environment:
      Win XP / Liferay 4.2.1 / Tomcat 5.5.17
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      This workaround is a really poor one, because you can't really do this in a production environment -- only in a development environment: Take out the <ice:form>...</ice:form> code from the .jspx page (basically everything ICEfaces related), redeploy the portlet, restart Liferay, drag&drop portlets where you want them, stop Liferay, fix the .jspx page, redeploy portlet, and then restart Liferay.
      Show
      This workaround is a really poor one, because you can't really do this in a production environment -- only in a development environment: Take out the <ice:form>...</ice:form> code from the .jspx page (basically everything ICEfaces related), redeploy the portlet, restart Liferay, drag&drop portlets where you want them, stop Liferay, fix the .jspx page, redeploy portlet, and then restart Liferay.

      Description

      When the <ice:form> element appears on a .jspx page, the following HTML code is generated when the page is rendered:

      <script language='javascript' src='/tep_triton/xmlhttp/icefaces-d2d.js'></script>

      I'm pretty sure that this is what is causing a feature in Liferay to break. You see, Liferay has this nice drag&drop feature, where you can drag a portlet from one place on the page, and drop it on another place, thus rearranging its X,Y location on the portal page. When an ICEfaces portlet is added however, this drag&drop feature within Liferay doesn't work anymore.

        Issue Links

          Activity

          Hide
          Neil Griffin added a comment -

          Further investigation shows that ICEfaces (likely icefaces-d2d.js) is interfering with Liferay's ability to receive onmouseover/onmouseleave messages. Actually, it might be better to say that Liferay generates HTML/CSS/JavaScript that needs to intercept these events, and ICEfaces does as well. For some reason, the browser cannot resolve this, and ICEfaces seems to win.

          Show
          Neil Griffin added a comment - Further investigation shows that ICEfaces (likely icefaces-d2d.js) is interfering with Liferay's ability to receive onmouseover/onmouseleave messages. Actually, it might be better to say that Liferay generates HTML/CSS/JavaScript that needs to intercept these events, and ICEfaces does as well. For some reason, the browser cannot resolve this, and ICEfaces seems to win.
          Hide
          Deryk Sinotte added a comment -

          During work between Liferay (for the 4.3.0 Release Candidate) and ICEfaces (for the 1.6 DR #5 release) the problem has gone away. Both sides did some refactoring and updating of JavaScript which likely made the theoretical collision disappear. In any event, you can now drag-n-drop portlets in Liferay again.

          Show
          Deryk Sinotte added a comment - During work between Liferay (for the 4.3.0 Release Candidate) and ICEfaces (for the 1.6 DR #5 release) the problem has gone away. Both sides did some refactoring and updating of JavaScript which likely made the theoretical collision disappear. In any event, you can now drag-n-drop portlets in Liferay again.

            People

            • Assignee:
              Unassigned
              Reporter:
              Neil Griffin
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: