Last night at the monthly JAXDUG meeting, David McNamee came to talk about MOSS and the goals of this next release of Office System (clients & server SKUs). Previously the group hadn't been terribly hip to WSS, but from what they saw last night, there was definitely some interest!
One of the things that really caught everyone's eye was the fact you can author workflows straight from SharePoint Designer! As a followup to our discussion, I wanted to compare/contrast when you'd use SharePoint Designer to author workflows in SharePoint to when you'd rather use Visual Studio. This information is paraphrased from the WSS v3 SDK Beta 2 refresh, which has a lot more info about workflows in SharePoint under:General Reference\Workflows in WSS\WorkFlow Development for WSS\Workflow Development Tools Comparison
Both products can do the following:
- Author workflows for use in WSS v3.
- Generates a workflow markup file that's stored in the database.
So where do the two products diverge?
|Visual Studio 2005 (w/ the WF Designer)||SharePoint Designer 2007|
|Can create code-behind file(s) that allow you to add any custom code (C#/VB.NET) to your workflow.||No code-behind support.|
|Can design workflows as a template to be associated with various lists and sites.||When authoring a workflow, it's bound to specific lists/sites at design time.|
|Compiles the workflow compiled into an assembly and deployed to the server.||Everything is persisted in markup and stored in a document library in the target site.|
|Use the browser UI to associate a workflow with a list to make it available to that list.||Association occurs at design time.|
|Can associate workflows with content types.||Not possible in SPD.|
|Can include InfoPath web enabled forms as a data collection vehicle via Forms Server.||ASP.NET 2.0 ASPX pages are built automatically at design time, but you can customize them after they've been generated.|
|Can modify workflows and create custom activities.|
|Manual deployment (via a SharePoint Feature).||Automatically deployed at design time.|
|Rich debugging support.||No debugging support.|
|Supports building sequential and state machine workflows.||Can only build sequential workflows.|