cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephan Michels <>
Subject Re: [Vote] Controller/Sitemap integration
Date Wed, 16 Jul 2003 18:21:02 GMT

If I think on different implementations for the flow,
the names are not every intuitive, IHMO.

So, can I offer some alternatives?

On Wed, 16 Jul 2003, Reinhard Pötz wrote:

>   [A] The "Cocoon Advanced Control Flow" provides a controller that is
>       linked into the sitemap (as **child element** of <map:sitemap
> .../>:
>       <map:flow type="[yourEngine]">
>           [configuration]
>       </map:flow>
>       This reflects that the flow is not a *usual* sitemap resource but
>       something else.

The point, which irritates me, is that you don't have a identifier
to address the script/whatever.

So my favorite choise will be

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

So this will be coherent with the other objects.

>   [B] The controller is called by:
>       <map:call flow="[yourFlow]">
>         <map:parameter name="x" value="y"/>
>       </map:call>

Seems fine, an alternative will be

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

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

<map:initiate type="fsm" call="[Name of state]">
 <map:parameter name="x" value="y"/>

I like the combination of initiate/continue

>   [C] A state of the controller is called by:
> 	<map:call state="">
>         <map:parameter name="x" value="y"/>
>      </map:call>

We don't call states in this sense. We continue
a continuation ;-)
I guess <map:continue continuation="{1}"/> is bad.

<map:continue src="{1}"/>
<map:continue id="{1}"/>

>   [D] All flow interpreters[3] are Avalon components and declared
>       in the cocoon.xonf:
>       <flow-engine default="[yourController]" logger="[yourLogger]">
>         ...
>       </flow-engine>

+1, except the name, see next.

>   [E] Changes in the current Javascript implementation:
>       - rename "Interpreter" to "FlowEngine",

Again, to be coherent my favorite is
<flow-processor> like <xslt-processor> and <xpath-processor>, or

>       - rename "WebContinuation" to "FlowState", and accordingly
>         "WebContinuationManager" to "FlowStateManager".

Yes, the Continuation represents a state, but to make a clear
difference as a new concept, I think 'Continuation' is accurate.
But 'Web..'?!

- rename "WebContinuation" to "Continuation", and accordingly
         "WebContinuationManager" to "ContinuationManager".


Stephan Michels.

View raw message