我使用alfresco/activiti定義了自定義工作流程。在我的模型我定義的一些屬性旁邊有關聯,這將代表了團隊成員的自定義方面現在無法更新任務關聯
<aspects>
<aspect name="mcwm:projectCharter">
<properties>
........
<property name="cm:userName">
..........
</property>
</properties>
<associations>
<association name="mcwm:teamWithDoc">
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cm:person</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>
</associations>
,在我的工作流程,我有5個任務,並在每一個任務我設置強制性的方面,其我上面描述。
<type name="mcwm:submitStart">
<parent>bpm:startTask</parent>
<mandatory-aspects>
<aspect>bpm:assignee</aspect>
<aspect>mcwm:projectCharter</aspect>
</mandatory-aspects>
的問題是,如果一些用戶例如對任務1臺協會mcwm過程的開頭:teamWithDoc(接從露天倉庫小組成員),屬性是很好的傳遞到任務2。但是,如果在任務3中某個分配給任務2的其他用戶更改了mcwm:teamWithDoc(例如,添加了更多團隊成員或刪除了一些團隊成員),則看不到這些更改。在任務3上mcwm:teamWithDoc具有在啓動任務中設置的值。不管其他用戶在任務2,任務3或任務4中使用mcwm:teamWithDoc,mcwm:teamWithDoc總是具有在開始時設置的值?
任何想法如何更新此關聯?
P.S.我使用execution.setVariable('propertName',task.getVariable('propertName'))來更新任務之間的常規屬性。但對於這種聯繫來說,這不起作用。
問候, 亞歷山大
我使用的Activiti不是JBPM,這個控制器在Activiti中可用嗎?此外,我沒有訪問關聯的問題(我正在從Java類這樣做,這很好)。我的問題是如何傳遞任務之間的關聯值,或者確切地說,如果我的關聯在一項任務上更新,我如何在其他任務上看到這些更改?在我的情況下,用戶在任務1中選擇了一些團隊成員,並且如果用戶在任務2,3或4上更改了這些團隊成員,則更改不會反映在任務2,3或4上。團隊成員關聯仍然具有第一步選取的值。 – Aleksandar 2012-03-13 11:04:28
您需要將該任務的關聯值保存爲一般值並使用該值。任務實例值/屬性在結束時消失。所以你需要定義一個Proces變量來保存實際的值並且推拉它。 – 2012-03-13 16:11:08
我把關聯值從第一個任務到全局值。在我的第二個任務,我有完全不同的關聯(不同的變量)。在第二個任務創建我設置第二個變量的全局值的值只是爲了用戶可以在前一個任務上鍵入的內容。在第二個任務完成時,我想要選擇第二個任務關聯的值以將其放在全局變量上,但即使用戶在任務期間選擇了某個東西,第二個任務關聯值也不會更新,她的值與我在任務創建時設置的值相同。看起來關聯的價值只能設置一次? – Aleksandar 2012-03-20 11:12:04