Go
to the Expense Reports list. Select the expense report that you created earlier,
and then click the Workflows button on the SharePoint Ribbon, as Figure 23
shows. The Start a New Workflow window, which Figure 24 shows,
appears.
Click
the Workflow button to start our workflow. Go to the workflow status, and you
should see the Hello World message, as Figure 25 shows.
Figure 23: Choosing a workflow in the SharePoint Ribbon |
Figure 25: Workflow outcome with Hello World |
Workflow Features
Workflows that are generated from VS 2010 are
logically packaged as site collection features. If the feature is not activated,
then the workflow template cannot be used.
Workflows that are generated by VS 2010 are
compiled as .dll files that must be installed into the global assembly cache
(GAC). Therefore, these kinds of workflows cannot run in the sandbox
environment, even if we create custom sandbox activities (as I will illustrate
in another article).
If you look at the elements.xml file that
describes the workflow feature (Figure 26), you will find the <Workflow>
element, which points to the workflow class Name, as well as the placeholder for
the assembly name.
New in SharePoint 2010 is the
<AssociationCategories> element, which can contain List (if the workflow
must be associated with a SharePoint list), Site (if the workflow must be
associated with a SharePoint site), or Content Type (if the workflow is
associated with a content type, which is an excellent practice).
The <StatusPageUrl> element specifies the
.aspx page that is used to display the workflow status. I usually keep the
default _layouts/WrkStat.aspx, but you can replace it with a custom page if
needed.
Figure 26: Workflow element.xml file |
Wizard Setting Configuration
If you want to modify the settings that the VS
2010 SharePoint Configuration Wizard provides, then you can select the workflow
SharePoint project item, display its property page (which Figure 27 shows), and
change the settings. For instance, you can change the Task List, or you can
cancel the automatic association of the workflow with the list (via the Auto
Associate property).
If you try to modify the task list, a new
SharePoint Customization Wizard window will appear, as Figure 28 shows.
Figure 27: Workflow settings provided by the wizard |
Figure 28: Triggering the wizard |
Reviewing the Code
If you open the file ExpenseReportWorkflow.cs,
you will see a class that is derived from SequentialWorkflowActivity (see Figure
29), which is the root class for Sequential workflows. (There are two kinds of
workflows: Sequential and State Machine, which I will illustrate in another
article.)
If you open the Designer code, you will see that
each activity is a member of this class, which Figure 30 shows.
In the next article of this series, we will
enhance this workflow.
Figure 29: Deriving a class from SequentialWorkflowActivity |
No comments:
Post a Comment