# 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.
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.
tailoring | container ActivitiesTailoringType | [0,1] | How should be predefined child activities tailored (i.

- ### Items

  - #### order

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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]

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

  - #### work

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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]

    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:5

    Multiplicity: [0,1]

    Execution mode for this activity: full, preview, dryRun, none, bucketAnalysis.

  - #### controlFlow

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### distribution

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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]

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

  - #### tailoring

    Flags: elaborate,RAM,runtime

    Multiplicity: [0,1]

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