目次
1. まずActivitiとは
2. 今回詰まったこと
3. 解決法
1. まずActivitiとは
ActivitiとはJavaで実装されたオープンソースのワークフローエンジンです。
仕事や業務の流れを制御してくれて、フローを簡単に構築してくれる便利なツールです。
フリーで提供されているので、人気も高いそうです!
2. 今回詰まったこと
Activitiを構成するXMLファイルにて、ワークフローのタスク名のラベル表示を変更したのですが、修正後に画面をF5で更新しても変更が全く反映されず。。。
修正箇所は絶対に合っているのになぜ。。。。
★修正箇所★
activiti:candidateGroups="作業内容承認"
↓
activiti:candidateGroups="作業内容\n(承認)"
<userTask id="作業内容承認" name="承認" activiti:candidateUsers="${CeoRole}" activiti:candidateGroups="作業内容\n(承認)" activiti:assignee="${assignee}">
<extensionElements>
<activiti:formProperty id="" type="enum" variable="action" required="true">
<activiti:value id="back" name="差戻し"></activiti:value>
<activiti:value id="approve" name="承認"></activiti:value>
</activiti:formProperty>
</extensionElements>
<multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${CeoRole}" activiti:elementVariable="assignee">
<completionCondition>${action!='approve'}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
3. 解決法
画面更新ではなく、ワークフローを新たに申請しなおすことで、変更が反映されました!!!
というのも、まずActivitiが提供するワークフローの仕組みを理解できていませんでした。。
Activitiを使用して作成したワークフローは、
ワークフローを開始(申請)すると、その時点でのXMLの内容が"ACT_xxxx"というテーブルにそのまま保存されます。
(このテーブルは1つの申請に対して1つ作成されます。)
一度申請したものはこのテーブルの中のXMLの内容をもとにフローが進んでいくため、
画面だけ更新しても変更が反映されなかったということでした。
なので、新たに申請することで、最新状態のXMLの内容でワークフローを進めることができたということです!
単純なことでしたが、もし誰かのお役に立てれば嬉しいです!
読んでいただきありがとうございましたm(__)m