如何实现基于WF,给最终用户自定义工作流?

时间:2021-04-04 03:51:15
原来用传统的方式实现过这样的工作流:
用代码写好每个“活动”具体要处理的事务。
让用户自定义工作流的时候排列这些活动,定义每个活动什么角色可以处理,把排列的结果保存为“工作流”
把“工作流”附加到某个具体的业务上,然后业务就按照“工作流”来执行,执行到每个活动的时候都可以根据定义的“角色”选择下一步有那些“用户”来操作。

现在如果要通过WF来做,怎么去实现这个需求? 给个思路就行,尤其是实现过类是需求的。

14 个解决方案

#1


mark+up

#2


mark+up

#3


mark+up+jf

#4


时刻关注 做oa 需要

#5



WWF的基本与人员、角色、权限无关,所有的控制都要自己做

#6



在VS中嵌入的工具是可以作为一个控件抠出来的,放在你自己的项目中,作为建模工具使用

#7



你看懂了它的xoml文件后,也可以自己写建模工具

#8



由于每个State中的每个事件都需要有一个接口,这个东西你需要使用CodeDom动态生成了,毕竟不能让客户去写

#9



我在做的时候只是将WWF作为一个核心引擎来用,其他的权限控制(人员、角色、权限、与或关系等)都是自己建表控制的,只在需要的时候向WWF触发事件,然后从WWF读取当前的状态

毕竟WWF这个东西太核心了。。。~~呵呵

#10


没用过wwf,以前做工作流都是自己的引擎.流程的定义用的是xml,然后流程引擎加载xml,自定义的时候修改xml文件.

#11


没用过wwf,以前做工作流都是自己的引擎.流程的定义用的是xml,然后流程引擎加载xml,自定义的时候修改xml文件. 
----------------------------------------------------
现在在wf里面是否也要这样来实现呢?

另外,哪位解释一下工作流的持久化,实现持久化以后怎么用啊?

尽快结贴,多谢了。

#12


对WorkflowRole这块并不了解,这次的项目中也是把权限这部分提出来做的,没有和工作流模板绑定
不过写好activity后由用户自定义流程,这样的范例有很多,复杂的逻辑应该交由程序员封装在activity里,
用户将其组装简单的流程,生成xoml文件或编译为dll交由引擎即可
至于持久化,ms提供了默认的sqlpersistenceservice,在runtime启动前加载即可,当然你可以自己重写
用以将工作流实例的中间状态从内存保存到存储介质,这样可以支持长时间的任务,这些机制对于调用方而言基本上
是透明的,你可以通过订阅引擎和实例的事件获得通知

#13


购买Sharepoint Server,就这么简单,这个工作Microsoft已经做了,你没必要在基础工作方面和Microsoft竞争,基于它做二次开发就是了。

#14


TO:cat_hsfz 
Sharepoint Server这个东西很贵吧。

TO:All
对于“流转的条件”这个怎么去实现,尤其是这个也要让用户来定义。给个思路?


#1


mark+up

#2


mark+up

#3


mark+up+jf

#4


时刻关注 做oa 需要

#5



WWF的基本与人员、角色、权限无关,所有的控制都要自己做

#6



在VS中嵌入的工具是可以作为一个控件抠出来的,放在你自己的项目中,作为建模工具使用

#7



你看懂了它的xoml文件后,也可以自己写建模工具

#8



由于每个State中的每个事件都需要有一个接口,这个东西你需要使用CodeDom动态生成了,毕竟不能让客户去写

#9



我在做的时候只是将WWF作为一个核心引擎来用,其他的权限控制(人员、角色、权限、与或关系等)都是自己建表控制的,只在需要的时候向WWF触发事件,然后从WWF读取当前的状态

毕竟WWF这个东西太核心了。。。~~呵呵

#10


没用过wwf,以前做工作流都是自己的引擎.流程的定义用的是xml,然后流程引擎加载xml,自定义的时候修改xml文件.

#11


没用过wwf,以前做工作流都是自己的引擎.流程的定义用的是xml,然后流程引擎加载xml,自定义的时候修改xml文件. 
----------------------------------------------------
现在在wf里面是否也要这样来实现呢?

另外,哪位解释一下工作流的持久化,实现持久化以后怎么用啊?

尽快结贴,多谢了。

#12


对WorkflowRole这块并不了解,这次的项目中也是把权限这部分提出来做的,没有和工作流模板绑定
不过写好activity后由用户自定义流程,这样的范例有很多,复杂的逻辑应该交由程序员封装在activity里,
用户将其组装简单的流程,生成xoml文件或编译为dll交由引擎即可
至于持久化,ms提供了默认的sqlpersistenceservice,在runtime启动前加载即可,当然你可以自己重写
用以将工作流实例的中间状态从内存保存到存储介质,这样可以支持长时间的任务,这些机制对于调用方而言基本上
是透明的,你可以通过订阅引擎和实例的事件获得通知

#13


购买Sharepoint Server,就这么简单,这个工作Microsoft已经做了,你没必要在基础工作方面和Microsoft竞争,基于它做二次开发就是了。

#14


TO:cat_hsfz 
Sharepoint Server这个东西很贵吧。

TO:All
对于“流转的条件”这个怎么去实现,尤其是这个也要让用户来定义。给个思路?