Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Dedicated dispatcher flush agent for a path

Avatar

Level 3

Hello All,

In my AEM web site there is a special folder called templates (/content/my-site/templates) which contains pages which are actually email templates. We have a different system called CNS (customer notification system) which use this pages as a template and compos the EMails with customer data. For better performance the template html is cached by CNS server. So when ever content manager change some templates I have to notify the CNS system to invalidate the cache. CNS system has a REST API for invalidating the cache. So I configured a Dispatcher Flush agent to call the CNS Rest API.

So far the things are working as fine except some unwanted invalidate calls. The problem is the agent get triggered for every paths. Is there any way to make this agent trigger only for the changes under a given path (/content/my-site/templates).

Or please suggest a better approach.

Any help is highly appreciated.

Regards

Denny

1 Accepted Solution

Avatar

Correct answer by
Employee

When you set up your Dispatcher flush agent, use the property "Agent User Id" and specify a user that will be reading the content and flushing it. You will need to create this new user and configure the user to only have read permission on the path(s) that you want this user to flush (e.g. /content/my-site/templates).

View solution in original post

4 Replies

Avatar

Employee

You can use the  /statfileslevel  property in dispatcher configuration to invalidate cached files according to their path.

Configuring Dispatcher

Avatar

Correct answer by
Employee

When you set up your Dispatcher flush agent, use the property "Agent User Id" and specify a user that will be reading the content and flushing it. You will need to create this new user and configure the user to only have read permission on the path(s) that you want this user to flush (e.g. /content/my-site/templates).

Avatar

Level 3

Hi Denny,

flush send a GET HTTP request with content path in its header. to make it path specific .. as explaind above post.

create a user whihc has access for the path (/content/my-site/templates) not for anything else, configure this user under agent ID. This will let the all other path fail while reading via dispatcher flush agent user. and only the relevent path will be invaladated.