[ https://issues.apache.org/jira/browse/SLING-12043?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ben Oeyen updated SLING-12043: ------------------------------ Description: When upgrading AEM Service Pack 11 to Service Pack 18 we noticed issues with Sling Dynamic include. The virtual include paths contained the resourcetype as a postfix to the path where we did not expect that. We traced it back to the the includeTagFilter.java thinking the resource is synthetic in the buildUrl method: {code:java} private String buildUrl(Configuration config, SlingHttpServletRequest request) { final Resource resource = request.getResource(); final boolean synthetic = ResourceUtil.isSyntheticResource(request.getResource()); return UrlBuilder.buildUrl(config.getIncludeSelector(), resource.getResourceType(), synthetic, config, request.getRequestPathInfo()); } {code} We contacted Adobe Support and they reported that they did make a change in the responsivegrid.html in Service Pack 13. Service pack 11 responsivegrid.html {code:java} ... <sly data-sly-test="${!isAllowedApplicable}" data-sly-repeat.child="${api.paragraphs}" data-sly-resource="${child.path @ decoration='true', cssClassName=child.cssClass}"></sly> ... {code} Was changed in Service pack 13 to: {code:java} ... <sly data-sly-test="${!isAllowedApplicable}" data-sly-repeat.child="${api.paragraphs}" data-sly-resource="${child.resource @ decoration='true', cssClassName=child.cssClass}"></sly> ... {code} Because Adobe is not officially supporting Sling Dynamic Includes hence i'm creating this ticket. -As a temporary workaroud we overlayed the reponsivegrid.html with the SP11 version to mitigate this issue.- This workaround is causing other issues so should not be applied. *Steps to reproduce this issue:* 1) Install AEM 6.5 with sample content 2) Create a new XF fragment 3) Add an XF component to a page and pick the previously created XF fragment 4) Install Sling Dynamic Include via the OSGI Console 5) Configure Sling Dynamic Include via OSGi Console {code:java} Enable = true resource types = cq/experience-fragments/editor/components/experiencefragment {code} 6) Confirm we get a virtual include via curl {code:java} curl -u admin:admin -H "Server-Agent: Communique-Dispatcher" http://localhost:4502/content/we-retail/language-masters/en.html {code} {code:java} ... <!--#include virtual="/content/we-retail/language-masters/en/_jcr_content/root/responsivegrid/experiencefragment.nocache.html" --> ... {code} 7) Do the change from child.path to child.resource via CRX/DE on {code:java} /libs/wcm/foundation/components/responsivegrid/responsivegrid.html line 27 {code} 8) Confirm we get a wrong virtual include path via curl {code:java} curl -u admin:admin -H "Server-Agent: Communique-Dispatcher" http://localhost:4502/content/we-retail/language-masters/en.html {code} {code:java} ... <!--#include virtual="/content/we-retail/language-masters/en/_jcr_content/root/responsivegrid/experiencefragment.nocache.html/cq/experience-fragments/editor/components/experiencefragment" --> ... {code} was: When upgrading AEM Service Pack 11 to Service Pack 18 we noticed issues with Sling Dynamic include. The virtual include paths contained the resourcetype as a postfix to the path where we did not expect that. We traced it back to the the includeTagFilter.java thinking the resource is synthetic in the buildUrl method: {code:java} private String buildUrl(Configuration config, SlingHttpServletRequest request) { final Resource resource = request.getResource(); final boolean synthetic = ResourceUtil.isSyntheticResource(request.getResource()); return UrlBuilder.buildUrl(config.getIncludeSelector(), resource.getResourceType(), synthetic, config, request.getRequestPathInfo()); } {code} We contacted Adobe Support and they reported that they did make a change in the responsivegrid.html in Service Pack 13. Service pack 11 responsivegrid.html {code:java} ... <sly data-sly-test="${!isAllowedApplicable}" data-sly-repeat.child="${api.paragraphs}" data-sly-resource="${child.path @ decoration='true', cssClassName=child.cssClass}"></sly> ... {code} Was changed in Service pack 13 to: {code:java} ... <sly data-sly-test="${!isAllowedApplicable}" data-sly-repeat.child="${api.paragraphs}" data-sly-resource="${child.resource @ decoration='true', cssClassName=child.cssClass}"></sly> ... {code} Because Adobe is not officially supporting Sling Dynamic Includes hence i'm creating this ticket. As a temporary workaroud we overlayed the reponsivegrid.html with the SP11 version to mitigate this issue. *Steps to reproduce this issue:* 1) Install AEM 6.5 with sample content 2) Create a new XF fragment 3) Add an XF component to a page and pick the previously created XF fragment 4) Install Sling Dynamic Include via the OSGI Console 5) Configure Sling Dynamic Include via OSGi Console {code:java} Enable = true resource types = cq/experience-fragments/editor/components/experiencefragment {code} 6) Confirm we get a virtual include via curl {code:java} curl -u admin:admin -H "Server-Agent: Communique-Dispatcher" http://localhost:4502/content/we-retail/language-masters/en.html {code} {code:java} ... <!--#include virtual="/content/we-retail/language-masters/en/_jcr_content/root/responsivegrid/experiencefragment.nocache.html" --> ... {code} 7) Do the change from child.path to child.resource via CRX/DE on {code:java} /libs/wcm/foundation/components/responsivegrid/responsivegrid.html line 27 {code} 8) Confirm we get a wrong virtual include path via curl {code:java} curl -u admin:admin -H "Server-Agent: Communique-Dispatcher" http://localhost:4502/content/we-retail/language-masters/en.html {code} {code:java} ... <!--#include virtual="/content/we-retail/language-masters/en/_jcr_content/root/responsivegrid/experiencefragment.nocache.html/cq/experience-fragments/editor/components/experiencefragment" --> ... {code} Priority: Major (was: Minor) Temporary workaround overlaying the responsivegrid.html with the previous version is causing other issues in our site, so it is not considered a good workaround. Because of this there is currently no solution to prevent major loss of function on AEM 6.5.13+. As a result of this I Increased Priority to Major. > Incorrect virtual include path when passing resource to data-sly-resource > ------------------------------------------------------------------------- > > Key: SLING-12043 > URL: https://issues.apache.org/jira/browse/SLING-12043 > Project: Sling > Issue Type: Bug > Affects Versions: Dynamic Include 3.3.0 > Environment: Adobe Experience Manager On Premise 6.5 with Service > Pack 13 or higher > Reporter: Ben Oeyen > Priority: Major > > When upgrading AEM Service Pack 11 to Service Pack 18 we noticed issues with > Sling Dynamic include. The virtual include paths contained the resourcetype > as a postfix to the path where we did not expect that. > We traced it back to the the includeTagFilter.java thinking the resource is > synthetic in the buildUrl method: > {code:java} > private String buildUrl(Configuration config, SlingHttpServletRequest > request) { > final Resource resource = request.getResource(); > final boolean synthetic = > ResourceUtil.isSyntheticResource(request.getResource()); > return UrlBuilder.buildUrl(config.getIncludeSelector(), > resource.getResourceType(), synthetic, config, request.getRequestPathInfo()); > } {code} > We contacted Adobe Support and they reported that they did make a change in > the responsivegrid.html in Service Pack 13. > Service pack 11 responsivegrid.html > {code:java} > ... > <sly data-sly-test="${!isAllowedApplicable}" > data-sly-repeat.child="${api.paragraphs}" > data-sly-resource="${child.path @ decoration='true', > cssClassName=child.cssClass}"></sly> > ... {code} > Was changed in Service pack 13 to: > {code:java} > ... > <sly data-sly-test="${!isAllowedApplicable}" > data-sly-repeat.child="${api.paragraphs}" > data-sly-resource="${child.resource @ decoration='true', > cssClassName=child.cssClass}"></sly> > ... {code} > Because Adobe is not officially supporting Sling Dynamic Includes hence i'm > creating this ticket. > -As a temporary workaroud we overlayed the reponsivegrid.html with the SP11 > version to mitigate this issue.- This workaround is causing other issues so > should not be applied. > *Steps to reproduce this issue:* > 1) Install AEM 6.5 with sample content > 2) Create a new XF fragment > 3) Add an XF component to a page and pick the previously created XF fragment > 4) Install Sling Dynamic Include via the OSGI Console > 5) Configure Sling Dynamic Include via OSGi Console > {code:java} > Enable = true > resource types = cq/experience-fragments/editor/components/experiencefragment > {code} > 6) Confirm we get a virtual include via curl > {code:java} > curl -u admin:admin -H "Server-Agent: Communique-Dispatcher" > http://localhost:4502/content/we-retail/language-masters/en.html {code} > {code:java} > ... > <!--#include > virtual="/content/we-retail/language-masters/en/_jcr_content/root/responsivegrid/experiencefragment.nocache.html" > --> > ... > {code} > 7) Do the change from child.path to child.resource via CRX/DE on > {code:java} > /libs/wcm/foundation/components/responsivegrid/responsivegrid.html line 27 > {code} > 8) Confirm we get a wrong virtual include path via curl > {code:java} > curl -u admin:admin -H "Server-Agent: Communique-Dispatcher" > http://localhost:4502/content/we-retail/language-masters/en.html {code} > {code:java} > ... > <!--#include > virtual="/content/we-retail/language-masters/en/_jcr_content/root/responsivegrid/experiencefragment.nocache.html/cq/experience-fragments/editor/components/experiencefragment" > --> > ... > {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)