prasannaadavi

Nintex for Project Server: Automate the Check-In of Projects checked out for too long

Blog Post created by prasannaadavi on Mar 28, 2016
Here is another post in my series about use cases for Nintex for Project Server.
If you are a Project Server Administrator, you will know that One of the most common system governance items is the handling of the projects that have been checked out for too long. I have discussed the reasons why projects need to be checked in timely, here.
There could be some projects that are checked out for a period of time, for legitimate reasons, but more often than not, it is the forgetful project manager, who forgot to check their project in.
In an environment that spans thousands of users, the number of these projects that remain checked out too long, just keeps increasing. It is a common practice for the admins to take care of the force check-ins manually, but what if we could automate the process?
Thankfully, Nintex has some cool functions that allow use to automate this process. So, let’s look at building a workflow that will help us in this process.

Step 1: Build the workflow

  • Start by navigating to Nintex Workflow 2013 >> Create a Site Workflow
  • Build the workflow with each of the steps as described. Each of the “Configuration” links will give you the configuration for each of the actions.

                   


We   start with the Query Project Server, to get a list of ALL project UIDs, and   store them into a collection variable.
Next,   start a collection operation using the For Each operation, so that we can   look at each Project GUID that we collected in the previous step.
For   each of the Project UID, Query Project Server, to query for   projects that are checked out. We will get the values “Checked Out date”, “Checked   Out By”, and “Project Owner”
Set   a variable, to calculate the difference between the current date and the date   the project was checked out. This should be based on the policy of your   organization.
Once   we get the data for each project, we would want to handle only the projects   that have been checked out for more time than dictated by the organizational policy.   To do that, we use the Run If action, and specify the   conditions as shown in the configuration.
For   the projects that are identified, as the offenders, you can decide what you   want to do. You can send the Project Owner a notification to let them know   that the project is being checked in because it has exceeded the amount of   time that a project can remain checked out. Alternatively, you could also add   a reminder to check the projects in, and then pause for some more time to let   them check in the project. I am not handling this scenario in my workflow   example here.
Now   comes the real meat of the process, the actual Force Check-In.  Nintex allows us to interact with the PSI   web Services which allow us to force check-in the project without manually   having to do it.
We   will use the Call Web Service action, and call the QueueCheckin web   method, to check the project in. Configure it as shown the configuration   image.
That’s pretty much it, on the building of the workflow. Now we will need to schedule the workflow, so that the process is fully automated.

Step 2: Schedule the Site Workflow

Now navigate to Nintex Workflow 2013 >> Schedule Site Workflows and click on Add Schedule

Fill out the details and schedule your workflow, per your requirement. Click Save.

 

That’s it. Now the Site workflow will check for checked out projects with whatever frequency you have scheduled it for, and send reminders, and then force check-in the projects.
The full workflow file can be downloaded here: Force Check-In Projects
As mentioned before, you can enhance this workflow to add more details like a reminder service, a report generated AFTER the projects have been checked in and so on... the possibilities are limitless.

Whew! One less thing the project server admin has to worry about!

Outcomes