SharePoint工作流开发点滴(1) - 一些概念
2007-01-04 09:15
260 查看
模板(Template),关联(Association)和实例(Instance)
模板:部署到站点集中的工作流功能(Feature),用来描述该功能所包含的程序集和表单等信息.
关联:将工作流模板与列表(List)或者内容类型(Content Type)联系起来,并向工作流提供初始值或参数.对应的表单叫做Association.
实例:在列表或内容类型项上启动的工作流.对应的表单叫做Initiation.
也就是说,实例是基于关联的,而关联又是基于模板的.一个列表或者内容类型可以拥有许多来自相同工作流模板的关联,但同一时刻同一关联只能启动一个工作流实例.
钝化(Dehydrated)
钝化指将工作流序列化(Serialized)并保存在数据库中.钝化后的工作流将从内存中清除.当工作流等待的事件发生时,工作流将反序列化(Deserialized)并被唤醒,然后继续它的流程.
事务性动作(Transacted Action)和批处理动作(Batched Action)直到工作流钝化后才会提交.例如,CreateTask并没有马上创建任务,而是等到OnTaskChanged将工作流钝化之后才创建任务.所以在创建任务之后马上访问任务是错误的.
Method 和 Event Handle
Method用来执行动作,例如CreateTask就是一个Method活动.
Event Handle用来将工作流钝化,然后等待一定的事件被触发后唤醒工作流,例如OnTaskChanged就是一个Event Handle活动.
Method的Method Invoking在Method要执行的动作之前执行,而Event Handle的Method Invoking却在Event Handle的事件触发之后执行.
Correlation Token
将若干相关联的活动映射到同一集合的标识符,例如给CreateTask,OnTaskChanged和CompleteTask指定相同的Correlation Token,则这几个活动被关联到同一个任务.
在SharePoint Workflow Actions中,Correlation Token大致按照下表来分组指定:
工作流 | 任务 | 修改 |
OnWorkflowActivated OnWorkflowItemChanged OhWorkflowItemDeleted SetState SendEmail UpdateAllTasks | CreateTask CreateTaskWithContentType UpdateTask DeleteTask CompleteTask RollbackTask OnTaskChanged OnTaskDeleted OnTaskCreated | EnableWorkflowModification OnWorkflowModified |
InfoPath表单
表单类型 | 宿主ASPX | 需要执行的动作 | Event Handle | 接收数据的属性 |
Association | CstWrkflIP.aspx | 建立工作流模板和列表(或者内容类型)之间的关联 | 无 | 无 |
Initiation | IniWrkflIP.aspx | 启动工作流实例 | OnWorkflow Activated | SPWorkflowActivationProperty.InitiationData |
Task | WrkTaskIP.aspx | 更改了任务 | OnTaskChanged | OnTaskChanged.AfterProperties |
Modification | ModWrkflIP.aspx | 修改工作流 | OnWorkflowMosified | OnWorkflowMosified.ContextData |
相关文章推荐
- SharePoint 2007工作流开发点滴(1):工作流的一些概念
- 理解嵌入式开发中的一些硬件相关的概念
- Firefox扩展开发随记1--一些基本概念
- 【转】android开发中实现个性化ListView的一些概念和思路
- java web开发中需要弄清楚的一些概念
- android开发的一些概念
- 浅谈Android系统开发中一些概念的理解
- .Net平台开发实践的一些点滴总结(技术规范与实践精华)第1/2页
- 理解嵌入式开发中的一些硬件相关的概念
- DSP开发相关的一些概念
- Cocos2dx3.2学习准备(二):游戏开发中的一些基本概念
- 初识OAF开发(一)--BC4J的一些基本概念
- .Net平台开发实践的一些点滴总结(技术规范与实践精华)第1/2页
- 关于Android开发的一些概念问题
- Java Web应用开发中的一些概念
- 理解嵌入式开发中的一些硬件相关的概念
- web开发中的一些不常见的概念
- iOS开发OC基础:OC属性的一些概念和基本使用
- 理解嵌入式开发中的一些硬件相关的概念
- Java Web应用开发中的一些概念