Am Mittwoch, 18. Juli 2007 21:52 schrieb Sam Bouhadana:
> Hello Thomas,
>
> Thank you for the response ...
> see comments below.
>
> On 7/18/07, Thomas Nunninger <[EMAIL PROTECTED]> wrote:
> > Hi Sam,
> >
> > sorry for answering that late....
> >
> > > -------- Forwarded Message --------
> > > From: Sam Bouhadana <[EMAIL PROTECTED]>
> > > To: Thomas Nunninger <[EMAIL PROTECTED]>
> > > Subject: Re: [Components] Question about ezWorkflow
> > > Date: Fri, 13 Jul 2007 08:46:24 -0400
> > >
> > > Hello Thomas,
> > >
> > > Thank you for the information.
> > > I just came across the ezComponents while I was looking a way to
> > > implement a workflow engine in one of the application we are
> > > planning to develop.
> > > The idea is to have a set of predifend "actions" that can be tied
> > > together by an administrator that configures the workflow. Based
> > > on the actions the user takes/makes the workflow would determin
> > > the next steps ...
> >
> > As Sebastian's approach of graph-oriented programming is very
> > powerfull, this should be possible with the workflow engine.
> >
> > > Some of the actions would also be time/date dependent ...
> >
> > What does "time/date dependent" mean? Is it a kind of timeout? Or
> > is it just waiting for some point of time till going on? Timing out
> > is not implemented at the moment. Waiting for something could be
> > solved via service objects.
>
> What I'm trying to say here is that the process can be executed in
> "one" session, i.e. user answers all requirements and system executes
> according to the workflow,

No problem

> Or the process might be executed over a period of time that can be of
> a duration of several days/weeks.

No problem, the execution is stored in the database till the workflow is 
ended. You only need to take care about the execution id somehow 
(cookie, save it in database or code it in some url).

> Based on the "start", after x nbr 
> of days an event is executed if a condition is not answered ... The
> "workflow" would be executed by the web server automatically every
> day and if an condition is met => an event is triggered and goes to
> the next step.

For regular checking, you need some kind of scheduler. The rest (going 
on without valid input) is a little bit tricky as the workflow sticks 
in an input node as long as it does not get answers. We had the same 
problems.

Our extensions (mainly timeout or also possible: cancellation) solves 
this. I guess we will contribute it - but the code needs to be 
rewritten partially.

Perhaps it's also possible to abuse the service objects. Let me explain 
this in more detail. Normally input nodes wait for user data. If this 
data is not availale or invalid, the workflow is suspend. Also service 
objects are able to suspend a workflow (if their execute() method 
returns false). I'm not sure, but that way you can perhaps reimplement 
the input node functionality somehow.

Have a nice evening

Thomas


>
> > The biggest thing is, to integrate the workflow engine in a good
> > way in your application. We wrote a Util class that offers methods
> > like
> >
> > - startWorkflow
> > - triggerWorkflow
> > - cancelWorkflow
> > - jumpToCursor
> >
> > (the last two are depending on our extensions of the workflow
> > engine). Also we wrote a scheduler which regularly triggers the
> > workflow executions, e.g. for timeouting workflows (another of our
> > extensions of the engine) or it is e.g. possible that a service
> > object checks a mailbox if some specific mail arrived.
> >
> > > That is the basic idea in a few words ...
> > > I was just looking to have a more concrete example, that I could
> > > use to understand the concepts of "graph oriented programming".
> >
> > I will have a look, what's possible to send to you (via private
> > mail) - but be patient...
> >
> > > Thank you again, If you have any other info. that you think might
> > > be usefull for me please send it ... and let me know if I could
> > > do something for you...
> >
> > Hehe, you can spend me a beer when we meet some time :-)
>
> I would buy you more than one  ;-)
>
> Thank you,
>
> Sam
>
> > Have a nice day
> >
> > Thomas
> >
> > > Sam
> > >
> > > On 7/13/07, Thomas Nunninger <[EMAIL PROTECTED]> 
wrote:
> > > > Hi Sam,
> > > >
> > > > > > I would like to know if you have a example that uses the
> > > > > > workflow component that you implemented that is more
> > > > > > complete than the ones that are included in the
> > > > > > documentation.
> > > > >
> > > > >  there are some in the test suite. You should ask qustions
> > > > > like this on the eZ Components mailinglist, though. There is
> > > > > at least one subscriber there (Thomas Nunninger) who may be
> > > > > able to help you with more complex examples.
> > > >
> > > > what would you like to see/know? Basically defining a workflow
> > > > is based on the patterns you can find in the test cases. It's a
> > > > little bit like using conditions and loops in a programming
> > > > language where you define your functions (service objects).
> > > > Thus almost everything is possible...
> > > >
> > > > Till now we mainly enhanced/hacked the workflow engine and
> > > > build an Util class that solves things like startWorkflow(),
> > > > triggerWorkflow(), cancelWorkflow() or jumpToOtherPosition().
> > > > Yes, there are some additions to the workflow component itself
> > > > - cancellation and jumping is not supported in the component
> > > > itself. Also we inhereted the XML Storage Definition to our own
> > > > XML reader and - as we mainly use the Zend Framework - I was
> > > > forced to reimplement the database tie in. Also we enhanced the
> > > > visualization visitor and the input validation of input nodes.
> > > > (Probably I will be able to contribute some parts to eZ later.
> > > > - But I guess Sebastian won't like some of the bad hacks :-D )
> > > >
> > > > Till now we mainly defined one registration workflow. Others
> > > > will follow soon. But I guess I'm not allowed to send it to
> > > > you. Perhaps I can send you the graphical representation (need
> > > > to ask my boss about that) - but I'm not sure if you directly
> > > > see what happens from the graphic.
> > > >
> > > > I propose that you ask more specific. Perhaps you have an
> > > > example workflow where I can support you in defining. Perhaps
> > > > you have questions about integration in an application. Perhaps
> > > > you don't know how to define one specific things. Just ask - I
> > > > try to answer. But as we are very busy, I guess, I need to do
> > > > that mainly in my spare time. Thus don't expect fast answers...
> > > >
> > > > Have a nice day
> > > >
> > > > Thomas
> > > > --
> > > > Components mailing list
> > > > [email protected]
> > > > http://lists.ez.no/mailman/listinfo/components
-- 
Components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/components

Reply via email to