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

content fragments caching, publishing governance

Avatar

Level 7

Hi All,

 

AEM Version: AEM 6.5.17

I have following questions on content fragments to access content fragments as headless for other front end application.

  • Are content fragments by default cached at dispatcher level ?
  • What are the ways to cache content fragments?
  • Are there any security concerns of exposing content fragments through GraphQL end points vs Assets API?
  • Our authors wanted authoring governance such that no accidental publishing, deletion of content fragments happens.

Could some one please provide inputs on above concepts?

 

Thanks,

Sri

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 3

Hi @sreenu539 

 

1. Are content fragments by default cached at dispatcher level?

Depends on how you request your content fragments and what is configured on the dispatcher. If you use POST requests to fetch your Content Fragments through GraphQL, it problably won't be cached. If you create a Persisted GraphQL query, and call that endpoint, then you are doing a GET request and that can be cached through Dispatcher configuration but won't be by default.

 

2. What are the ways to cache content fragments?

Like already described in previous answer, you could configure caching for those endpoints on dispatcher level.

 

3. Are there any security concerns of exposing content fragments through GraphQL end points vs Assets API?

No, generally it's not... It also depends if the content your exposing through GraphQL or Assets API if they include sensitve data, but that depends of the use case.

 

4. Our authors wanted authoring governance such that no accidental publishing, deletion of content fragments happens?

You can configure Permissions for that, so specific user-groups can only replicate, delete, edit or create content fragments.

 

Greetings

Rik

View solution in original post

3 Replies

Avatar

Community Advisor

@sreenu539 please find below response for each question

#1 dispatcher cache always depends on calling patterns not type of content, if we have a get call with an extension we can achieve dispatcher caching.

#2 caas api, graphology api, using CFs part of page content https://experienceleague.adobe.com/en/docs/experience-manager-learn/sites/content-fragments/content-...

#3 no

#4 we can manage these with ACL management

Avatar

Correct answer by
Level 3

Hi @sreenu539 

 

1. Are content fragments by default cached at dispatcher level?

Depends on how you request your content fragments and what is configured on the dispatcher. If you use POST requests to fetch your Content Fragments through GraphQL, it problably won't be cached. If you create a Persisted GraphQL query, and call that endpoint, then you are doing a GET request and that can be cached through Dispatcher configuration but won't be by default.

 

2. What are the ways to cache content fragments?

Like already described in previous answer, you could configure caching for those endpoints on dispatcher level.

 

3. Are there any security concerns of exposing content fragments through GraphQL end points vs Assets API?

No, generally it's not... It also depends if the content your exposing through GraphQL or Assets API if they include sensitve data, but that depends of the use case.

 

4. Our authors wanted authoring governance such that no accidental publishing, deletion of content fragments happens?

You can configure Permissions for that, so specific user-groups can only replicate, delete, edit or create content fragments.

 

Greetings

Rik

Avatar

Community Advisor

@sreenu539 , Did you find the suggestions from users helpful? Please let us know if more information is required. Otherwise, please mark the answer as correct for posterity. If you have found out solution yourself, please share it with the community