2012-03-13 40 views
0

我使用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'))來更新任務之間的常規屬性。但對於這種聯繫來說,這不起作用。

問候, 亞歷山大

回答

1

而不是使用這種方法,你可以更好地運用task controller與使用任務控制器就可以輕鬆搞定的關聯。查看wiki獲取關於如何獲得關聯的更多信息。

E.g.它看起來像下面這樣:

<controller> 
    <variable name="prop" access="read,write" mapped-name="mcwm_projectCharter"/> 
</controller> 

,那麼你有mcwm_projectCharter映射來支撐。因此,你可以通過prop.assocs [「mcwm:teamWithDoc」] [0]來獲得第一個或者遍歷它。

+0

我使用的Activiti不是JBPM,這個控制器在Activiti中可用嗎?此外,我沒有訪問關聯的問題(我正在從Java類這樣做,這很好)。我的問題是如何傳遞任務之間的關聯值,或者確切地說,如果我的關聯在一項任務上更新,我如何在其他任務上看到這些更改?在我的情況下,用戶在任務1中選擇了一些團隊成員,並且如果用戶在任務2,3或4上更改了這些團隊成員,則更改不會反映在任務2,3或4上。團隊成員關聯仍然具有第一步選取的值。 – Aleksandar 2012-03-13 11:04:28

+0

您需要將該任務的關聯值保存爲一般值並使用該值。任務實例值/屬性在結束時消失。所以你需要定義一個Proces變量來保存實際的值並且推拉它。 – 2012-03-13 16:11:08

+0

我把關聯值從第一個任務到全局值。在我的第二個任務,我有完全不同的關聯(不同的變量)。在第二個任務創建我設置第二個變量的全局值的值只是爲了用戶可以在前一個任務上鍵入的內容。在第二個任務完成時,我想要選擇第二個任務關聯的值以將其放在全局變量上,但即使用戶在任務期間選擇了某個東西,第二個任務關聯值也不會更新,她的值與我在任務創建時設置的值相同。看起來關聯的價值只能設置一次? – Aleksandar 2012-03-20 11:12:04

1

我認爲你的問題是相對於這個錯誤 https://issues.alfresco.com/jira/browse/ALF-13640

一旦你設置了關聯的值,你就不會改變它!

+0

嗨弗朗切斯科。我知道(我忘了在這裏過去),我的團隊負責人報告說這個錯誤,這對我們來說是阻礙的。不管怎樣,謝謝你。 :) – Aleksandar 2012-09-04 21:21:46