Additions to Route Description Language "queue" renamed to "Assigned to:" "owner" renamed to "Taken by:" Is this clearer? A form is typically assigned to a group, but taken by an individual. Have to add new feature to route: "approval-required" which is a list of persons (possibly dynamic, as in "Supervisor-of(previous-owner)") one of which must approve the form before it can exit this state. Could also have the "and-list" and the "or-list," where all the people on the and-list and one person on the or-list must approve before the form can advance. (lists can be NIL) X of Y approvals: Form can advance to a state only when a subset of people on the approval list buy off on it. Or could this go into the entrance- action, as a query which is run? Maybe the first attempt to enter the state would cause Phaedo to notice the other forms/owners this original depends on, and rerun the query whenever any of the forms/ owners changes state. Dynamic default owners: DEFAULTQUEUE: total < 500 ? low-level-approver : high-level-approver Dynamic stops: ACTIONLIST: total < 100 ? {"Purchase", 3} : {"Obtain Approval", 4}, {"Give Up", 999} (i.e., allow routing directly to "purchase" only if total < 100) Indirection: Need to have level of indirection of owner names to allow for changing job responsibilities. For example, low-level-approver = {tjm, jon} high-level-approver = {cec} This should be stored in the database along with the rdl/fdl. Issue: Do we want form-independant groups, e.g. IS directors? Cancellation/Revocation rules: should this just be a boolean? IE, PULLBACK: True Probably too complex to have to allow for pullback at any point. Enter/Leave actions Should be able to do arbitrary actions when form enters/leaves a state. Similar to "query" in FDL. Spawning child forms would be an action using an automated routine to kick off another form (or forms). (Use database "0" as Phaedo itself, and can simulate user interactions this way) Entrance and Exit criteria? For example, a form not being able to enter or leave a state until certain conditions were true: Supervisor approval if value > 500, sum of all items a perfect square, three of five authorized approvers have clicked "Yes", etc. How do we represent these? Notice boxes Should be able to pop up a box with arbitrary contents and a "Dismiss" button on the bottom. Allow selection from a scrolling list to disambiguate provide for input of additional information?