# GuiObjectColumnType (Complex Type)

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

Configuration of the object list column. This is supposed to be universal mergeable configuration. It may be specified in global configuration, roles but also in user's preferences. Therefore it may refer to the columns specified by the "higher" configuration and override some parts of that (e.g. hide/show columns, change ordering, etc.). When merging the configurations there is no way how to remove columns. New columns may be added, setting of the existing columns may be changed, but the columns may not be removed. If the columns should not be displayed then it may be hidden.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [1,1] | Column name (identifier).
description | property string | [0,1] | Free-form description.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
path | property ItemPathType | [0,1] | Path of the item (property) that this form display or that is taken as an primary input for the expression (planned for future).
display | container DisplayType | [0,1] | Specification of column display properties.
visibility | property UserInterfaceElementVisibilityType | [0,1] | Defines, whether this column will be visible or it will be hidden.
previousColumn | property string | [0,1] | Name of the column that has to be displayed before this column.
import | container DirectionElementsType | [0,1] | Properties for import.
export | container DirectionElementsType | [0,1] | Properties for export.
displayValue | property DisplayValueType | [0,1] | Specifies the kind of view of value.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [1,1]

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

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form description. It is not displayed to the user. It is supposed to be used by system administrators to explain the purpose of the configuration.

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

  - #### path

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Path of the item (property) that this form display or that is taken as an primary input for the expression (planned for future). Even if expression is used to display the column value, we need some reference field that will be used to sort the table when sorting by this column is selected. We cannot sort by the output of the expression as that is not stored in the repo.

  - #### display

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Specification of column display properties. This can be used to override the default column label or presentation style. (Only label is implemented in midPoint 3.6)

  - #### visibility

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,1]

    Defines, whether this column will be visible or it will be hidden. If not specified then it defaults to automatic visibility.

  - #### previousColumn

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Name of the column that has to be displayed before this column. This value defines ordering in which the columns should be displayed. The first column has no value in this element. If there are multiple columns that specify the same preceding columns then the implementation may choose any ordering of such columns. However, the algorithm should be deterministic: the same ordering should be used every time (alphabeting ordering based on "path" or displayOrder from the schema are good candidates for deterministic ordering).

  - #### import

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Properties for import.

  - #### export

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Properties for export.

  - #### displayValue

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]

    Specifies the kind of view of value.

    Column expressions are EXPERIMENTAL. They work only under a very specific circumstances.