Get pages residing in a workflow state

Some time ago we used in one of our projects a workflow setup with an addional release check for created pages. The amount of pages currently at any state was quite high, so I added some functions to access pages currently in workflow.

RedDot CMS offer a two ways approach accessing pages in workflow:

  1. global – in SmartTree on Project node and
  2. per user – in Tasks

Accessing pages from a global point of view jRQL offers the following methods on project.

String logonGuid="0904ABF0E43443D2881FE7481339650E";
String sessionKey="490EC675042F4C5A8A6DF1ED63ADD7A6";
String projectGuid="268F46EF5EB74A75824856D3DA1C6597";

CmsClient client = new CmsClient(logonGuid);
Project project = client.getProject(sessionKey, projectGuid);

project.getAllPagesSavedAsDraft();
project.getAllPagesWaitingForCorrection();
project.getAllPagesWaitingForRelease();

These getAll methods all returns a PageArrayList for iterating.

If you want to offer a plugin for the author which pages he has in workflow use the author’s login information to create the CmsClient and Project and use one of the following methods:

User connectedUser = client.getConnectedUser();
connectedUser.getPagesSavedAsDraft(project);
connectedUser.getPagesWaitingForCorrection(project);
connectedUser.getPagesWaitingForRelease(project);
connectedUser.getMyPagesInWorkflow(project);

All these methods return a PageArrayList also.  Use one of these methods now to find out all pages the author currently has in the respective workflow state.

If you look at the workflow as a member of the user group able to release pages create a CmsClient and Project with your login information and use getPagesWaitingForRelease() to process them.

Advertisements
Post a comment or leave a trackback: Trackback URL.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: