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

[AEMaaCS] Unlock page automatically after workflow termination

Avatar

Level 2

Hello guys ,

 

How can we unlock a page automatically just after its workflow is terminated manually ? 

 

thanks , 

Rahul Kumar

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi Both,

There is already OOTB Lock/Unlock Steps available, you can use that in order to lock page

 

Workflow Steps:

1. Workflow Initaite

2. Approval Step

3. Lock

4. Activate/Deactivate

5. Unlock

 

arunpatidar_0-1727274669109.png

 



Arun Patidar

View solution in original post

4 Replies

Avatar

Community Advisor

Are you using any custom workflow?

 

Generally to lock or unlock a page through code- 

// To Lock a page
PageManager pageManager = resourceResolver.adaptTo(PageManager.class);
Page page = pageManager.getPage("/content/myPage");
pageManager.lock(page);

// To Unlock a page
pageManager.unlock(page);

 

If you are using a custom workflow - you have to add workflow step:

 

@Override
public void execute(WorkItem workItem, WorkflowSession workflowSession, MetaDataMap args) throws WorkflowException {
try {
ResourceResolver resourceResolver = workflowSession.adaptTo(ResourceResolver.class);
PageManager pageManager = resourceResolver.adaptTo(PageManager.class);
String path = workItem.getWorkflowData().getPayload().toString();
Page page = pageManager.getPage(path);
if (page != null && pageManager.isLocked(page)) {
pageManager.unlock(page);
}
} catch (Exception e) {
throw new WorkflowException("Failed to unlock page", e);
}
}

Avatar

Correct answer by
Community Advisor

Hi Both,

There is already OOTB Lock/Unlock Steps available, you can use that in order to lock page

 

Workflow Steps:

1. Workflow Initaite

2. Approval Step

3. Lock

4. Activate/Deactivate

5. Unlock

 

arunpatidar_0-1727274669109.png

 



Arun Patidar

Avatar

Level 2

Hi @SureshDhulipudi , thank you  for reply . We are using custom workflow and we have already incorporated code to lock and unlock pages in our code and its working fine . 

And we have also one workflow (Unlock a page ) available but we have to do it manually for each page and in our case only admins and developers can use this workflow . Content authors are not able to see this workflow .

 

Is there a way to unlock a page automatically just after workflow is terminated for the same page from tools -> workflow -> instances -> select the workflow which needs to be terminated -> TERMINATE option (top-left most option )  ?

Avatar

Administrator

@RahulKu8 Did you find the suggestions helpful? Please let us know if you require more information. Otherwise, please mark the answer as correct for posterity. If you've discovered a solution yourself, we would appreciate it if you could share it with the community. Thank you!



Kautuk Sahni