# GenericPcpAspectConfigurationType (Complex Type)

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

Supertype: PcpAspectConfigurationType
A generic configuration for a wf aspect. It is meant for non-standard aspects. (Standard aspects use named properties in PrimaryChangeProcessorConfigurationType container.)

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
enabled | property boolean | [0,1] | Whether the aspect is enabled or not.
approverRef | reference ObjectReferenceType | [0,-1] | Approvers for this aspect.
approverExpression | property ExpressionType | [0,-1] | Approvers for this aspect.
approvalSchema | container ApprovalSchemaType | [0,1] | More complex (multi-stage) approval schema.
approvalProcess | property string | [0,1] | Name of custom approval process.
automaticallyApproved | property ExpressionType | [0,1] | Condition specifying when the item is automatically approved (e.
applicabilityCondition | property ExpressionType | [0,1] | Condition specifying if the workflow should be started in the first place.
name | property string | [1,1] | Name of the aspect bean.

- ### Items

  - #### enabled

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Whether the aspect is enabled or not. If not specified (but if aspect configuration is present), it is assumed to be true. However, if the whole aspect configuration is absent, only aspects marked as "enabled-by-default" are enabled.

  - #### approverRef

    Flags: RAM

    Multiplicity: [0,-1]

    Approvers for this aspect. The approver is a person (or group) that approves carrying out action(s) relevant to this aspect. This reference may point to object of type UserType of OrgType.

  - #### approverExpression

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Approvers for this aspect. If specified, the expression(s) are evaluated and the result is used as a set of approvers (UserType, OrgType, or any combination of them). May be used with approverRef element(s).

  - #### approvalSchema

    Flags: RAM,runtime

    Multiplicity: [0,1]

    More complex (multi-stage) approval schema. If used, it overrides both approverRef and approverExpression elements.

  - #### approvalProcess

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Name of custom approval process. If used, it overrides approverRef, approverExpression, and approvalSchema elements. For explicitness, only one of approverRef(s)/approverExpression(s), approvalSchema and approvalProcess should be specified. THIS PROPERTY (approvalProcess) IS NOT SUPPORTED YET.

  - #### automaticallyApproved

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Condition specifying when the item is automatically approved (e.g. "user is from Board of Directors"). This is an expression that should yield a boolean value.

  - #### applicabilityCondition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Condition specifying if the workflow should be started in the first place. This is an expression that should yield a boolean value. It gets 'itemToApprove' parameter that contains item to be approved - it is aspect-specific: might be e.g. an assignment, an association + resource shadow discriminator, etc. The difference between applicabilityCondition and automaticallyApproved is that if the former yields false, workflow is not even started. If it yields true, workflow is started, and then 'automaticallyApproved' is evaluated. If it yields false, manual approval is required. If true, item is automatically approved. CURRENTLY IMPLEMENTED ONLY IN AddAssociationAspect.

  - #### name

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Name of the aspect bean.