Published: May 2010
To better understand what workflows are and how they are used in Microsoft SharePoint Foundation 2010, it's useful to discuss the various stages at which users interact with workflows. Following is a description of the workflow process from the point of view of administrators and end users.
Workflows are installed at the server level. However, the site collection administrator still must enable the workflow to make it available to a specific site collection on that server.
Site administrators can then associate a specific workflow with a list, document library, or even a content type. They can select which of the available workflows to associate with a given list, document library, or content type. They then customize the workflow by setting general workflow parameter information, including:
Unique name for the workflow.
Determination of how the workflow is applied to a specified item: either automatically when the item is created or changed, or manually; also, determine which roles, such as Administrator or Contributor, can initiate a workflow.
Task list for the workflow to use if it creates tasks.
History list for the workflow to store history events, as defined by the workflow.
In addition, the site administrator can further customize the workflow by specifying any parameter information custom to that particular workflow.
For custom information, the workflow must provide a custom form, which SharePoint Foundation 2010 displays to the site administrator. The site administrator uses this form to enter the custom information.
The workflow association is stored as a property of the list in SharePoint Foundation.
For information about creating association forms, see Workflow Association and Initiation Forms (Sharepoint Foundation).
Any user in the appropriate role (Administrator, Contributor, and so on) can initiate a workflow that is configured to launch manually. The user selects the item in SharePoint Foundation, and then selects the workflow from the list of workflows associated with that item. The user supplies information custom to that specific workflow, if necessary, and then starts the workflow. Initiating a workflow creates a new workflow instance for that specific item.
Again, for the user to specify custom workflow initiation settings, the workflow must provide a custom form, which SharePoint Foundation displays to the user. The user specifies the initiation settings in this form; those settings are passed to the workflow engine, which starts the new workflow instance.
For information about creating initiation forms, see Workflow Association and Initiation Forms (Sharepoint Foundation).
Users can view the progress of workflows on a selected item. The main document library or list item page displays the current state workflows running on an item. In addition, each item has a workflow page where the user can view the following information:
All workflows currently running on that item.
All workflows that have run on the item in the past.
All the available workflows for that item.
When a user initiates a workflow on an item, SharePoint Foundation adds a new column to that item. The column name is initially set to the name of the workflow. SharePoint Foundation uses this read-only column to display the current status of the item within that workflow. SharePoint Foundation adds this status column for each workflow association the first time it is run.
Workflow stages appear as tasks on the team site task list. When designing the workflow, the workflow author can specify the task schema. For example, the task listing might include the following:
Name of person to whom the task is assigned
Task date due
Link to the referenced item
As the workflow runs and tasks are created, the user can select the task, mark it as completed, and enter any optional or required information specific to the workflow. The workflow instance is then notified of changes to workflow tasks, and can choose to respond to those changes as specified in the workflow. This workflow response can include moving the item to another stage of the workflow.
For information about creating task edit forms, see Workflow Task Forms (SharePoint Foundation).