Subject: RE: After the tease - ya gonna show anything?
OK, that makes a bit more sense.
There are 3rd party workflow tools that automate most of what you’re trying to do. If your company does cost/benefit type analysis, this may be one of those places where buying is cheaper than building.
Most of my apps include workflows. Most of the apps are fundimentally different so I need to build each workflow independently.
The closest I’ve come is an app with two main paths through the system, each with a set of mandatory forms. In this system, I associate each form with a workflow (or workflows), then initiate the workflow by filling in a request form where the workflow is selected. The process then creates a set of docs based on the workflow and pre-fills any static information into each doc. The workflow is finished when all docs are signed. A new workflow would get new forms.
Form Parent - all workflows
Form 1 - workflow 1
Form 2 - workflow 1, workflow 2
Form 3 - workflow 2
Request workflow 1, get docs based on Form Parent, Form 1 and Form 2
Request workflow 2, get docs based on Form Parent, Form 2 and Form 3
Docs based on Form Parent can’t be signed/closed until all subsidiary forms are signed/closed.
Now I’ll try and really confuse you.
The app is based on the idea that each ‘step’ in the process is fundimentally identical to every other step except in the details. Each step as a name, an inidividual assigned to manage the step, due dates, completion dates, and maybe some free text.
Since each step is the same, there is really only one form.
There is a method to create a name for a step, define which fields are displayed when that name is used, and change the boilerplate text next to a field.
SimplifiedEX:
On this form are three fields
Field ‘stepName’ - there is a view listing all possible steps. Let’s say we build a doc with ‘stepName’ = “Vacation - manager approval”
Field ‘displayApproverTitle’ - cfd, derived from the view listing each possible step and the defaults for those steps. For the step ‘Vacation - manager approval’, this field would display ‘Manager’.
Field ‘Approved’ - maybe a checkmark.
If I create a second doc where ‘stepName’ = ‘Vacation - director approval’, the ‘displayApproverTitle’ would now say ‘Director’.
You fill in a top level parent doc with some demographic data and a way to define the specific workflow, then run a process to spawn child docs for that workflow. The docs are all copies of a single form, one for each defined step in the workflow, each with apparently unique form fields, but actually all the same under the hood. You can show/hide fields, make some mandatory for specific steps, whatever, all by just managing the definitions for each ‘step’.
Fully implemented, the developer isn’t even involved. The owners of the system just create the defaults for a workflow and the right set of child docs is spawned for each workflow. In actuality, setting up the defaults is complex enough that I keep getting dragged in, but I’m building docs, not changing design so the process is much easier to manage.
If this sounded interesting but not terribly understandable, let me know and contact me off-line (email at my profile link). I’m out of the office until 2.Jan so don’t expect an immediate response but I will get back to you.
Doug