One of the marquee features of the ElectricCommander 3.8 release is a powerful workflow automation engine. It’s pretty slick, but once you get past a handful of states and transitions, it’s hard to keep track of what’s going on. So over the weekend I decided to see if I could write a visualization tool for Commander workflows. The result is Flowviz 1.0, a Commander plugin for graphically displaying workflow definitions and active workflows.
Once you have the pieces installed, you’ll have to set up a Commander view that incorporates Flowviz. I used this view definition:
<view> <base>Default</base> <tab> <label>Flowviz</label> <url>pages/Flowviz-1.0/flowviz</url> </tab> </view>
Viewing active workflows
To view an active workflow with Flowviz, first go the Flowviz tab. There you’ll be able to specify the workflow to view, by giving the name of the project and the name of the workflow. Make sure the “Workflow” option is selected, then click the “Show workflow” button:
You’ll be rewarded with an image of your running workflow. The active state will be highlighted, as will any available manual transitions from that state:
Clicking on an available transition will cause the workflow to follow that transition, and then you’ll be returned to the Flowviz visualization:
Viewing workflow definitions
To view a workflow definition with Flowviz, first go to the Flowviz tab. This time, enter the name of a project and the name of a workflow definition. Make sure the “Workflow definition” option is selected, then click the “Show workflow” button:
Flowviz will present a visualization of the specified workflow:
From here, you can add new states by clicking the “Create State Definition” link. Clicking on a node in the graph will take you to the “State Definition Details” page for that state.
Caveats and limitations
There are a few limitations to Flowviz 1.0:
- The active workflow view does not support manual transitions with parameters.
- The workflow definition view does not provide a way to directly add transitions; to do so, you must first bring up the “State Definition Details” for a state, and then add transitions via that interface.
- Flowviz uses SVG to display the graph. Firefox and Chrome both support SVG natively, but IE requires a client-side plugin.
- The server-side components of Flowviz have only been tested on Linux. Although I believe they should work (with minor modifications) on Windows, your mileage may vary.
UPDATE (Jan 25): thanks to some feedback from Electric Cloud engineering, I have restructured the plugin to avoid the need for the additional external CGI; the text above has been updated to reflect the new installation instructions.