# UserInterfaceFeatureType (Complex Type)

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

Defines properties of a specific user interface feature (e.g. button, button set, widget, etc.)

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

- ### Items

  - #### identifier

    Flags: RAM,runtime

    Multiplicity: [0,1]

    GUI feature identifier. E.g. idetifier 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 identifer 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 explictly set identifier for all the UI features in any non-trivial midPoint configuration.

    Identifier may not be needed at all in some cases (e.g. additionalPanels in views).

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

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