Out of the box, Project Server 2010 comes with a “Sample Workflow” which highlights many of the new features found within Project Server 2010 Workflows. The Sample Workflow was designed to help our customers not only just understand what our new workflows can do, but also give customers and partners the initial building blocks to create their customized workflows.
The below videos is a step by step walk through of our Sample Proposal. It will show the end user experience, and highlight the different areas an admin must setup in order for this workflow to fully function.
In addition to the posted videos, attached to this blog you will also find the Visio Diagram of the workflow. Please feel free to use this diagram to assist in traversing the workflow, and as a template for when you are creating your own custom workflow Visio diagrams.
The source code for the Sample Proposal Workflow has been posted within our SDKs. Please download the SDK to get access to the source code. Once you have downloaded the source code, you should be able to modify the workflow logic and upload your own modified version of this sample proposal.
If you have any questions, please leave them in the comments of this blog.
This webcast is pretty interesting but actually we're looking for a sample of how to manage documents within workflow stages.
In our case we should assign documents to the project depending on the project stage and could not find a way to do that.
Probably you could point us where to look for documentation on that matter or simple present one more video?
Thanks Sam. This is very helpful.
First, can the project initiation form be used to allow end users to submit project requests although they won't be managing the projects (a manager within the delivery organizaton will be responsible for it)? That is something we would need within my organization. If not, is there a plug-in that could be used?
Second, can different projects or different project types have completely different sets of users that are the approvers? For example, a particular set of individuals approve all HR projects, a particular set of individuals approve all Telecom projects, etc.?
Thank you for your comments. I'll try and answer each of your questions.
Hi Alexey, if you are trying simply create a document when a project server workflow hits a particular stage you can do this using sharepoint actvities. Sharepoint already has activities for creating assigning documents to a list. I would use these activities right before our workflow enters a particular Project Server stage. And since we provision a sharepoint site automatically for each project, you can use one of the default libraries to assign the document to.
Hi Andy, here are the answers to your questions:
"First, can the project initiation form be used to allow end users to submit project requests although they won't be managing the projects (a manager within the delivery organizaton will be responsible for it)? That is something we would need within my organization. If not, is there a plug-in that could be used?"
- Yes you can do this out of the box. There are several permissions you can take advantage of in order to accomplish this. You can give a user permission to create Projects, but you can not give him permission to open projects. This should accomplish your goal. And by default in Project 2010 all users in the "Team Members" group should be doing this.
"Second, can different projects or different project types have completely different sets of users that are the approvers? For example, a particular set of individuals approve all HR projects, a particular set of individuals approve all Telecom projects, etc.?"
- Yes you can have different approvers for different project types. To be more specific, you can different approvers for each approval point. Each approval point is created by using an activity which defines what approvals to send out, and who to send the approvals to send to. So every time you add this activity, you can define a different set of approvers.
If I may, a few follow-up questions concerning workflow.
I had asked previously if you can have different approvers for different project types. Can you have different approvers for different project types USING THE SAME BASIC WORKFLOW or do you have to create a separate workflow for each project type to have different sets of approvers?
Also, can you define (or override) the approvers for a SPECIFIC project when its created (if different from or an addition to the original approver group initially defined)?
On the project request form, you had mentioned that end users can create (request) projects but not necessarily open them which could serv our purposes. Are the project form attributes customizable? That is, if I needed to add attributes that would, when included, better represent the contents of a Project Charter, can that be done and are they table driven like the outline level codes (w/multiple "nodes" if needed) and all reportable via the reporting database?
Please find my responses.
"I had asked previously if you can have different approvers for different project types. Can you have different approvers for different project types USING THE SAME BASIC WORKFLOW or do you have to create a separate workflow for each project type to have different sets of approvers?"
- Yes you can have different approvers within the same workflow. Each approval point within a workflow is a seperate object. And you can set whoever you wish to be the approver at each approval point.
"Also, can you define (or override) the approvers for a SPECIFIC project when its created (if different from or an addition to the original approver group initially defined)?"
- This is not really easy to do. You define who the approvers are when you are creating the workflow itself. Normally this is done through Visual Studio. As such, if you want to change who the approvers are, you'll need to re-open the workflow definition from within Visual Studio, change the list of approvers, recompile the workflow, redeploy the workflow, and then restart all the workfows. And by doing this, you will change the approvers for ALL projects, not for just a specific one.
Now, if you wanted a way to just do it for a specific project, it is possible, but you would need to do some fancy workflow coding, in order for it to accept dynamic changes during run time. Not easy to do, but it is possible. One possible solution (but not the only solution is to use "Dyanmic Update" feature found within windows workflow foundation. I would recommend you do a quick Bing search on "Windows Workflow dynamic updates" to see how you can create a workflow that dynamically changes during run time.
"On the project request form, you had mentioned that end users can create (request) projects but not necessarily open them which could serv our purposes. Are the project form attributes customizable? That is, if I needed to add attributes that would, when included, better represent the contents of a Project Charter, can that be done and are they table driven like the outline level codes (w/multiple "nodes" if needed) and all reportable via the reporting database?"
- Permissions are set at the project level. So at the project level you can set a user to be allowed to create a project but not be able to open/edit the project. Setting permissions is completely customizable. You would do this through Server Settings.
As for the form iteself, you can always change what fields are shown within the form at any time. You can do this through server settings, it as easy as selecting the fields that you would like to show.
I hope these answered your questions. Please let me know if you have any additional questions.
I created workflow. But i didnt set any approval point.
I dont know How to create approval point between the stages. Please canu describe me how to create approval step for this sample basic workflow..
Thank you in advance...
I just tried out the workflow and it looks really great.
At some point during my tests I had an odd point and I'll hope that you can clarify it. As soon as I added a Task using "fixed work" (the standard in my organisation) to the project and published it, I was no longer able to edit any project detail pages in the PWA ?
Is this "by design" or did I do something wrong ? Because if I get the implications right, this means that as soon as the project manager plans a task with fixed work, the whole workflow get stuck because other people can't edit/enter information in the detail pages ?
I hope you can point out my mistake :-)
When you created the tasks list (you did it manually) - is it possible to upload a predefined project to populate the list? For example (a bad example) we have a library of Service Catalog projects which create demand and should be part of the overall portfolio workflow.
How would we upload this predeined project?
Thansk and regards
Thank you for the replies, I apologize that it took me so long to respond. I will try and address everyone’s questions below:
To create an approval, you would use the SharePoint Office task. All of our approvals are created just like any SharePoint approval. Using Sharepoint’s Office task (which comes out of the box) you can define what type of approval to create and who to assign the approvals to. When it comes to figuring out who to assign the approvals to, it is important to use our “ReadProjectSecurityGroupMembers” activity to get the list of users to assign the approval tasks to. It’s a bit difficult to go into all the details on creating the approval. But if you do some searching on how to create SharePoint approvals, it should shed some light on creating our own too. We’ll be releasing more Workflow examples in the SDK that will go into this. In addition, we’ll be releasing the entire Out of the Box sample workflow in the May 12th 2010 refresh of the SDK. That example should give you good insight into how we created our approvals.
@ Paul Young
Paul Young said:
The behavior you’re describing is a bit confusing. By default our Out of the Box workflow won’t disable the entire project just because you created a task with “fixed work”. It is possible though that when you published and closed it, that you checked it in. If you checked in the project, the entire thing will be disabled until you check it back out. If this isn’t the case, please let me know, and I’ll reach out to you individually to see if you can send me some screen shots.
Yes you can upload a “predefined project”. What you are describing is creating projects based off “Project Templates”. Project templates have been around for awhile. And we now enable our users to be able to associate their Enterprise Project Types with a Project Template. Basically, whenever a user creates a project on the server, he selects which Enterprise Project Type (EPT) to base his project off of. These EPT’s define what workflow should be associated with the project, which departments are able to access the EPT, what create page should appear, ect. The EPTs also define what site AND Project templates should be used. So to enable your scenario, all you need to do is create a project template within Project 2010 Client. Then upload that template to the server. And then go to Server Settings Enterprise Project Type, and associate an EPT to the template you just uploaded. After this, every project that is created from this EPT will be automatically based off the project plan found in your template.
I hope this helps everyone. Please keep your questions coming. I’ll do my best to stay ontop of them.
How to set up a view in Project Center to group or differenciate all projects by their EPT?
I watched your video and just tried to modify the sample proposal workflow!
1. Is the source code of the sample proposal workflows somewhere available?
2. What I want to do is to turn of the automated rejection of projects
>100.000$. How is the best approach to do this?
Thanks for your answers in advance!
Some quick updates and answers to the questions so far posted.
First of all, the source code for the out of the box sample proposal has been posted within our SDKs. Please go ahead and download the latest copy of the SDK to get access to the source code. I have updated the blog entry to reflect this.
To create a project center view that groups the projects by EPT, you need to:
1. Create a new view
2. Add “Enterprise Project Type Name” as a column within the view
3. In the group by section, indicate that you wish to group by “Enterprise Project Type Name”
1. Yes the source code is available. You can find it in the latest version of the Project Server SDK
2. To do this, you’ll need to:
a. Download the sample proposal source code from the SDK.
b. Modify our hardcoded logic that checks for 1,000,000 and change it to 100,000
c. Compile, and deploy as a new workflow
d. Associate an EPT to the new workflow.
e. And you’re good to go.
Hope this all helps.
I'm experiencing very strange behavior, I downloaded the SampleProposal2 code with the intention of adding few modifications. After a lot of tests, it seems that any change to the structure of the Workflow (eg adding a new SetProjectStage or even renaming ExecuteStage to ExecStage) make the workflow crashing always in the same point: at the first approval. Instead of moving the tasks to "Completed", the one selected go in "Approved" state and the others 2 stay in "Not Completed" state and the WF hangs.
Other modifications (eg changes to the logic of the "proposal cost" check) doesn't break the execution of the WF.
It seems like there's somewhere a name list of the bricks composing the WF, even if it sounds very strange.
I looked in the ULS, but I couldn't find something meaningful (unfortunately I can't copy and past them as I don't have any access to that environment).
First I would to express my gratitude towards your webcast on 'Sample Proposal' workflow, it is really helpful.
I've decided to use the out-of-the-box workflow for a demo to my management team sometime next month. I have gone through all the stages/phases in the Sample Workflow, and all the workflows are working fine, except the fact that each time the workflow reach any 'Review/Approval' stages (e.g Initial Review stage), the project will be automatically approved with the following status:
'The proposal was automatically approved because the approvers' group has no members' ...
I have checked the list of members in Portfolio Managers group and I am pretty sure that 2 users have been set as the members of the group. In addition, I have also set the group to sync with an AD group (which also contains the same set of users), however it still failed to do the trick.
As I'm not really familiar with Visual Studio, plus I have never used MS Project Server before, is there anything that can be done to allow me to resolve this issue for good?
Thanks in advance Sam : )