[ https://issues.apache.org/jira/browse/SLING-9174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kunal Mittal updated SLING-9174: -------------------------------- Attachment: (was: DynamicInclude-Cache.png) > Add option to replace component path to experience fragment variation path > -------------------------------------------------------------------------- > > Key: SLING-9174 > URL: https://issues.apache.org/jira/browse/SLING-9174 > Project: Sling > Issue Type: Improvement > Components: Extensions > Affects Versions: Dynamic Include 3.1.6 > Reporter: Kunal Mittal > Priority: Major > Attachments: Dynamic-Include-Cache.png > > Time Spent: 50m > Remaining Estimate: 0h > > The SDI module currently includes the path of the component in the SSI > directive which creates the cache under the page where the component is > added. > There are number of cases where we create content which gets reused across > the website. In order to achieve reusability, we create proxy components > which in turn makes a call to the reusable content pages. > *EXAMPLE* > Proxy component: banner-proxy > Reusable content page: /content/sdi/us/en/content/banner > Pages: /content/sdi/us/en/test-sdi1, /content/sdi/us/en/test-sdi2 > The banner-proxy component exists on both pages: test-sdi1 and test-sdi2 page > to render /content/sdi/us/en/content/banner. > If we enable SDI and enable caching for banner-proxy component then 2 cache > entries get created: > /content/sdi/us/en/test-sdi1/_jcr_content/root/banner-proxy and > /content/sdi/us/en/test-sdi2/_jcr_content/root/banner-proxy > When any change is made to /content/sdi/us/en/content/banner page, it should > reflect the changes on test-sdi1 and test-sdi2 page for which we need to > write extra code to find the occurrences of where the proxy banner component > is used to evict the cache. > With the enhancement as the SSI directive includes the path of the content: > /content/sdi/us/en/content/banner, the system creates a single cache entry > for the pages where it is referenced in. When the page is published, the > cache will be evicted which will be reflected on all the pages. > > *Benefits*: > # Performance > ** Considerably reduces the number of calls to Publisher > # Cache Optimisation > ** No custom code to invalidate cache entries created under every page > *Current implementation*: > {code:java} > ## Directive added in the page after processing of SDI > <!--#include > virtual="/content/sdi/us/en/test-sdi1/_jcr_content/root/banner-proxy.nocache.html" > --> > {code} > *Enhancement*: > {code:java} > ## Directive added in the page after processing of SDI > <!--#include virtual="/content/sdi/us/en/content/banner.content.nocache.html" > --> > {code} > Below are the differences when it comes to caching: > !Dynamic-Include-Cache.png|width=1770,height=956! -- This message was sent by Atlassian Jira (v8.3.4#803005)