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

AEM - Rollout a page programmatically and update references | AEM Community Blog Seeding

Avatar

Avatar
Establish
Community Manager
kautuk_sahni
Community Manager

Likes

1,164 likes

Total Posts

6,273 posts

Correct Reply

1,144 solutions
Top badges earned
Establish
Coach
Originator
Contributor 2
Contributor
View profile

Avatar
Establish
Community Manager
kautuk_sahni
Community Manager

Likes

1,164 likes

Total Posts

6,273 posts

Correct Reply

1,144 solutions
Top badges earned
Establish
Coach
Originator
Contributor 2
Contributor
View profile
kautuk_sahni
Community Manager

27-04-2021

BlogImage.jpg

AEM - Rollout a page programmatically and update references by Ravipampana

Abstract

Out of the box RolloutManager provides below 3 methods by using that we can rollout the page programmatically.

1) void rollout(RolloutParams params) throws WCMException;

2) void rollout(ResourceResolver resolver, LiveRelationship relation, boolean reset) throws WCMException;

3) void rollout(ResourceResolver resolver, LiveRelationship relation, boolean reset, boolean autoSave) throws WCMException;


But when using 2nd and 3rd method we are able to rollout the page but the link references are not getting updated to the corresponding locale.
This is because we are not providing the rollout trigger in 2nd and 3rd methods, so referenceUpdate is not getting triggered.
In order to update the link references in the rollout page we need to use 1st method and pass/set the required details in RolloutParams class.
Below is example code for setting the RolloutParams

RolloutParams rolloutParams = new RolloutParams();

/** if true, all child pages are updated too */
rolloutParams.isDeep = false;
/** master page to rollout */
rolloutParams.master = targetPage;
/** path of lives copies to update, null to update all */
rolloutParams.targets = new String[] {relationship.getTargetPath()};
/** if true, Live Copy is completely reset */
rolloutParams.reset = true;
/** rollout trigger. It can be other rollout as per the requirements */
rolloutParams.trigger = RolloutManager.Trigger.ROLLOUT;
rolloutManager.rollout(rolloutParams);

Read Full Blog

AEM - Rollout a page programmatically and update references

Q&A

Please use this thread to ask the related questions.

AEM AEMEBlogSeeding Experience Manager