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;
When using 2nd and 3rd method we are able to rollout the page but the references will not get updated to the corresponding locale.
This is because we are not providing the rollout trigger in 2nd and 3rd methods, so referenceUpdate action 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);
Thank you for sharing this.
Views
Replies
Total Likes