Experience Fragment issue in Dispatcher | Community
Skip to main content
rupalig70586203
Level 2
Sep 21, 2018 3:38 PM UTC
Solved

Experience Fragment issue in Dispatcher

Hi,

When we are publishing experience fragment only, its not updating the page in which we are using that XF in dispatcher.

Below are the steps we have followed:

  • Create and edit an XF and publish it.
  • Create a page and add XF created in previous step and publish the page.
  • Now edit the XF and publish it. Do not publish page.

In publisher, we are able to see the the XF content updated in page even if it is not published. But in dispatcher we are seeing old content only.

Please suggest if we need any configuration change for this.

Thanks!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
anujg3325839
anujg3325839Accepted solution
Employee
Sep 21, 2018 5:08 PM UTC

dispatcher flush listeners get triggered when a replication/publish request get initiated. In your case no activation, hence no dispatcher flush. You need to publish the page after XF change to get cache updated or write your own listeners.

9 replies

Employee
Sep 30, 2020 3:30 PM UTC

Hello,

 

The exact behaviour of the dispatcher in this situation will depend on your configuration:

  1. Is the dispatcher configured to use TTLs (via the `/enableTTL` setting)?
  2. Or, is it using .stat file based invalidation with a dispatcher flush agent?

In case #1 above, the time-to-live on the content in question (often set with the ACS AEM Commons Dispatcher TTL feature) will need to expire before the page will be "refetched" from the publish tier.

 

In case #2, .stat files will be "touched" in the cache (to update their last modified timestamp) when the dispatcher flush request is received. The exact stat file(s) which are touched will depend on the `/statfileslevel` configuration. A value of "1" in this case should work, but may cause additional unnecessary load on the publish tier by re-rendering pages which are otherwise unrelated to the published XF. 

 

Another approach to case #2 would be to leverage the ACS AEM Commons Dispatcher Flush Rules feature to create "smarter" flushing schemes, which could flush your HTML content at specific paths when an XF is published.

 

Translate
sawan051
Level 3
Feb 3, 2023 3:24 PM UTC

In case anyone still looking, this behavior is supported out of the box in AEM now.

 

6.5 onwards, if you activate an XF, page referencing the XF will be flushed from dispatcher.

Translate
New Participant
Sep 30, 2020 2:01 PM UTC

Is there any solution for this? I am facing the same issue for content fragment as well.

 

Thanks

Translate
BrianKasingli
New Participant
Dec 17, 2019 10:34 PM UTC

Hello @rupalig70586203,

AEM does not provide out of the box solutions to flush (re-activate) pages that have a reference to the experience fragment. You need to create your own solution.

One technique can be, on a non-heavy load website, After re-publishing an experience fragment, you can contact your cloud engineering team to flush the entire cache of your website. But keep in mind, the CPU consumption of your publishers will be affected negatively, especially if you have heavy user activity at the given time.

Another technique, as a quick solution for clearing experience fragment cache, is to have the authors use the touch UI, "manage publication", to republish all pages. However, this action will also publish site pages that are currently being edited.  

Check out this website for more caching experience fragment techniques and ideas: https://sourcedcode.com/caching-experience-fragments-with-aem-sites-6-5

Translate
Gaurav-Behl
Level 10
Jan 22, 2019 9:36 PM UTC

One of the solution that works is ACS Commons Dispatcher Flush Rules

Translate
Level 2
Dec 17, 2019 5:44 PM UTC

--

Translate
New Participant
Jan 22, 2019 8:26 PM UTC

We ran into a similar issue, where the fragment is used in multiple pages, obviously it's a big pain having to re-publishing all of the pages whenever the fragment is changed. Is there a config that would invalidate all of the pages whenever the fragment's updated?

Translate
anujg3325839
anujg3325839Accepted solution
Employee
Sep 21, 2018 5:08 PM UTC

dispatcher flush listeners get triggered when a replication/publish request get initiated. In your case no activation, hence no dispatcher flush. You need to publish the page after XF change to get cache updated or write your own listeners.

Translate