A key problem that users encounter with Nintex Workflow for Project Server (NW4PS) is the concept of project check-ins and check-outs. Whenever a project is being edited by a user, the project is checked out, stopping any changes and actions being performed to the project, including updates via NW4PS workflow.
In the case of Nintex Workflow for Project Server, the update actions have a retry capability, but once the max number of retries has been met, an error will be raised and the workflow terminates (with a Check-in/Check-out error).
The best way to get around this is to train users to check projects back in. However, there are legitimate instances where the project should remain checked out and as such, workflows should be designed to cater for this.
The workflow to the left does just this: it performs a check to see if the project is checked out and then either proceeds if it is checked in, or raises a “To-do task” if the workflow is checked out.
The key is the Query Project Server action. This action performs a lookup against the WORKING (DRAFT) database in Project Server to see if the project is checked out.
The Set a condition action then does a check on the ProjectCheckedOut variable:
- If it is blank, the project is not checked out.
- If it is not blank, then the project is checked out.