Hi,

I'm trying to have a "3-level" activation workflow, meaning 3 people 
participating to worklow.
Example: editor Eve launches the workfow ; publisher Patrick proceeds it ; then 
superpublisher John (new group defined) proceeds it and then it is activated.

I've change the activation workflow with the definition attached.
It almost works, but when the superpublisher John rejects or proceeds the 
workitem, it always goes back to publisher Patrick, even for reject and 
proceed. So it is never activated.

Does anyone see what is wrong with my workflow?

Thanks a lot,

Françoise. --------------------------------------------------------

Françoise Gérard ([email protected] )
Senior Consultant

 
BSB Luxembourg (www.bsb.com) 
7A, rue des MérovingiensZ.A.I. Bourmicht - L-8070 Bertrange
T:+352 47 57 39 56 - F:+352 47 57 39 99
--------------------------------------------------------
BUSINESS SOLUTIONS BUILDERS DISCLAIMER
This e-mail message and any attachments are intended exclusively for the 
addressee(s) and may contain information which is confidential and/or protected 
by intellectual property rights. If you receive this e-mail by mistake, please 
notify immediately the sender, or Business Solutions Builders (by e-mail at 
[email protected]), and delete the message and any attachments without 
printing, copying or opening it. Any disclosure, reproduction, distribution or 
use of this message or any attachments, by persons other than the designed 
addressee(s), is strictly prohibited. E-mail transmission and Internet use 
cannot be guaranteed to be secure. Business Solutions Builders and its 
subsidiaries cannot be held responsible for any loss, delay or damage arising 
from their use.
--------------------------------------------------------

----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------
<process-definition name="activation" revision="j0.0.2">

  <sequence>
    <set field="activator" field-value="userName"/>

    <!--  go to publisher first -->
    <to-publisher/>

    <!-- will loop if rejected -->
    <if test="${field:action} == reject">
      <revision-round/>
    </if>

    <!-- if the last action was proceed: call super publisher-->
    <if test="${field:action} == proceed">
	  <sequence>
        <to-super-publisher/>
        <!-- will loop if rejected -->
        <if test="${field:action} == reject">
          <super-revision-round/>
        </if>
        <!-- if the last action was proceed: activate-->
        <if test="${field:action} == proceed">
          <activate/>
        </if>
	  </sequence>
    </if>
  </sequence>
  
  <process-definition name="revision-round">
    <loop>
      <while>
         <equals field-value="action" other-value="reject" />
      </while>
      <to-editor/>
      <if test="${field:action} != proceed">
        <break/>
      </if>
      <to-publisher/>
    </loop>
  </process-definition>

  <process-definition name="super-revision-round">
    <loop>
      <while>
         <equals field-value="action" other-value="reject" />
      </while>
      <to-publisher/>
      <if test="${field:action} != proceed">
        <break/>
      </if>
      <to-super-publisher/>
    </loop>
  </process-definition>
  
  <process-definition name="to-publisher">
    <sequence>
      <!-- reset the assignTo field so the editor no longers see the workflow item --> 
      <unset field="assignTo"/>
      <participant ref="group-publishers"/>
    </sequence>
  </process-definition>
  
  <process-definition name="to-super-publisher">
    <sequence>
      <participant ref="group-superpublishers"/>
    </sequence>
  </process-definition>

  <process-definition name="to-editor">
    <sequence>
      <!-- assign back to the user who launched the activation -->
      <set field="assignTo" field-value="activator"/>
      <participant ref="group-editors"/>
    </sequence>
  </process-definition>

  <process-definition name="activate">
    <sequence>
      <!--  wait if scheduled -->
      <if>
        <defined field-value="startDate"/>
        <sleep until="${f:startDate}"/>
      </if>
      <!-- activate -->
      <participant ref="command-activate"/>
      <if>
        <defined field-value="exception"/>
        <!--  restart again -->
        <activate/>
        <break/>
      </if>
      <!-- deactivate (if scheduled)-->
      <if>
        <defined field-value="endDate"/>
        <sequence>
          <sleep until="${f:endDate}"/>
          <participant ref="command-deactivate"/>
        </sequence>
      </if>
    </sequence>
  </process-definition>

</process-definition>

Reply via email to