Tuesday, November 3, 2009

Custom Workflow in Project Server 2007 - Part 1



Workflow is a powerful way to guide business processes. As Project Server 2007 is hosted in WSS , so by default it allow us to create workflow for WSS object such as Document Library , Lists . Project Server 2007 does not provide us an ability to build direct workflows around Project Server objects. For example there may be some business need to have an workflow on server side process e.g. workflow on project Publishing.
We can accomplish this with the help of a server-side event handler & a WSS list workflow. A server side event listener can capture the event for that process and cancel it. It then kicks off a workflow in WSS by altering a list item. After a workflow condition has been met, the workflow can re execute the operation.

For exploring the workflow in EPM , we will take an example of a business process (Project Publishing Workflow ) where an approval is required on project publishing. Project managers are required an approval from a program manager or a Delivery Manager before publishing any project. In this scenario the workflow steps may be look like this-

  1. Project Manager Creates a Project and send an approval request email to Program manger

  2. Program manager will then analyze the schedule and Approve/reject the request. And send an notification to requestor

  3. In case of approve , project manager will publish the project.



With the help of an project server event handler , a WSS list workflow & Project server Interface(PSI), we can create an automated workflow which will accomplish the above task in following steps

  1. Project manager create and publish a project

  2. An event handler ,attached to a Project Publishing server side event, will cancel the process and add an item in a WSS list.

  3. WSS list item kickoff a custom workflow (Automatic workflow on item creation)

  4. The workflow will send an notification to Approver, and wait for the status change

  5. Approver then open the list item and change the status to Approve.

  6. Once the status field is changed , The workflow then Publish the project through the project server 2007 web services(PSI) and send an notification to requestor.







Implementation : Part 2


No comments: