為什么要擴展
最近項目打算用activiti工作流中activiti modeler來做模塊的可視化訂閱,但是原生的activiti任務(wù)節(jié)點,有一些不符合業(yè)務(wù)需要,比如
配置項多,屬性暴露。比如service task,配置時就要暴露其Java Degelete方法類,這樣以后實施人員去配置的時候,第一他每次去配個service task都要去配置,第二他不會知道這個任務(wù)要配什么委托類,所以這對職責(zé)單一的一個service task來說,比如就需要一個解析xml的任務(wù),那么我除了id ,name,其他都是不需要的,內(nèi)部封裝屬性,不暴露出去。
圖標(biāo)單一,一眼看不出任務(wù)職責(zé)。
子流程內(nèi)容跟父流程內(nèi)容在一個面板,流程定制面視覺效果不好,而且固定子流程不能得到復(fù)用。
對以上一些不足,其實對activiti來說,他要考慮的當(dāng)然是多開放配置,更容易兼容場景,或許有些人會認為這都不是事,做這種擴展沒有必要,大題小作。仁者見仁智者見智吧,我認為這種擴展,
對使用會更便捷,用戶友好性也更好,具有一定的業(yè)務(wù)特色,也不改變原生activiti任務(wù)的職能,何樂不為。
如何擴展
首先考慮一下可行性,這種擴展以什么為切入點。擴展任務(wù)節(jié)點,那就得發(fā)現(xiàn)service task這個任務(wù)的特性,它不想user task,script task的只能那么單一,它可以指定委托處理類,來達到執(zhí)行目的。
因此,在任務(wù)定制這方面,完全可以由service task進行屬性擴展和封閉。具體擴展細節(jié),如下考慮
UI上擴展屬性