第二支程式只舉AllowOwnerOnlyCondition為例,事實上OSWorkflow 2.7版提供了以下四種限制條件。
  • OSUserGroupCondition:限制由隸屬某指定Group的人執行。
  • StatusCondition:限制step的status為某個值時才能執行。
  • AllowOwnerOnlyCondition:只允許Owner執行。
  • DenyOwnerCondition:只有Owner不能執行。
當同時要加上兩個限制條件時,可以如下寫。
<restrict-to>
  <conditions type="AND">
    <condition type="class">
      <arg name="class.name">
         com.opensymphony.workflow.util.StatusCondition
      </arg>
      <arg name="status">Queued</arg>
    </condition>
    <condition type="class">
      <arg name="class.name">
        com.opensymphony.workflow.util.OSUserGroupCondition
      </arg>
      <arg name="group">A0001</arg>
    </condition>
  </conditions>
</restrict-to>