Introduction
xviii
Chapter 3 , “ Programming SharePoint External Data Exchange Services, ” begins by showing
you how SharePoint takes advantage of the extensibility features of Windows Workflow
Foundation (WF) to extend this framework to add support for SharePoint - specific
functionality, including registering four important SharePoint - specific external data exchange
services with the workflow run time. These four external data exchange services, respectively,
implement the ITaskService, ISharePointService, IWorkflowModificationService, and
IListItemService external data exchange service interfaces. The chapter provides detailed
coverage of these four external data exchange service interfaces and their associated event
data classes — that is, SPTaskServiceEventArgs, SPItemEventArgs, SPListItemServiceEventArgs,
and SPModificationEventArgs, and the related ExternalDataEventArgs and
SPWorkflowTaskProperties classes. Also included are examples showing how to use the
CallExternalMethodActivity and HandleExternalEventActivity activities to invoke the methods
of these SharePoint - specific external data exchange services and to wait for these services to fire
desired events. Finally, the chapter provides in - depth coverage of correlation parameters and the
important role they play in workflow programming.
Chapter 4 , “ CallExternalMethodActivity - Based SharePoint Activities, ” provides complete
coverage of the CallExternalMethodActivity activity and those standard SharePoint activities
that inherit from this activity, including CreateTask, CreateTaskWithContentType, UpdateTask,
DeleteTask, CompleteTask, SendEmail, and EnableWorkflowModification. Numerous examples
show you how to use these standard SharePoint activities to implement your custom SharePoint
workflows. In the process, you ’ ll also learn about the WorkflowParameterBinding and
ActivityBind classes and how to implement site content types, which are used with the
CreateTaskWithContentType activity. Finally, the chapter explains how to implement your own
custom CallExternalMethodActivity - based SharePoint activities to invoke those methods of the
SharePoint external data exchange services that are not covered by the standard
CallExternalMethodActivity - based SharePoint activities.
Chapter 5 , “ HandleExternalEventHandler - Based SharePoint Activities, ” covers those standard
SharePoint activities that inherit from the HandleExternalEventActivity activity, including
OnTaskChanged, OnTaskCreated, OnTaskDeleted, OnWorkflowItemChanged,
OnWorkflowItemDeleted, and OnWorkflowModified. The chapter uses examples to show you
how to use these standard SharePoint activities to implement your own custom SharePoint
workflows. The chapter also discusses the standard ListenActivity, EventDrivenActivity,
DelayActivity, EventHandlingScopeActivity, and EventHandlersActivity activities and shows
you how to use them in your own custom workflows.
Chapter 6 , “ Workflow Security and Management, and Fault Handling, ” first discusses
the SPWorkflowManager class and its public members. It then provides a section on workflow
security, where you learn a great deal about the WorkflowRole, WorkflowRoleCollection, and
SPWorkflowWorkflowRoleCreator workflow security classes, the SPBasePermissions
enumeration, and SharePoint securable objects. Included is an example to show you how to take
advantage of workflow security in your own custom workflows. Finally, the chapter covers fault
handling in detail, and describes the FaultHandlersActivity and FaultHandlerActivity activities
and how to use them in your own workflows to handle faults.
Chapter 7 , “ Workflow Modification and Task Editing, ” begins with coverage of workflow
modifications, and provides a two - step recipe for implementing a workflow modification. In the
first step you learn how to use the EventHandlingScopeActivity, EnableWorkflowModification,
EventHandlersActivity, EventDrivenActivity, and OnWorkflowModified activities to make
required changes in the workflow itself to enable it to support a workflow modification. In the
second step you learn how to implement and deploy a workflow modification input form.
❑
❑
❑
❑
❑
flast.indd xviiiflast.indd xviii 8/25/08 4:39:53 PM 8/25/08 4:39:53 PM