Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning
titleMidPoint 3.9 or earlier

This page applies to midPoint 3.9 or earlier. Embedded workflow engine was removed in midPoint 4.0 and midPoint is now completely workflowless. If you still need manual processes as part of IDM interactions please see Policy-based approvals and Workflow Integration.


Table of Contents

General information

...

Related to model operations:

NameTypeCardinalityDescription
m:modelContextLensContextType0..1holds serialized model context of the current operation
m:skipModelContextProcessingBoolean0..1if TRUE, model context processing within ModelOperationTaskHandler is skipped


Related to workflows - present in tasks that watch workflow process instances (child tasks):

NameTypeCardinalityDescription
wf:processInstanceIdString0..1Contains relevant activiti process instance ID (when known).
wf:processInstanceFinishedBoolean0..1Just a flag whether the process instance related to the task has already finished (used e.g. to determine if the shadowing handler should end or not).
wf:changeProcessorString0..1Contains name of class that manages this particular model operation ("change", thus "change processor"). See below.
wf:statusString0..NContains history of process status messages. Such messages can contain any process-related messages that should be visible to the user (e.g. "your request was approved by engineering group, and is being sent to the management"). For simple processes, the status has mostly the value "Workflow process instance has proceeded". In order to be able to sort these status messages chronologically, each is prefixed by a timestamp (long value + formatted string value). Storing of these wfStatus values can be simply turned off in WfTaskUtil class.
wf:lastVariablesString0..1A dump of recent process instance variables (for diagnostic purposes).
wf:lastDetailsString0..1String representation of recent process instance information (for diagnostic purposes).
wf:deltaToProcessObjectDeltaType0..NContains deltaIn(i), i.e. delta(s) that has to be approved.
wf:resultingDeltaObjectDeltaType0..NContains deltaOut(i), i.e. delta(s) that are the result of the approval process (most common situation is that deltaOut(i) = either deltaIn(i) (if approved), or null/empty delta (if rejected).
wf:approvedByObjectReferenceType0..NContains a set of approvers who approved the delta(s). The change processor should put here those approvers that will be stored into approvers list in metadata when the operation is really executed.
wf:changeAspectString0..1Name of class that provides an interface between midPoint and activiti process.

Status, LastVariables, and LastDetails are currently used only for diagnostics. They are visible only via debug pages.

...

Process instance variables:

Name

Type

Set by

Content

processInstanceName

String

processor/wrapper

Process instance name, e.g. "Approving adding Webmaster to JoeDoe".

startTime

java.util.Date

processor/wrapper

When the process instance was started.

midPointTaskOid

String

processor/wrapper

OID of task related to the process instance.

midPointChangeProcessor

String

processor/wrapper

Java class name of the change processor (the same as wf:changeProcessor task property)

midPointProcessWrapper

String

processor/wrapper

Java class name of the process wrapper (the same as wf:processWrapper task property)

midPointRequesterOid

String

processor/wrapper

OID of the user who requested the particular operation (e.g. adding of a role to another user). Used e.g. for searching for process instances requested by particular user.

midPointObjectOid

String

processor/wrapper

OID of the object (typically, a user) that is being changed within the operation (null for ADD operation).

midPointObjectToBeAdded

ObjectType

processor/wrapper

Object that is about to be added (for ADD operation).

midPointDelta

String

processor/wrapper

XML representation of the delta to be approved. (Note that technically a process can approve more deltas; if necessary, this variable would have to be changed.)

util

ActivitiUtil

processor/wrapper

Object that provides various utility methods for use in processes, e.g. getApprover(RoleType r).

midPointState

String

process

Variable reflecting the process status, like "your request was approved by engineering group, and is being sent to the management". Stored into wfStatus task extension property.

midPointAnswer

Stringprocess

Textual representation of the decision obtained via wf process instance. For some processes, it is a simple __APPROVED__/__REJECTED__ flag. For others, here could be any string information.

[H]decisionBooleanprocessDecision whether to approve or reject particular work item - set by user task (form).
commentBooleanprocessComment related to that decision - set by user task (form).

Variables specific to the standard ItemApproval process (see ProcessVariableNames):

Name

Type

Set by

Content

approvalRequestApprovalRequestwrapperA data structure that describes the request to approve something. Contains item that has to be approved (e.g. assignment) and approval schema.
approvalTaskNameStringwrapperHow the user task (work item) should be named.

allDecisions

List<Decision>

process

List of all decisions done within this process instance.

loopLevels_stop

Boolean

process

Whether we have to stop approving at the current level (means the approval was rejected at this level).

level

ApprovalLevel

process

Information about currently active level of approval.

approversInLevel

List<LightweightObjectRef>

process

Approvers that should be consulted within this level.

decisionsInLevelList<Decision>processList of decisions done in this level.

loopApproversInLevel_stop

Boolean

process

Whether we have to stop evaluating current level (e.g. because strategy was 'firstDecides' and the first person decided (approved or rejected).

Variables specific to "add roles" approval process(es):

Name

Type

Content

userNameString

Name of user to which an assignment is to be made.


Processing model invocations

...