• 為什么要擴(kuò)展

        最近項(xiàng)目打算用activiti工作流中activiti modeler來(lái)做模塊的可視化訂閱,但是原生的activiti任務(wù)節(jié)點(diǎn),有一些不符合業(yè)務(wù)需要,比如


    • 配置項(xiàng)多,屬性暴露。比如service task,配置時(shí)就要暴露其Java Degelete方法類,這樣以后實(shí)施人員去配置的時(shí)候,第一他每次去配個(gè)service task都要去配置,第二他不會(huì)知道這個(gè)任務(wù)要配什么委托類,所以這對(duì)職責(zé)單一的一個(gè)service task來(lái)說(shuō),比如就需要一個(gè)解析xml的任務(wù),那么我除了id ,name,其他都是不需要的,內(nèi)部封裝屬性,不暴露出去。

    • 圖標(biāo)單一,一眼看不出任務(wù)職責(zé)。

    • 子流程內(nèi)容跟父流程內(nèi)容在一個(gè)面板,流程定制面視覺(jué)效果不好,而且固定子流程不能得到復(fù)用。

            對(duì)以上一些不足,其實(shí)對(duì)activiti來(lái)說(shuō),他要考慮的當(dāng)然是多開(kāi)放配置,更容易兼容場(chǎng)景,或許有些人會(huì)認(rèn)為這都不是事,做這種擴(kuò)展沒(méi)有必要,大題小作。仁者見(jiàn)仁智者見(jiàn)智吧,我認(rèn)為這種擴(kuò)展,

            對(duì)使用會(huì)更便捷,用戶友好性也更好,具有一定的業(yè)務(wù)特色,也不改變?cè)鷄ctiviti任務(wù)的職能,何樂(lè)不為。

 

  • 如何擴(kuò)展

         首先考慮一下可行性,這種擴(kuò)展以什么為切入點(diǎn)。擴(kuò)展任務(wù)節(jié)點(diǎn),那就得發(fā)現(xiàn)service task這個(gè)任務(wù)的特性,它不想user task,script task的只能那么單一,它可以指定委托處理類,來(lái)達(dá)到執(zhí)行目的。

          因此,在任務(wù)定制這方面,完全可以由service task進(jìn)行屬性擴(kuò)展和封閉。具體擴(kuò)展細(xì)節(jié),如下考慮   

 


    • UI上擴(kuò)展屬性

    網(wǎng)友評(píng)論