タスク遷移でカスタムワークフロープロパティ(workflowStatus)を更新したい。詳細には、ワークフローを承認すると、workflowStatusが「Approved」に変更され、拒否したときに、このプロパティは「Rejected」に変更されました。
どのようにできるのか??JavascriptまたはAlfrescoJavaScriptのような他の別のJavaファイルで書く?? 私はjbpmワークフローを使用しています。
タスク遷移でカスタムワークフロープロパティ(workflowStatus)を更新したい。詳細には、ワークフローを承認すると、workflowStatusが「Approved」に変更され、拒否したときに、このプロパティは「Rejected」に変更されました。
どのようにできるのか??JavascriptまたはAlfrescoJavaScriptのような他の別のJavaファイルで書く?? 私はjbpmワークフローを使用しています。
今、私はそれを解決することができます。CustomWorkflowApproveやCustomWorkflowRejectなど、トランジションごとに独自のアクションクラスを作成します。これらのクラスでは、ワークフローのプロパティを更新します。私のprocessdefinition.xmlの一部は次のとおりです。
<task-node name="approve2">
<task name="dmswf:reviewTask2" swimlane="approver2">
<event type="task-create">
<script>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
</script>
</event>
</task>
<transition name="approve" to="approved" >
<action class="org.ace.dms.bean.CustomWorkflowApprove"/>
</transition>
<transition name="reject" to="rejected" >
<action class="org.ace.dms.bean.CustomWorkflowReject"/>
</transition>
</task-node>
これは私のCustomWorkflowActionクラスです。
package org.ace.dms.bean;
import org.alfresco.repo.workflow.jbpm.JBPMSpringActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
public abstract class CustomWorkflowAction extends JBPMSpringActionHandler {
public static final String APPROVE = "Approved";
public static final String REJECT = "Rejected";
public static final String WORKFLOWSTATUS = "dmswf_workflowStatus";
public void updateWorkflowProperties(ExecutionContext context,
String workflowStatus) {
//update custom workflow property dmswf_workflowStatus, you can update any workflow property here
context.setVariable(WORKFLOWSTATUS, workflowStatus);
}
}
これは私のCustomWorkflowApproveクラスです。
package org.ace.dms.bean;
import org.jbpm.graph.exe.ExecutionContext;
import org.springframework.beans.factory.BeanFactory;
public class CustomWorkflowApprove extends CustomWorkflowAction {
@Override
public void execute(ExecutionContext context) throws Exception {
updateWorkflowProperties(context, CustomWorkflowAction.APPROVE);
}
@Override
protected void initialiseHandler(BeanFactory factory) {
// TODO Auto-generated method stub
System.out.println("Initialzize Handler");
}
}