Note: I've added @default attribute - same as for other components --VG

A. Integrating the flow processor/engine:

<!-- engine V1 -->
<map:flows default="js">
  <map:flow name="js" type="javascript">
     <script src="flow/PetStoreImpl.js"/>
     <script src="flow/petstore.js"/>
  </map:flow>
  <map:flow name="java" type="atct" class="org.apache.cocoon...."/>  
  <map:flow name="fsm" type="fsm" src="descriptors/fsm.xml"/> 
</map:flows>

or

<!-- engine V2 -->
<map:flows default="js">
  <map:flow name="js" type="javascript">
     <script src="flow/PetStoreImpl.js"/>
     <script src="flow/petstore.js"/>
  </map:flow>
  <map:flow name="java" type="atct">
    <class src="org.apache.cocoon...."/>
  </map:flow>
  <map:flow name="fsm" type="fsm">
    <blabla src="descriptors/fsm.xml"/>
  </map:flow>
</map:flows>

or

  <!-- engine V3 -->
  <map:flow name="js" type="javascript">
     <script src="flow/PetStoreImpl.js"/>
     <script src="flow/petstore.js"/>
  </map:flow>
  <map:flow name="java" type="atct">
    <class src="org.apache.cocoon...."/>
  </map:flow>
  <map:flow name="fsm" type="fsm">
    <blabla src="descriptors/fsm.xml"/>
  </map:flow>

B. Call a flow the first time:

Note: attribute @type can be omitted --VG

<!-- call V1 -->
<map:call type="js" flow="[yourFlow]">
    <map:parameter name="x" value="y"/>
</map:call>

or

<!-- call V2 -->
<map:initiate flow="js" call="[Javascript function]">  
   <map:parameter name="x" value="y"/> 
</map:initiate>

or

<!-- call V3 -->
<map:initiate type="java" src="[Java method]">
   <map:parameter name="x" value="y"/> 
</map:initiate>

or

<!-- call V4 -->
<map:flow type="java" start="">
   <map:parameter name="x" value="y"/> 
</map:flow>

or

<!-- call V5 -->
<map:initiate type="js" flow="[Javascript function]">  
   <map:parameter name="x" value="y"/> 
</map:initiate>

C. Continue a flow

Note: attribute @type can be omitted --VG

<!-- continue V1 -->
<map:continue id="{1}" type="">
   <map:parameter name="x" value="y"/>
</map:continue>

or

<!-- continue V2 -->
<map:continue state-id=".." type="">
   <map:parameter name="x" value="y"/>
</map:continue>

or

<!-- continue V3 -->
<map:call state="" type="js">
   <map:parameter name="x" value="y"/>
</map:call>

or

<!-- continue V4 -->
<map:continue from="..." type="js">
   <map:parameter name="x" value="y"/>
</map:continue>

or

<!-- continue V5 -->
<map:continue src="..." type="js">
   <map:parameter name="x" value="y"/>
</map:continue>

or

<!-- continue V6 -->
<map:flow continue="" type="java">
   <map:parameter name="x" value="y"/> 
</map:flow>

or

<!-- continue V7 -->
<map:continue flow=".." type="java">
   <map:parameter name="x" value="y"/> 
</map:continue>

D. Component declaration

<!-- component V1 -->
<flow-engine default="[yourController]" logger="[yourLogger]">
  [configuration]
</flow-engine>

or

<!-- component V2 -->
<flow-processor default="[yourController]" logger="[yourLogger]">
  [configuration]
</flow-processor>

E. Renamings

  • [V1] Changes in the current Javascript implementation: *rename "Interpreter" to "FlowEngine" (or FlowProcessor conform decission on above), *rename "WebContinuation" to "FlowState", and accordingly *"WebContinuationManager" to "FlowStateManager".

  • [V2] do nothing because it is an implementation detail

Voting results

Jörg

     |   A   |   B   |   C   |   D   |   E   |
 ----|-------|-------|-------|-------|-------|
     |       |       |       |       |       |
 V1  |  -1   |  +0   |  +0   |  +.5  |  +1   |
     |       |       |       |       |       |
 V2  |  +1   |  -1   |  -0   |  +.5  |  -1   |
     |       |       |       |       |       |
 V3  |  ??   |  +.5  |  -1   |   \   |   \   |
     |       |       |       |       |       |
 V4  |   \   |  -1   |  -0   |   \   |   \   |
     |       |       |       |       |       |
 V5  |   \   |  +1   |  +.5  |   \   |   \   |
     |       |       |       |       |       |
 V6  |   \   |   \   |  -1   |   \   |   \   |
     |       |       |       |       |       |
 V7  |   \   |   \   |  +1   |   \   |   \   |
     |       |       |       |       |       |
 ----|-------|-------|-------|-------|-------|

Reinhard

     |   A   |   B   |   C   |   D   |   E   |
 ----|-------|-------|-------|-------|-------|
     |       |       |       |       |       |
 V1  |  +0   |  +0   |  +0   |  +.5  |  +0   |
     |       |       |       |       |       |
 V2  |  +1   |  -1   |  -1   |  +.5  |  +0   |
     |       |       |       |       |       |
 V3  |  +0   |  -1   |  -1   |   \   |   \   |
     |       |       |       |       |       |
 V4  |   \   |  +.5  |  -0   |   \   |   \   |
     |       |       |       |       |       |
 V5  |   \   |  +1   |  +.5  |   \   |   \   |
     |       |       |       |       |       |
 V6  |   \   |   \   |  -0   |   \   |   \   |
     |       |       |       |       |       |
 V7  |   \   |   \   |  +1   |   \   |   \   |
     |       |       |       |       |       |
 ----|-------|-------|-------|-------|-------|
  • No labels