Expand my Community achievements bar.

AEM 6.3: workflowSession return all workflows (also those started by others)

Avatar

Level 2

I want to show all workflow instances on http://localhost:4502/libs/cq/workflow/admin/console/content/instances.html . At the moment it will only show the instanced linked to the user that I currently logged in.

The datasource file (/libs/cq/workflow/admin/console/components/datasource/workflowinstancedatasource/workflowinstancedatasource.jsp) has the following code:

ResultSet<Workflow> resultSet = workflowSession.getWorkflows(states, offset, limit);

The documentation states the following:

How can I get it to return all the workflows not taking into account the access?

PS: I tried using the following but that also takes in account the access:

workflowSession.getAllWorkflows();

Greetings

Jeroen

6 Replies

Avatar

Level 10

The information is stated in the docs here:

com.adobe.granite.workflow.WorkflowSession

Workflow[] getAllWorkflows() returns all worflows that the current workflow session has access to. 

YOu cannot get instances for which the wf session cannot access.

Avatar

Employee Advisor

IIRC the "standard" workflow session uses an admin session internally.

Jörg

Avatar

Level 2

I now use the service user session but I am still not able to get other users workflow instances, any ideas?

Avatar

Level 2

In Adobe Experience Manager Help | Retrieving AEM Workflow information using the Workflow API they use the following code:

ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null);

When I use it that way it works, it returns all workflows even those created by other users. But of course 'getAdministrativeResourceResolver' is deprecated so how would one make this work now. My service user (that I gave all possible permissions) is still not able to retrieve all using the workflowSession.

Avatar

Level 2

Is there any update to jeroend42683933​ question?

getAdministrativeResourceResolver' is deprecated so how would one make this work now. My service user (that I gave all possible permissions) is still not able to retrieve all using the workflowSession.

Thanks,

Nandhini

Avatar

Level 1

Did you try adding your user/group as a Superuser (cq.workflow.superuser) under 'Adobe Granite Workflow Service' config.

Make sure you have 'RMCD' permissions for '/etc/workflow/instances'