Windows SharePoint Services 3.0 builds on top of Windows Workflow Foundation to enable workflow to be used on list items and documents. So you can create your own business logic to work with the content in WSS to create your own applications. Microsoft Office SharePoint Server (MOSS) takes this to the next level and has some out of the box workflows built in that you can associate with your lists. If Project Server is installed with MOSS then a new feature of Project Server 2007 becomes available - an automated workflow approval process for proposals.
This feature makes use of the new server side light weight projects, and there is a certain type - called a proposal. The idea is that this proposal is a set of steps you need to follow to get a project accepted, and when you create the proposal it will also create a WSS Task in a list that has a workflow associated with it. This task will be assigned to a user in the Proposal Reviewers security group within Project Server. There is a special custom field associated with proposals called the state field. Initially this is set to proposed - but it gets changed automatically based on the approval status of the WSS task - if the reviewer says it is OK and accepts it, then the state field gets changed to Approved. This is a very simple example of how workflow can be used on the platform - your imagination can fill in the other extensions to this to make it work for your organizations.
As I mentioned - MOSS comes with some pre-defined approvals - but this doesn't stop you adding your own approvals to WSS lists even if you don't have MOSS. The easiest approach (which also works in MOSS) is to go to any list or library, then under Settings, Document Library Settings you will find Workflow Settings. You can configure simple workflows against the list from there. Using SharePoint Designer you can create quite complex workflows against WSS lists. One thing to point out here is that you will not be able to connect to a Project Server 2007 PWA site using SharePoint Designer as it is blocked due to the risk of you breaking some of our functionality. However you can connect to the Project Workspaces (often referred to as PWS sites) that you create for individual projects. If SharePoint Designer doesn't do enough for you then you can also create workflows using Visual Studio 2005. These can obviously be much more complex and if you wanted to integrate deeply with Project Server through events and the PSI then this is the tool for you. Once you create workflows through Visual Studio you can then consume these either through SharePoint Designer or even have them appear in the workflows available through the workflow settings of the libraries.
So if this has sparked your interest in workflow the next places to go are:-
Windows Workflow Foundation - http://msdn2.microsoft.com/en-us/library/ms735967.aspx
Workflow Development for Windows SharePoint Services - http://msdn2.microsoft.com/en-us/library/ms414613.aspx
Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) - http://www.microsoft.com/downloads/details.aspx?familyid=5D61409E-1FA3-48CF-8023-E8F38E709BA6&displaylang=en
and the general SharePoint blog also is a great place for all information on the MOSS platform - http://blogs.msdn.com/sharepoint/
If you are considering MOSS then there are plenty of other benefits on top of Project Server. One would be search - to enable all those Project Workspaces to be easily mined for information. Another would be Excel Services which enables you to load, calculate, and display Excel workbooks on Office SharePoint Server 2007. I know one of my colleagues is preparing a post on the use of Excel Services with Project Server to visualize data so I will not steal his thunder - but instead suggest you subscribe to Christophe's blog at http://blogs.msdn.com/chrisfie to make sure you do not miss it.
Technorati Tags: Project Server 2007
Hi Brian, thanks for the posting. Would I need to set up a workflow for each PWS site then, or if I created a WSS template with workflow associated with the template lists and then used this as the provisioning template, the workflow settings would be part of the new PWS site. Thinking about approvers for document artifacts etc...
Excellent question Ben. Sometimes the only way to find out is to try it! And it works! One gotcha with creating new workspace templates in 2007 is that they MUST be created from sites that are NOT already linked to a project - so create a new site collection based on the Microsoft Office Project Workspace from WSS Central Administration, Application Management, Create Site Collection. If you dont; do this then provisioning always thinks the site is already in use - as it has some links to the original project it was created for (bug).
Next I opened the site from SharePoint Designer and added a new workflow to the Project Documents folder. I made a simple workflow that checked the title for keywords and if it contain "Issue" then create a new issue with the same title - likewise if it contained "Risk" create a new risk. I saved this complete with content (not sure if this is really necessary to get the workflow). Then did the usual save from the template gallery to stp file (called newpws.stp) then stsadm -o addtemplate -filename newpws.stp - title "New PWS Template" to get it back in. IISRESET and then provisioned a new site - and the workflow still worked. I'm not sure how much more complicated you get get with the dynamic fields and still keep the logic in the new site - but I think everything should be fine.
I'm looking for how to install Project server 2007 with Microsoft Sharepoint portal 2007 standard edition in a single box.
What is the sequence to install & how can I make working?
Many thanks in advance
I assume by "Microsoft Sharepoint portal 2007" you mean Microsoft Office SharePoint Server 2007 (MOSS)which includes the portal capabilities previously in SharePoint Portal Server. We are working on this documentation currently and it should be ready and posted in January. For a single server installation it is reasonably straightforward - you can install MOSS then stop before running the SharePoint Configuration Wizard. Then install Project Server 2007 and continue to run the Configuration Wizard. Once this is complete then follow the MOSS and/or Project Server instructions which are available at the TechCenters on TechNet to further configure the system - such as adding the required web applications and the Shared Services Provider. If you already have MOSS installed then just installing Project Server and running the wizard will work. If you already have Project Server installed then it is a little more complicated and I would suggest waiting for the "official" documentation.
Thanks Brian. Just so that I'm 100% clear on the relationship between PS2007, WSS and MOSS.
MOSS is only needed in order to create the workflows (assuming I don't use VS). These workflows can then be installed in the WSS site collection and utilised against lists etc. So in theory I could create some workflows in an external (non customer) environment and then deploy them in a customer environment.
Additionally an existing workflow is shipped with PS2007 that interacts with Proposals. Question, how do you define which workflow is used against the proposals, assuming you have ticked to say the state field is governed by external workflow? Even though I have this ticked, I don't appear to be getting any workflow tasks in the PWS page?
Thanks for your help!
Good questions Ben - it does get confusing what comes with what product.
WSS supports workflow and you can use SharePoint Designer 2007 (SD) or Visual Studio 2005 (VS) to create these workflows.
MOSS comes with several different workflows out of the box that can be applied to lists just using the web UI - so you don't need SD or VS - but can use them if you need more complexity than the web UI allows.
Project Server 2007, if installed with MOSS, does have a pre-built workflow for server side proposals. There are a couple of steps to get these working and I think our PS/MOSS instructions are not going to hit the public sites until January.
1. We need to add a “special” account to Project Server and give it “Log On” and “Change Project State” global permissions. Let’s call this account “PorposalSpecialAccount” and you can use an account, e.g. domain\user.
2. Modify the D:\Inetpub\wwwroot\wss\VirtualDirectories\80\web.config file and add the following node exactly as typed here under the <configuration> node:
<add key="ProposalSpecialAccount" value="domain\user" />
You also need to add a user to the Proposal Reviewers security group - who will be the recipient of the workflow tasks.
I haven't seen any customization details for this state workflow yet - and think in its first iteration it is a good example of what can be done but customers may well end up building their own if this doesn't suite there needs. Expect some SDK content on this - but not just yet. Likely this will involve some VS code that makes use of the PSI and possibly server side events and ties in to the workflow foundation. This could then become a component that could be consumed in SharePoint Designer.
Thanks Brian. I'll keep a look out for the code and samples.
Thanks for your information. Here i am facing a typical problem with Office SharePoint Designer.
I tried to create a workflow on a library and want to validate the Name of the document for certain keywords like WSS,SPS etc., when it got created.
So in the workflow i added a condition If Name contatins keywords(wss,sps) then send mail to email@example.com as action else send mail to firstname.lastname@example.org as "no keyword found" in the subject line.
Whenever i upload a document with wss as its name the workflow is completing and i am recieving a mail as "no keyword found" as subject line.
After doing some research i removed the ",sps" from the keywords and to my surprise it starts working.
but i want to add sps too in the keywords to be validated. I found the problem is with the separator between wss and sps i.e ',' I tried various combinations like #,; etc., but none of them seems to be working.
So guys, please help me in this regard. Its a simple problem but it is taking a hell lot of time.
thanks for you all in advance
Probably better posted to a specific SharePoint Designer blog - but one workaround is to add another condition with an "or" and just add each extra keywords. I'm not sure if there is any delimiter for keywords in this context.
Great info, Brian. I presume from this that I cannot place a workflow on any of the documents within project server (specifically, I'd like a workflow on the Project Task within PWA)? I can only place workflow on the items in the SPS sites asssociated with the PWA projects. I'd like to be able to route certain types of tasks when they are created a triage person within my organization.
You are right Steve - the tasks within projects are not actually WSS list items so you couldn't apply a workflow to them. You could build something with Visual Studio using the Windows Workflow Foundation, PSI interface to the project data, and the Project Server server side events - but this would not be a trivial task.
Take a look at the new list type in WSS of Project Tasks. This is a very lightweight project management list complete with a Gantt view. It is very simplistic but can be imported as a real server side project and then upgraded to a full project. You should be able to apply workflow to the initial tasks in WSS for your triage purposes - before using these as the basis for a "real" project.
Brian. Can you provide insight to Timesheet Approval Chains? They seem possibly related to the workflow engine but I have yet to find anything on them.
Hi Pen, great question! We have various places where we have "workflow" but not all use the Windows Workflow Foundation.
The timesheet approvals aren't driven by the WSS workflow engine, but like the task approvals are driven by Project. Each user has a Timesheet Manager configured as part of their setup so the chain follows the line of command as driven by this setting.
I tried to create and test Timesheet Approval Chain. 0) Using the RTM VPC I assigned Rowe Todd as Timesheet Manager for Woods John and Osborn Stu as Timesheet Manager for Rowe Todd. 1) Logged in as Woods John and submitted timesheet to Rowe Todd. 2) As Rowe Todd reviewed and approved (accepted?) Woods timesheet. Sure enough Osborn Stu appears as the next approver. OK so far. 3) Logged in as Osborn but "Oh No!" no timesheet forwarded from Rowe. 4) Back checked by logging on as Woods. Ah ha, timesheet has been approved (not accepted).
Did entire thing a second time to make sure I hadn't sent someting in the wrong direction. Is there a configuration selection I should turn on somewhere? Thanks
I don't have the RTM VPC up and running in front of me but I assume that Rowe Todd has permissions to approve timesheets - so it goes no further. If he didn't have this permission then the status would have changed to "acceptable" and the next person in the chain would have seen the sheet for approval. Take a look at the Help in PWA - click the Project Server Help and How-to and there are several sections on time tracking.