Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

SDI with SPA component

navjots90210021
Level 2
Level 2

All data to react (frontend) comes via .model.json, which contains all info of the page. If I want to have a component that should not be cached, rather gets called on every request and then .model.json should always gets updated content, how we can do that ? 

Use case is : On each request, I want to check whether the user is allowed for particular action and then pass that true/false to the model.json so that react does not render the component (want to achieve CUG at component level )

 

Do not wish to create a servlet as this info is required before page rendering and ajax call would delay rendering.

 

Also, can we still add HTL on component in AEM that been mapped with React so that data attributes can be read by react component during rendering ? And then use SDI on that component ?

 

Any pointers ? @Jörg_Hoh 

SPA Sling Dynamic Include SDI
1 Accepted Solution
Jörg_Hoh
Correct answer by
Employee
Employee

Hi,

I wouldn't do that this way, because it can open a security hole. Just call the models.json and let the server-side implementation all the rest. If the user has enough permissions, the "secured" data is included in the model, otherwise it's omitted (or a flag set to false). 

And yes, CUG is working with requests to model.json as well.

View solution in original post

4 Replies
Jörg_Hoh
Correct answer by
Employee
Employee

Hi,

I wouldn't do that this way, because it can open a security hole. Just call the models.json and let the server-side implementation all the rest. If the user has enough permissions, the "secured" data is included in the model, otherwise it's omitted (or a flag set to false). 

And yes, CUG is working with requests to model.json as well.

View solution in original post

navjots90210021
Level 2
Level 2

1. How caching works with SSR ? Looks like, with SSR enabled, the model json should not be cached and same goes with page. Because,  all pages have CUG based components.
2. Is CUG at component level is  OOTB with SSR ? I know page level CUG works OOTB with page model json and therefore in that case also, we can not even cache model json.

 

Jörg_Hoh
Employee
Employee
if you are using CUG on publish, you should use permission sensitive caching on dispatcher (please see the documentation for it). CUG works only on a page level.
Singaiah_Chintalapudi
Community Advisor
Community Advisor

Just a thought: Perform a thorough testing with the SDI. I would prefer writing a schedulers or other approaches instead of using SDI.