[
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)