Workflow Deployment Using Features
To discuss deploying workflow solutions involves addressing the means by which most functionality is deployed in Windows SharePoint Services 3.0—Features.
Feature packaging is a way of encapsulating Windows SharePoint Services 3.0 solutions and functionality for ease of deployment. It provides a mechanism by which developers can package the files needed for a solution, such as workflows, Web Parts, lists, and site definitions, for ease of distribution and deployment. Developers package the necessary files into a .wsp file, which is essentially a .cab file containing a manifest that lists its contents.
Use the feature packaging deployment mechanism included in Windows SharePoint Services 3.0 to deploy your custom workflow solutions.
For example, suppose you created a Software Specification Review workflow solution. The feature package for this solution might include:
A feature.xml file, which is the manifest that contains references to the various objects packaged in the feature.
The compiled workflow assembly itself.
Any custom forms needed for the workflow.
The workflow template definition file.
As mentioned, the feature.xml file contains references to all the element manifests within that feature. Workflow template definitions are element manifests.
For more information about creating workflow definition XML files, see Workflow Definition Schema.
For more information about using Features to package and deploy Windows SharePoint Services 3.0 solutions, see Working with Features.
Workflow Feature Example
Following is a sample feature.xml file that defines a workflow Feature. Notice that the feature.xml file references the workflow.xml file, which contains the workflow template definitions for this workflow solution.
The file path reference is relative to the installation location of the feature, which for a given feature is always
<Feature Id="GUID" Title="Default Title" Description="This feature is a workflow that ..." Version="22.214.171.124" Scope="Site" xmlns="http://schemas.microsoft.com/sharepoint/"> <ElementManifests> <ElementManifest Location="workflow.xml" /> </ElementManifests> <Properties> <Property Key="GloballyAvailable" Value="true" /> </Properties> </Feature>