lenya-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Fagerstrom <dani...@nada.kth.se>
Subject Re: Workflow definition document
Date Tue, 03 Jun 2003 14:36:11 GMT
Andreas Hartmann wrote:

> Hi Lenya developers, 

Hi, I'm not a Lenya developer, but I have been lurking on the list for a 
while and am very interested in having a workflow engine that can be 
used from Cocoon. There are numerous use cases for a workflow engine in 
that context besides publishing. A few examples of such use cases that 
we have discussed at my company recently (but implemented without using 
a wf engine this far), are:

* We build data warehouses, here we use a WF for keeping track on data 
deliveries for data warehouses and for updating data marts that depends 
on the data warehouses.
* We administer web questionaries, here we use a WF for keeping track on 
interaction with the people that we want to interview.
* In order processing system you need to know in what stage the order is.

> could you please discuss the following draft of a workflow
> definition document:
>
>
>
> --------------------
> a) general + fexible
> -------------------- 

I would prefer this solution. As far as I can see, there is nothing in 
the basic state and transition model, or the workflow interfaces in the 
CVS that are specific for publishing. And as mentioned above there are 
so many use cases for WF outside publishing that it IMO would be a good 
idea to keep the WF engine rather flexible.

It would also be rather easy to build such a more flexible WF engine as 
there allready is a framework in Cocoon for building language 
interpreters. Take a look at the package 
org.apache.cocoon.components.treeprocessor. Sylvain Wallez wrote the 
treeprocessor a few years ago as he wanted to have a sitemap interpreter 
instead of a compiler. Back then there were also discussion about 
building a XML based flow handeling language within Cocoon, so he wrote 
a framework that was suposed to be general enough for building general 
XML configured interpreters that are based on Avalon components.

A while ago I built a propertary framework for handling time series data 
in (pull based) pipelines. I based the "sitemap" interpreter for this 
framework on something that is very similar to the treeprocessor, and I 
am very happy with the flexibility of this solution. I didn't use the 
treeprocessor as I thought that I could manage with something simpler, 
but I was wrong got something quite similar to the treeprocessor in the 
end :)

If you are interested in using the treeprocessor for implementing the WF 
engine, and more generaly in "Avlonizing" the WF components I would be 
happy to contribute.

                                                       --- o ---

Going more into the details in your proposal I think that the main ideas 
look good. I also think that it could be a good idea to take a close 
look at the sitemap and try to follow the conventions from it. It will 
be much easier to learn Lenya and other Cocoon based framework  if there 
is some common style for all configuration files.

So something a litle bit more sitemap like could be:

<workflow ...>
  <components>
    <conditions>
      <condition name="role" class="..." logger="..."/>
      ...
    </conditions>
    ...
  <components>

  <workflow-definition>
    <states>
       <state .../>
       ...
    </states>
    ...
    <transitions>
      ...
      <transition event="approve" source="review" destination="live">
        <condition type="role" value="manager"/>
        <assign variable="is-live" value="true"/>
        <action type="cms" value="publish"/>
      </transition>
       ...
    </transitions>
  </workflow-definition>
</workflow>


<snip/>


                                                         -- o --

I also wonder about how you are integrating the WF engine with the 
sitemaps, I looked in the mail archives and browsed the code and 
couldn't find anything. Could you please give a link or some description 
of it.

/Daniel



---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-dev-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-dev-help@cocoon.apache.org


Mime
View raw message