<workflow> <type>myworkflow</type> <state name="INITIAL"> <action name="upload file" resulting_state="uploaded" /> </state> <state name="uploaded" autorun="yes"> <action name="verify file" resulting_state="annotate"> <!-- everyone other than 'CWINTERS' must verify --> <condition test="$context->{user} ne 'CWINTERS'" /> </action> ...
I'd be much happier with:
my $workflow = Workflow::Generator->new(type => "myworkflow"); $state = $workflow->add_state(name => "INITIAL"); $state->add_action(name => "upload file", resulting_state => "uploa +ded"); $state = $workflow->add_state(name => "uploaded", autorun => "yes") +; $state->add_action(name => "verify_file", resulting_state => "annot +ate"); $condition = $state->add_condition(test => \&check_file);
It's more conscise and all the power of Perl is available for making repetitive structures from common data. If I ever decided to use Workflow I think Workflow::Generator would be my first project.
-sam
In reply to Re^2: Are state machines just for parsing?
by samtregar
in thread Are state machines just for parsing?
by samtregar
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |