Workflow Data Object Values History:
An audit log of the Process Instance Data used as input and output for activities in a Process Instance.
During the life of a Process Instance, data is stored in the attributes of workflow data objects. The value of these attributes can change at many points during the execution of the process. The attributes values can also be used at many points. A Workflow Data Object Values History record is created any time an activity reads (or modifies) the value of a workflow data object attribute during the execution of a Process Instance. Hence the set of Workflow Data Object Values History rows for a given Process Instance provide an audit trail of the Process Instance Data for the life of that Process Instance.
Example
You define a workflow (Process Definition) to allow correspondence to be sent to customers whenever their payment details change. The activities defined in your workflow are:
- system prints out a letter (automatic);
- User puts the letter in an envelope and posts it (manual); and
- 'End Process' (a necessary step to end the workflow which is mandated by the Process Definition Tool).
Person John Smith's payment details change due to an increase in rates. This increase raises an event which causes the Workflow Engine to enact your workflow and create a Process Instance.
The initial activity in the process is 'system prints out a letter', so the Workflow Engine gets the necessary data for printing the letter (name, case, etc) from the attributes of the workflow data objects available to it. Before the activity is executed, the engine detects that an activity is about to use some Process Instance Data and creates a Workflow Data Object Values History row to record the data values used.
The second activity in the process is 'User posts the letter'. Once this has been done, the Workflow Engine updates another Workflow Data Object attribute with the time at which the letter the letter was posted. The engine detects that an activity has changed some Process Instance Data and creates a Workflow Data Object Values History row to record the change.
Technical Notes
The pool of workflow data objects can be quite large, so it would be inefficient to log the values of the entire data pool before and after every activity. Hence the workflow engine ensures that only those workflow data object attributes that are either used (as input to) or modified (as output from) an activity are audited.
|