torbenb
committed
on 24 Jun 10
adding some list procs useful in modeling
openacs-4/.../www/doc/specification.adp (+1 -1)
1 1
2 2 <property name="context">{/doc/workflow {Workflow}} {Workflow Functional Specification}</property>
3 3 <property name="doc(title)">Workflow Functional Specification</property>
4 4 <master>
5 5 <h1>Workflow Functional Specification</h1>
6 6 <a href=".">Workflow Documentation</a>
7 7  : Functional Specification
8 8 <hr>
9 9 <p>By Lars Pind
10 10 </p>
11 11 <h2>Overview</h2>
12   <p>I recently built a typical workflow-based application, <a href="http://clients.museatech.net/bug-tracker/">bug-tracker</a>, and
  12 <p>I recently built a typical workflow-based bug-tracker, and
13 13 decided against using the acs-workflow package that I myself built.
14 14 That&#39;s not a good recommendation. We need to fix that.</p>
15 15 <h2>Goals</h2>
16 16 <p>The goal is to implement a workflow package that:</p>
17 17 <ul>
18 18 <li>Is ideally suited for at least 3 use-cases: Bug-tracker,
19 19 CMS-style publication process, and simple approval.</li><li>Gives people a usable UI.</li><li>Can be used entirely through a clean Tcl API</li><li>Doesn&#39;t require people to learn Petri Nets</li><li>Is much easier for developers to use in their applications</li>
20 20 </ul>
21 21 <p>Gripes with the current acs-workflow:</p>
22 22 <ul>
23 23 <li>Engine is in PL/SQL, not in Tcl, which makes it hard to write
24 24 callbacks.</li><li>Petri net is just too complicated for people to learn how to
25 25 use, and there are too many ways for them to mess up. The primary
26 26 benefit is parallel routing, which I&#39;ve never actually come
27 27 across any applications that seriously needed.</li><li>The UI sucks, and it&#39;s really hard to use workflow without
28 28 using the interface.</li><li>Graphviz is actually not terribly great at displaying workflow
29 29 nets, as it tries to fit everything into a circle, whereas most of
30 30 the time with workflow what you really want is to have it appear as
31 31 a nice sequence of events with some loops back here and there.</li><li>It&#39;s too restrictive and inflexible. It&#39;s hard to
32 32 change your mind and go back, or to manually bash the case into a