K2 Blackpearl的可视化流程设计通过提供一系列的Wizards来实现,Blackpearl的Wizards实现方式和K2.net 2003的实现有了本质的不同
1 Blackpearl的实现均是基于微软的WPF,所有的向导页面在设计时都是.xoml格式的XML文件,通过WPF显示为如下图看到的向导页面。
2 我们知道可视化流程设计最终的结果均会转化成代码在流程引擎中运行,K2 Blackpearl的Wizards并不生成代码(K2.net 2003中的逻辑代码是在Wizards中生成的)
K2 Blackpearl 的Wizards运行时完成两件事情:
1 从K2的安装路径(如C:\Program Files\K2 blackpearl\Bin\DesignTemplates\CSharp\WindowsWorkflowExtender\1033)复制相应的Wizards的xoml文件到当前项目中
2 Wizards运行过程中设定的规则、条件全部存储成xml格式的信息(注意并不会在此时生成这些规则、条件的代码)
值得一提的是Wizards是可以自己开发的,K2 Blackpearl在VS 2005中提供出模板来帮助你开发企业自己的Wizards,当然这需要你了解一些WPF的开发技术。Wizards开发完成后会有一堆的xoml文件和cs文件,部署到C:\Program Files\K2 blackpearl\Bin\DesignTemplates\CSharp\WindowsWorkflowExtender\1033即可在K2 Blackpearl设计流程时使用了。这里涉及到一个维护的问题:K2公司在service pack中会对OOB的Wizards进行升级(或自己开发的Wizards需要升级),这些升级动作是如何完成的呢?安装ServicePack时会更新1033目录下的wizards文件,这些更新的wizards不会自动更新到现有流程中去,理由很简单:在流程中都会对复制到项目中的Wizards进行修改,如果自动进行这些更新则会将自定义的修改全部覆盖掉,因此K2提供一个手动更新向导让流程设计人员自行选择需要更新那些Wizards,如下图
1 从K2的安装路径(如C:\Program Files\K2 blackpearl\Bin\DesignTemplates\CSharp\WindowsWorkflowExtender\1033)复制相应的Wizards的xoml文件到当前项目中
2 Wizards运行过程中设定的规则、条件全部存储成xml格式的信息(注意并不会在此时生成这些规则、条件的代码)
值得一提的是Wizards是可以自己开发的,K2 Blackpearl在VS 2005中提供出模板来帮助你开发企业自己的Wizards,当然这需要你了解一些WPF的开发技术。Wizards开发完成后会有一堆的xoml文件和cs文件,部署到C:\Program Files\K2 blackpearl\Bin\DesignTemplates\CSharp\WindowsWorkflowExtender\1033即可在K2 Blackpearl设计流程时使用了。这里涉及到一个维护的问题:K2公司在service pack中会对OOB的Wizards进行升级(或自己开发的Wizards需要升级),这些升级动作是如何完成的呢?安装ServicePack时会更新1033目录下的wizards文件,这些更新的wizards不会自动更新到现有流程中去,理由很简单:在流程中都会对复制到项目中的Wizards进行修改,如果自动进行这些更新则会将自定义的修改全部覆盖掉,因此K2提供一个手动更新向导让流程设计人员自行选择需要更新那些Wizards,如下图