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 | \ | \ | | | | | | | ----|-------|-------|-------|-------|-------|