Dynamic Workflow Solution Starter = Project Nerd Candy

This thing is SO cool.  Using this tool you can create simple sign-off type linear workflows without having to write any code!

Example scenario:

I have a customer that wants to allow any users to enter new project proposals. Then they want to require that a member of a certain security group approves before it moves to the next stage. Then in that stage some more information gets added and then again members of a specific group need to approve before it moves to the next stage.

This tool walks you through setting up this exact scenario without even having Visual Studio installed! Sure you need  Visual Studio and developer skills to do the complex stuff but this makes sure that you can do the nice clean linear ones by yourself.

So here is how to install the tool and then use it to create a workflow for the scenario above.

Installation

  1. Download the ‘deployment.zip’ file and unzip it to the location of your choice
  2. Find the DynamicWorkflow folder. Within it open the Deployment folder
  3. Right click on the DeployPowerShell.cmd file and click Edit
  4. Change the site url parameter to the url for your Project Server 2010 instance. In my case https://project.contoso.com/PWA/
    image
  5. Close and Save
  6. Double click on the DeployPowerShell.cmd file
  7. Once it is complete your command prompt window should look like this:
    image
    If it does then you are finished with the installation.

Configuring a New Workflow

Now we can use this new tool to create our workflow. But first remember that you need to have created your stages and PDPs first. The tool will be asking you to place your stages in a specific order and then setup several properties for them that will control how the workflow will work. So, you need to set them up first.

  1. Create your Enterprise Project Type (EPT), Phases, Stages and Project Detail Pages to create the basic stage flow for your workflow.
  2. Navigate to this url: https://server_name/pwa_name/_layouts/WrkSetng.aspx or in my case im using the demo virtual machine so I will be using this url: https://project.contoso.com/PWA/_layouts/WrkSetng.aspx
  3. Click “Add a workflow”
    image
  4. In the Workflow section select “DM Dynamic Workflow”
  5. In the Name section give your workflow a unique name. You will select this name in the Enterprise Project Type definition page when you associate it with a workflow
  6. In the Task List and History List select which SharePoint list to use for the approval task list and the history list. The defaults used by Project Server are “Project Server Workflow Tasks” and “Project Server Workflow History”. I, personally, would generally pick these so that all the workflow tasks from all the workflows show up in the same list. If your particular deployment calls for different EPT workflow tasks to show up in separate lists then you can specify them here.
  7. The Start Options section lets to specify how the workflow can be started.
  8. Click the Next button to start laying out the actual steps and how they are ‘workflowed’ together.
    image
  9. From the Stage Selection drop down pick the first stage that should appear in your workflow. In my sample I have created a stage called Stage 1.
  10. Stage Status message lets you provide some text that will be displayed on the status web part. It can be instructions or some other text of your choice.
  11. Force Submit on Stage: if this is “Yes” then the user MUST hit Submit. If it is ‘No’ then once the required fields are filled in and the project is saved it is automatically submitted. For my needs I want ‘No’ so that the user that is entering the proposal does not have to any special actions other than hitting save.
  12. Approval Settings. Here is the cool part. Here you get to specify a group, number of groups or specific users that need to approve before the project can make it to the next stage. You can also specify three types of approval.
    1. First Response
      Here once the very first person approves, the project is moved to the next stage
    2. Majority
      Here a majority of those specified need to approve. So if you specify a group that has 14 people in it then once 8 people have approved then the project is moved to the next stage
    3. Consensus
      This one means that ALL of the specified users need to approve. So all 14 users would need to approve.
  13. Filter Approves by Department
    This is also cool because it means that if you specify a department in the stage and then specify a group like Executives that only executives that are in the same department as the project will be counted among the approvers.
  14. You can now hit the Add Stage button and repeat this process for all your stages.
  15. Once you have all your stages in place hit submit and the solution creates all the code for your selections.
  16. Now you need to go to your Enterprise Project Type and specify the workflow you just created as the Workflow for that EPT.
  17. You are done. You have an awesome approval workflow without having to be a developer.

The main page for the solution starters also has links for some great videos. Two that walk through the different elements of the solution starters in general. Then four others that do detailed code walkthroughs.

Check this thing out. It could save you a HUGE amount of time and trouble if you need a simple workflow.