创建定制的工作流动作
概述:
使用Nintex提供的Workflow动作可以轻松自如的构建工作流,这些动作是如何被添加到工作流中的呢?其实Nintex工作流中的动作都是每个Workflow Foundation(WF)的活动。因此Nintex在提供已有的动作外,也给我们开发人员提供的定制工作流工作的功能。这样大大增强了Nintex的Workflow(NW)功能。
使用Workflow的活动来扩展Nintex通常需要以下步骤:
- 创建一个动作适配器,用来指导NW如何来处理活动;
- 开发一个配置对话框(aspx)页面,用此来给工作流设计人员提供可视化的设计界面来配置动作所需的参数;
- 创作一个.nwa(NW 动作)来描述你的活动,对应的适配器类和UI对话框装载的信息。这个文件将被导入到NW动作列表中。
配置:
这里仅对Nintex2007和SharePoint2007的实例。
WSS3.0
Nintex workflow 2007
Visual Studio
纲要
- 背景信息
- 创建动作的步骤
- 针对NW 2007定制的VS项目模板
- 问题调试
- 参考
步骤1基本原理
图片:设计工作流
图片:发布工作流
NW所有可用的动作列表被存储在NW配置数据库中。这个数据库声明了WF 活动,NW 适配器和设计人员界面的关系。
适配器类必须定义这些方法,一方面是呈现动作的UI,另一方面是把引用的WF 活动的实例加载到父级的WF中。
在NW中使用的动作执行过程如下:
- 当加载工作流设计器时,将通过查询DB来把每个允许使用的动作显示在工具箱中。
- 当一个动作被托放进设计面板中,设计器将向服务器发送请求当前选中的动作信息,然后服务器调用必要的适配器类来获取html,以此渲染这个动作。
- 被渲染的动作有个包含了默认配置xml的属性,这些通过用来配置动作的aspx对话框url来传递。这个配置的xml文件是类Nintex.Workflow.Actions.Adapters.NWActionConfig地序列化实例。
- 如果需要配置动作,可以打开通过模态窗口来打开对话框页面。其实对话框就是用来修改配置xml的。
- 当对话框返回时,配置的xml文件会被发送给服务器。适配器将验证配置并返回html。回发的html有个IsVali属性,它用来标识动作配置是否合理。如果配置不合理,工作流将不能被发布。
- 工作流一旦被发布,每个动作的配置文件xml将被一起被发送给服务器。每个动作对应的适配器类地方法AddActivityToWorkflow将被调用。这个方法用来实例化WF活动实例,根据配置文件设置活动属性,并把此活动加入父WF对象中。一旦所有的适配器对象被呼叫完毕,工作流对象将被转化为WF的XOML,供相关的SharePoint列表使用。
- 当WF被加载后,NW从WF的XOML中读取信息。不同的活动调用对应的适配器并呼叫渲染方法(either runtime, design or preview)来返回html。通过把活动传递给适配器的GetConfig方法来获取NWActionConfig实例。这个方法将读取活动的属性,并构建NWActionConfig对象。