# 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: dryRun, simulate, execute, bucketsAnalysis.
controlFlow | container ActivityControlFlowSpecificationType | [0,1] | Items like prerequisites, preconditions, error handling strategy, and so on.
distribution | container WorkDistributionType | [0,1] | Distribution of the work executed as part of this activity.
monitoring | container ActivityMonitoringDefinitionType | [0,1] | How the activity is monitored, e.
reporting | container ActivityReportingDefinitionType | [0,1] | How various aspects of activity execution are reported, using logging, tracing, profiling, reporting, and so on.
tailoring | container ActivitiesTailoringType | [0,1] | TODO

- ### 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: dryRun, simulate, execute, bucketsAnalysis.

  - #### 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.

  - #### monitoring

    Flags: RAM,runtime

    Multiplicity: [0,1]

    How the activity is monitored, e.g. using tracing or dynamic profiling.

  - #### reporting

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### tailoring

    Flags: elaborate,RAM,runtime

    Multiplicity: [0,1]

    TODO