ICEfaces
  1. ICEfaces
  2. ICE-3885

Duplicate ids are found when state saving is enabled

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8DR#1
    • Fix Version/s: 1.8DR#2, 1.8
    • Component/s: Framework, ICE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      When state saving is enabled, the JSF reference implementation enforces strict checks for duplicate ids because it would be unable to properly store the state of the component tree otherwise. For reference on the failing behaviour, see ICE-1464 and the associated regression test. I'm unsure of the risk this might pose to existing applications as we have not had duplicate id issues in the past but they may have been there and only start to manifest when the new, stricter checking is enabled.

      Additionally, I've seen the problem manifest in the Component Showcase (Facelets Enhanced version). These are more likely to be page errors but they manifest in the same way and only show up when state saving (with the stricter checking) is enabled. I made manual changes to get by the errors:

      Index: facelets-enh/web/WEB-INF/includes/content/description.jspx
      ===================================================================
      --- facelets-enh/web/WEB-INF/includes/content/description.jspx (revision 18042)
      +++ facelets-enh/web/WEB-INF/includes/content/description.jspx (working copy)
      @@ -77,8 +77,7 @@
                           <f:facet name="header">TLD</f:facet>
                           <c:forEach var="tldResource"
                                      items="#{currentTldResource}">
      - <ice:commandLink id="tldCmdLnk"
      - actionListener="#{applicationController.viewIncludeEvent}"
      + <ice:commandLink actionListener="#{applicationController.viewIncludeEvent}"
                                       value="#{tldResource.label}"
                                       styleClass="docViewNodeSelected#{tldResource.resourceRef.path eq applicationModel.selectedTabState.descriptionContent}">
                                   <f:param name="includePath"
      @@ -90,7 +89,7 @@
               </ui:define>
               <ui:define name="docView">
                   <!-- writes out source code servlet reader-->
      - <h:outputText id="srcFrame" style="display:block;overflow:hidden;width:100%;height:100%"
      + <h:outputText id="descFrame" style="display:block;overflow:hidden;width:100%;height:100%"
                           value="#{applicationController.currentDocumentSource}"
                           escape="false"/>
               </ui:define>

      However, we should ensure that these errors are indeed problems with the page rather than ICEfaces.

        Activity

        Deryk Sinotte created issue -
        Deryk Sinotte made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 1.8DR#2 [ 10142 ]
        Assignee Ken Fyten [ ken.fyten ]
        Ken Fyten made changes -
        Salesforce Case []
        Assignee Priority P1
        Assignee Ken Fyten [ ken.fyten ] Mark Collette [ mark.collette ]
        Mark Collette made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Mark Collette made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 1.8 [ 10161 ]
        Assignee Priority P1
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Mark Collette [ mark.collette ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: