content fragments caching, publishing governance | Community
Skip to main content
sreenu539
Level 7
April 18, 2024
Solved

content fragments caching, publishing governance

  • April 18, 2024
  • 3 replies
  • 960 views

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

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by RikVanB

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

3 replies

Shashi_Mulugu
Community Advisor
Community Advisor
April 19, 2024

@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-fragments-delivery-feature-video-use

#3 no

#4 we can manage these with ACL management

RikVanB
RikVanBAccepted solution
Level 2
April 19, 2024

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

Shashi_Mulugu
Community Advisor
Community Advisor
April 22, 2024

@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