First, I'd like to say I'm new to playing with Ruote (and to OpenWFE -
the Java version), and I'm impressed.  I know enought o be dangerous
with JBoss JBPM, and I have rolled plenty of my own state-based
workflows, and the ruote engine seems like an excellent piece of
work.  Kudos to the development team.

Second,  I'd like to get involved.  The doc seems to need some help,
and besides being a developer, I do a lot of writing and public
speaking.  I could help there.

Third, to that end, I have a couple of questions based on an xml
definition that I have working in OpenWFE and would like to get
working in ruote-web2.  It *kind-of* works now, but I'm not sure if
I'm running into yet-to-be-written holes, bugs, or config issues.

Here is a sample workflow I have worked up(included below); a
hypothetical provisioning of a server in a data center (includes some
branching, sequences, concurencies, etc.  Would make a good demo piece
and you are welcome to include it).

This works in the Java version of OpenWFE, but I have some issues in
ruote-web2:

1- ruote-web2 doesn't generate a graph of the process.  Is that not
implemented yet, or do I have to have something like imagemagick or
graphviz installed?

2- This is written against the default roles in OpenWFE, which don't
exist in ruote-web2.  I would love to have the same xml chunk work in
both (for demo purposes), but haven't played with the users and groups
yet...

3- When editing the form values in ruote-web, they don't persist.  For
instance, entering a PO number or entering a decision of "approved" on
the form in the browser isn't saved with a proceed.  This prevents the
conditional part of this workflow from executing.  Is that a bug or
pending implementation?

Thanks for the help,

- David Bock


<?xml version="1.0" encoding="UTF-8"?>

<!--
  a sample implementation of machine provisioning workflow
-->

<process-definition name="Provisioning Workflow" revision="1.0">

    <description>
      automates the process of gathering info and provisioning a
machine for a data center
    </description>

    <filter-definition name="ip-view" add="false" remove="false">
      <field regex="status" permissions=""/>
      <field regex="location" permissions=""/>
      <field regex="purchase_order" permissions="r"/>
      <field regex="ip_address" permissions="rw"/>
      <field regex="machine_name" permissions=""/>
    </filter-definition>

    <filter-definition name="machine-name-view" add="false"
remove="false">
      <field regex="status" permissions=""/>
      <field regex="location" permissions=""/>
      <field regex="purchase_order" permissions="r"/>
      <field regex="ip_address" permissions="r"/>
      <field regex="machine_name" permissions="rw"/>
    </filter-definition>

    <filter-definition name="location-view" add="false"
remove="false">
      <field regex="status" permissions=""/>
      <field regex="location" permissions="rw"/>
      <field regex="purchase_order" permissions=""/>
      <field regex="ip_address" permissions=""/>
      <field regex="machine_name" permissions=""/>
    </filter-definition>

    <filter-definition name="installation-view" add="false"
remove="false">
      <field regex="status" permissions="r"/>
      <field regex="location" permissions="r"/>
      <field regex="purchase_order" permissions="r"/>
      <field regex="ip_address" permissions="r"/>
      <field regex="machine_name" permissions="r"/>
    </filter-definition>

    <sequence>

        <set field="purchase_order" value="#" />
        <participant ref="role-alpha" description="please provide your
PO Number" />
        <set field="status" value="pending" />
        <participant ref="role-bravo" description="please approve or
deny"/>

        <if>
          <equals field-value="status"  other-value="approved" />
          <sequence>
            <concurrence merge-type="mix">
              <sequence>
                <set field="location" value="" />
                <participant ref="role-charly"
                             filter="location-view"
                             description="please assign rackspace..."/
>
              </sequence>
              <sequence>
                <set field="ip_address" value="" />
                <set field="machine_name" value="" />
                <participant ref="role-charly"
                             filter="ip-view"
                             description="please assign an ip
address..."/>
                <participant ref="role-charly"
                             filter="machine-name-view"
                             description="please assign a machine
name..."/>
              </sequence>
            </concurrence>
          </sequence>

          <participant ref="role-charly"
                       filter="installation-view"
                       description="please install the equipment in
the location..."/>
          <participant ref="role-charly"
                       filter="installation-view"
                       description="please install software on the
system..."/>
        </if>

        <participant ref="role-alpha" description="Your request is
done." />
    </sequence>
</process-definition>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Ruote (OpenWFEru) users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/openwferu-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to