# GuiActionType (Complex Type)

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

Supertype: UserInterfaceFeatureType
Actions are special things that can be done with particular object or list of objects. Action may be a task, or (later) a script, java class or any similar mechanism.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
identifier | property string | [0,1] | GUI feature identifier.
description | property string | [0,1] | Free-form description (comment) intended for system administrator.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
display | container DisplayType | [0,1] | Display properties of the UI feature.
visibility | property UserInterfaceElementVisibilityType | [0,1] | Defines, whether this feature will be visible or it will be hidden.
displayOrder | property int | [0,1] | The content of this property specifies an order in which the user interface feature should be displayed relative to other similar features that are displayed together.
applicableForOperation | property OperationTypeType | [0,1] | Used to distinguish for which operations are the configuration applicable (and so visible) If nothing specified, configuration will be applicable for both add and modify operations (and visible for example for panel in details menu).
name | property string | [0,1] | Action short name (identifier).
taskTemplateRef | reference ObjectReferenceType | [0,1] | Reference to task template.
target | container RedirectionTargetType | [0,1] | Specifies the target (page/panel/url) for redirect action.

- ### Items

  - #### identifier

    Flags: RAM,runtime

    Multiplicity: [0,1]

    GUI feature identifier. E.g. identifier for view or widget. The feature specifications that come from different roles will be merged if they have the same identifier. The identifier is also used for diagnostics, e.g. used in the logfiles.

    Although identifier type is defined as string, it is strongly recommended to use URI for all customizations. The URI should be based on identifier that you own (e.g. DNS domain). Using non-URI forms may still work, but there is risk of conflicting with default midPoint configuration.

    If no identifier is specified for a view then midPoint will internally generate a value for the identifier. This internal identifier value is based on the GUI feature definition, e.g. object type and/or collection OID or other aspects of the view. The algorithm for identifier generation may change and the results are not guaranteed to be completely unique. Therefore it is strongly recommended to explicitly set identifier for all the UI features in any non-trivial midPoint configuration.

    Identifier may not be needed at all in some cases.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form description (comment) intended for system administrator. Description will NOT be displayed as any part of the UI feature. The purpose is to explain the purpose or configuration details.

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

  - #### display

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display properties of the UI feature. It is used to display the link in the menu and so on. Only some parts of display specification may be used. E.g. for views only label is used now. E.g. the CSS properties are ignored.

  - #### visibility

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,1]

    Defines, whether this feature will be visible or it will be hidden.

    The default (since 4.0) is 'automatic', which means that all defined features will be visible if possible, unless explicitly hidden. However, this can be changed, e.g. by setting default visibility in the dashboard definition. Also, some hardcoded dashboards have different defaults. E.g. the legacy 3.x end-user home page has default visibility of "vacant".

  - #### displayOrder

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The content of this property specifies an order in which the user interface feature should be displayed relative to other similar features that are displayed together. E.g. this may be used to order views in the menu, widgets on the dashboard and so on. These items that do not have any displayOrder definition will be displayed last. Items with the same displayOrder are displayed in alphabetic order.

  - #### applicableForOperation

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

    Used to distinguish for which operations are the configuration applicable (and so visible) If nothing specified, configuration will be applicable for both add and modify operations (and visible for example for panel in details menu). When there is a need to restrict configuration applicability (and thus visibility) only for e.g. modify object operation, applicableForOperation should be set to 'modify'. When we use wizard option, then we define visible only in some wizard panel.

    Applicable for panel (ContainerPanelConfigurationType) configuration and objectCollectionView configuration.

    EXPERIMENTAl. Might change in future releases.

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Action short name (identifier). This element is not displayed to the user. It is used for identification of the action and referencing (e.g. previous column). The definitions that have the same name in different layers (global, role, user) will be merged together. REMOVED: Use identifier instead.

  - #### taskTemplateRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to task template. The template will be used to start a new task for the selected object or objects.

  - #### target

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Specifies the target (page/panel/url) for redirect action.