# ActivityDefinitionType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Describes an activity, i.e. something that has to be carried out within a task. It can be either simple (i.e. single action executed on a set of objects) or complex, i.e. a sequence of sub-activities. Note that in 4.4 midPoint supports only a plain list of activities. This means that a root activity can have sub-activities, but none of these can have any.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
order | property int | [0,1] | Relative order of this activity in a list.
identifier | property string | [0,1] | Identifier of this activity.
work | container WorkDefinitionsType | [0,1] | Describes the work that has to be done within this activity, e.
composition | container ActivityCompositionType | [0,1] | The current activity cannot be described by simple work specification.
executionMode | property ExecutionModeType | [0,1] | Execution mode for this activity: full, preview, dryRun, none, bucketAnalysis.
execution | container ActivityExecutionModeDefinitionType | [0,1] | Detailed definition of the execution mode.
controlFlow | container ActivityControlFlowDefinitionType | [0,1] | Items like prerequisites, preconditions, error handling strategy, and so on.
distribution | container ActivityDistributionDefinitionType | [0,1] | Distribution of the work executed as part of this activity.
reporting | container ActivityReportingDefinitionType | [0,1] | How various aspects of activity run are reported, using logging, tracing, profiling, reporting, and so on.
policies | container ActivityPoliciesType | [0,1] | Policies for the activity.
virtualAssignments | container VirtualAssignmentsType | [0,1] | Virtual assignments for the activity.
tailoring | container ActivitiesTailoringType | [0,1] | How should be predefined child activities tailored (i.

- ### Items

  - #### order

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Relative order of this activity in a list. Relevant for sequential execution of activities (which is the default mode of execution). Activities without order are executed last.

  - #### identifier

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Identifier of this activity. If omitted, a reasonable default is generated.

  - #### work

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes the work that has to be done within this activity, e.g. recomputation, reconciliation, scripting expression execution, and so on. This contains also the necessary parameters, like resource reference, object class, object query, etc.

  - #### composition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The current activity cannot be described by simple work specification. It is instead a composition of smaller, completely specified activities.

  - #### executionMode

    Flags: RAM,runtime,AVals:6

    Multiplicity: [0,1]

    Display order:

    Execution mode for this activity: full, preview, dryRun, none, bucketAnalysis. Deprecated. Please use execution/mode instead.

  - #### execution

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Detailed definition of the execution mode.

  - #### controlFlow

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Items like prerequisites, preconditions, error handling strategy, and so on.

  - #### distribution

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Distribution of the work executed as part of this activity. Directly applicable to simple activities. For complex ones it serves as a default value for the children.

  - #### reporting

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    How various aspects of activity run are reported, using logging, tracing, profiling, reporting, and so on.

  - #### policies

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Policies for the activity.

  - #### virtualAssignments

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Virtual assignments for the activity. These assignments are not persisted in the processed object; they exist only while the current activity is being processed. Virtual assignments are collected from the current activity and all of its parent activities, and are applied on top of the regular assignments. It is recommended that roles contain only policies; otherwise phantom roleMembershipRefs may be added to the processed object.

  - #### tailoring

    Flags: elaborate,RAM,runtime

    Multiplicity: [0,1]

    Display order:

    How should be predefined child activities tailored (i.e. modified)?