Templates (Template), Associations (association), and instances (Instance)
Templates: A workflow capability (Feature) deployed to a site set to describe information such as the assemblies and forms that the feature contains.
Association: Associates a workflow template with a list or content type, and provides an initial value or parameter to the workflow. The corresponding form is called Association.
Instance: A workflow that is started on a list or content type Item. The corresponding form is called initiation.
That is, an instance is based on an association, and the Association is template-based. A list or content type can have many associations from the same workflow template, but the same association can only start one workflow instance at a time.
Passivation (dehydrated)
Passivation refers to serializing a workflow (serialized) and saving it in a database. The deactivated workflow is purged from memory. When a workflow waits for an event to occur, the workflow is deserialized (deserialized) and awakened, and then continues its process.
The transactional Action (transacted action) and the batch action (batched action) are not committed until the workflow is deactivated. For example, CreateTask does not immediately create a task. Instead, wait until ontaskchanged has deactivated the workflow before creating a task. So it is wrong to access the task immediately after the task is created.
Method and Event Handle
method is used to perform actions, such as CreateTask is a method activity.
Event handle is used to deactivate a workflow, and then wait for a certain event to be triggered to wake the workflow, for example ontaskchanged is an event handle activity.
Method invoking is executed before the action to be performed by method, and the method invoking of the event handle executes after the event handle events are triggered.
Correlation Token
Mapping several associated activities to identifiers of the same collection, such as assigning the same correlation Token to createtask,ontaskchanged and completetask, these activities are associated with the same task.
In the SharePoint Workflow actions, the correlation token are grouped roughly according to the following table:
Work flow |
Task |
Modify |
onworkflowactivated OnWorkflowItemChanged ohworkflowitemdeleted SetState SendEmail Updatealltasks |
CreateTask Createtaskwithcontenttype Updatetask Deletetask Completetask Rollbacktask Ontaskchanged ontaskdeleted ontaskcreated |
Enableworkflowmodification Onworkflowmodified |
InfoPath Forms
Type of form |
Host ASPX |
Actions that need to be performed |
Event Handle |
Properties that receive data |
Association |
Cstwrkflip.aspx |
Establish an association between a workflow template and a list (or content type) |
No |
No |
Initiation |
Iniwrkflip.aspx |
Starting a workflow instance |
Onworkflow activated |
Spworkflowactivationproperty.initiationdata |
Task |
Wrktaskip.aspx |
Changed the task |
Ontaskchanged |
Ontaskchanged.afterproperties |
Modification |
Modwrkflip.aspx |
Modify a workflow |
Onworkflowmosified |
Onworkflowmosified.contextdata |
Association The form does not accept the data, and there is no corresponding event Handle, because the workflow instance is not started, and there is no passivation and wakeup. However, the data in the Associatin can be obtained in spworkflowactivationproperty.associationdata.