项目中很多时候某些任务流程不固定或者在不同的功能中需要使用不同的流程来达到流程控制的目的,下面简单介绍基于框架的内容工作流来改造成自己的自定义工作流。

  第一步:

  在某个插件里添加一个“Extend Items”,  Service ID :com.zving.workflow.service.WorkflowService;

  如图所示:

1

  Class源码如下:

  效果如下:

2

  第二步:

  在插件中添加“Extend Services”,

  Service class 源码:

  Item super type源码:

  第三步:

  在添加完一个工作流类型之后,需要添加对应的工作流适配器类。

  第四步:

  实现刚才我们在第二步中添加的Item super type接口,提供自定义工作流获取按钮的类。

  源码如下:

  第五步:

  提供自定义工作流中调用的公共JS方法。

  考虑这里面的JS方法有可能大家都使用到,所以写成一个“Extend Points”来供大家扩展。

3

  实现刚才写的ExtendPoints,需要是一个Extend Actions。

4

  Class源码如下:

  Class源码中使用到的fastworkFlow/fastWorkFlowCommonrScript.zhtml源码如下:

  fastworkFlow/fastWorkFlowCommonrScript.zhtml中使用到的后台类方法源码如下:

  使用方法

  我们在站点管理的扩展配置管理中来配置哪项功能需要使用的工作流。

5

  列表页的JS方法中我们写下如下方法:

  在新建方法弹出的Dialog页面中添加如下模块:

  初始化页面Init方法中要添加:

  JS模块:

  UI扩展:

  Html模块:

 

  后台类添加和保存方法中一定要返回当前数据的ID。防止每次重复的添加数据