volosied commented on PR #1096:
URL: https://github.com/apache/myfaces/pull/1096#issuecomment-6041910739

   Hey, this is more of an edge-case scenario.
   
   Most of our testing currently uses relatively small IDs (or auto-generated 
defaults), so we aren't likely to encounter this in our test coverage.
   
   My concern is around large enterprise applications with deeply nested naming 
containers and very large Facelets views. In those environments, developers are 
more likely to use fairly verbose component IDs, so a structure like the 
following wouldn't be unexpected:
   
   
   ```
   <h:form id="customerAccountManagementForm">
       <h:dataTable id="regionalCustomerPortfolioContainer"
                    value="#{[1]}"
                    var="portfolio">
           <h:column>
               <h:dataTable id="enterpriseBusinessRelationshipContainer"
                            value="#{[1]}"
                            var="relationship">
                   <h:column>
                       <h:dataTable 
id="strategicAccountOperationalHierarchyContainer"
                                    value="#{[1]}"
                                    var="hierarchy">
                           <h:column>
                               <h:commandButton
                                   
id="asynchronousCustomerProfileSynchronizationButton"
                                   value="Submit">
                                   <f:ajax
                                       execute="@this"
                                       render="@form"/>
                               </h:commandButton>
                           </h:column>
                       </h:dataTable>
                   </h:column>
               </h:dataTable>
           </h:column>
       </h:dataTable>
   </h:form>
   ```
   In this case, the AJAX request would submit the following value:
   
   `javax.faces.partial.execute: 
"customerAccountManagementForm:regionalCustomerPortfolioContainer:0:enterpriseBusinessRelationshipContainer:0:strategicAccountOperationalHierarchyContainer:0:asynchronousCustomerProfileSynchronizationButton"
 `
   
   Which is 206 characters, and not far off from 256 limit. 
   
   My concern is less about extremely large IDs, but those just over the 256  
threshold. 
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to