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.
Please use this thread to ask the related questions.
You can invalidate the page cache as well using acs common similer to conf
Then you will not face issues with caching when publishing global content.
If other use cases are required then SDI can be implemented.