Expand my Community achievements bar.

Efficiently Caching : Experience Fragments on dispatcher | AEM Community Blog Seeding

Avatar

Administrator

3/21/21

BlogImage.jpg

Efficiently Caching : Experience Fragments on dispatcher by AEM Concepts

Abstract

Problem
Suppose you are using XF/Experience Fragments included in template for Header and footer. Header and Footer XF are included in the template structure. XF are not getting updated on the pages since the content pages are cached with header and footer html’s as part of the pages. So only updating the XF wont invalidate the pages. The entire content hierarchy would need to be invalidated to see the updated XF content on pages.



Approach
SDI can be used in this case. All pages would reference a single html file at a shared location. Once XF is activated the shared file will be invalidated and updated. Since the content pages are just referencing the shared file they would also show updated content.

SDI setup is Only required on Publish.

The XF html will be included as a server side includes in the template as a separate request to a XF with xf selector. This will be get cached on the dispatcher below /conf.

Cache will be invalidated using acs commons dispatcher cache flush osgi config, once the XF are published.

Enable commenting to see the below comments in page source.


Implementation
Sling dynamic include jar is NOT available in aem osgi ootb. So we need to deploy the jar to osgi.

Add dependency in parent pom and demo.all pom.

Read Full Blog

Efficiently Caching : Experience Fragments on dispatcher

Q&A

Please use this thread to ask the related questions.

6 Comments