How to Create a High-Level Project Server 2013 Workflow Design Pattern

Posted By Posted by: EPM Partners on August 20, 2014

Below is a reusable pattern for the design of Project Server 2013 / SharePoint Designer 2013 based approval workflows. This applies also to Microsoft Project Online. It covers the maintenance of Steps, Actions and Conditions in the preparation of a multi-stage approval workflow, including workflow status and history list updates and branching logic.

Documenting workflow design using this approach assists stakeholders in comprehending business rules and general conditional logic followed during the implementation of a Project Server 2013 based PPM solution.

In the simple example below, Project Server 2013 Stages (via Server Settings > Manage Stages) have already been created, and projects have been categorised by Department (built-in lookup table / filter) being either a “Business” or “IT” Departmental project. The Department categorisation creates a logic branch – determining the SharePoint “Approval” Group to send emails and/or create SharePoint workflow tasks – for this reason it is highly recommend to set this field as mandatory for all projects.

1. Start by opening Microsoft SharePoint Designer 2013 and then opening your Project Web App site, navigating to the “Workflows” section of the user-interface

2. Click on the “Site Workflow” button to create a new site-based workflow – being sure to select the “SharePoint Workflow 2013 – Project Server” platform

Add a new site workflow to your site

3. Add “1.0 Idea” Stage (stage pre-defined in PWA > Server Settings > Manage Stages)

4. Add “Set Workflow Variable” Action – Set Variable “ProjectCenterURL” to “http://www.yourcompany.com/pwa/projects.aspx”

5. Add “Set Workflow Variable” Action – Set Variable “CurrentStage” to “1.0 Idea”

6. Add “Log to History List” Action – Log “Project entered [%Variable:CurrentStage%] to the workflow history list

7. Add “Include this stage” Condition – If Project Web App starts the workflow normally or restarts the workflow and includes this stage

a. Add “Wait for Project Event” Action – Wait for Event: When project is “submitted”

b. Add “Set Project Stage Status” Action – Set the current project stage status to “WaitingForApproval” with status information: “Pending Idea Approval”

c. Add “Set Workflow Variable” Action – Set Variable “IdeaApproved” to “No”

d. Add “If any value equals value” Condition – If [Project Data:Project Departments] equals “Business” (logic branch using built-in Departments custom field lookup table – note that using other text-based lookup tables are currently not supported – http://office.microsoft.com/en-au/help/project-server-2013-known-issues-HA102919020.aspx)

i. Add “Assign a task” Action – Assign a task to “Approvers-Business” (Task outcome to Variable: IdeaApproval-Business | Task ID to Variable:TaskID1) – Note that “Approvers” group is a pre-defined SharePoint security group representing approval email & workflow task recipients

ii. Add “If any value equals value” Condition – If IdeaApproval-Business equals 0

1. Add “Set Workflow Variable” Action – Set Variable “IdeaApproved” to “Yes”

e. Add “Else Branch”

i. Add “Assign a task” Action – Assign a task to “Approvers-IT” (Task outcome to Variable: IdeaApproval-IT | Task ID to Variable:TaskID1) – Note that “Approvers” group is a pre-defined SharePoint security group representing approval email & workflow task recipients

ii. Add “If any value equals value” Condition – If IdeaApproval-IT equals 0

1. Add “Set Workflow Variable” Action – Set Variable “IdeaApproved” to “Yes”

f. Add “If any value equals value” Condition – If “IdeaApproved” equals “Yes”

i. Add “Set Project Stage Status” Action – Set the current project stage status to “WaitingForInput” with status information: “Idea Approved”

8. Add “Transition to Stage”

9. Add “If any value equals value” Condition – If “IdeaApproved” equals “Yes”

a. Add “Go to Stage” Action – Go to “2.0 Plan” (next logical stage in delivery workflow)

10. Add “Else Branch”

a. Add “Go to Stage” Action – Go to “1.0 Idea” (assumes “Rejected” so return to start of current stage – repeat until “Approved” – this could be further enhanced with a rejected controlling logic branch)

11. Now repeat variations of this workflow logic for each additional stage within your delivery methodology.

Quick tip – you can copy/paste whole branches of workflow logic for successive stages – making the remaining stages less tedious to configure.

Good luck with your next Project Server 2013 (SharePoint Designer based) workflow solution.

Use this page to view and manage settings for this workflow

 


Blog Posted In Blog Posted In: How to, Project Server
Blog Posted In 

Leave a Reply

Your email address will not be published. Required fields are marked *