# AssignmentRelationType (Complex Type)

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

Specifies what types of assignments can be made to the focal object when it is a target of an assignment. This specifies possible relations of the assignment, type of assignment holder and so on. Simply speaking, this specifies "who can have assignment to me" or "who can hold assignment with me as a target". Limitations: assignmentRelation can appear only in archetype. It can appear in assignment or inducements, but it must not have any order specification (i.e. it must be order 0 or 1).

Assignment relation specification can be "wildcard", i.e. they can apply to a range of conditions. E.g. if no relation is specified, the specification applies to all the relations. An extreme case is an empty assignment relation, which is the ultimate wildcard. Such specification means that any type, any archetype can be assigned with any relation. Which in fact means "open" assignment policy. However, processing of wildcard assignment relations is limited in midPoint 4.0 (see documentation).

Assignment relation applies only to assignments by default. Therefore it controls when an assignment can be made. It does not apply to inducements - yet. In later midPoint versions there will be an element that can specify "order constraints". In that case assignment relation could specify properties of inducements, including high-order inducements. However, the implementation in midPoint 4.0 is limited to assignments.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
description | property string | [0,1] | Free-form description (comment)
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
holderType | property QName | [0,-1] | Specification of the holder type.
holderArchetypeRef | reference ObjectReferenceType | [0,-1] | Specification of holder archetype.
relation | property QName | [0,-1] | Specification of a relation for the assignment/inducement.

- ### Items

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form description (comment)

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### holderType

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Specification of the holder type. This specifies type of the objects that can be "holders" of the assignment. If not specified at all then all object types are applicable.

  - #### holderArchetypeRef

    Flags: RAM

    Multiplicity: [0,-1]

    Specification of holder archetype.

  - #### relation

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Specification of a relation for the assignment/inducement.