Complex types

Overview

Complex types are customized composite types made up of several definition attributes using built-in types, user-defined types or lists of values.

For example, an Address complex type has the following definition attributes: Street Number, Street Name, Zip Code, City Name and Country.

Create a complex type

To create a complex type:

  1. Right-click the Complex Types node and select Add Complex Type…. The Create New Complex Type wizard opens.

  2. In the Create New Complex Type wizard, check the Auto Fill option and then enter the following values:

    • Name: Internal name of the object.

    • Label: User-friendly label for this object. Note that as the Auto Fill box is checked, the Label is automatically filled in. Modifying this label is optional.

  3. Click Finish to close the wizard. The Complex Type editor opens.

  4. In the Description field, optionally enter a description for the complex type.

  5. Select the Definition Attributes item in the editor sidebar.

  6. Repeat the following steps to add definition attributes to this complex type:

    1. Select the Add Definition Attribute… button. The Create New Definition Attribute wizard opens.

    2. In the Create New Definition Attribute wizard, check the Auto Fill option and then enter the following values:

      • Name: Internal name of the object.

      • Label: User-friendly label for this object. Note that as the Auto Fill box is checked, the Label is automatically filled in. Modifying this label is optional.

      • Physical Column Name: Name of the physical column containing the values for this attribute. This column name is prefixed with the value of the Physical Prefix specified on the entity complex attribute of this complex type.

      • Type: List of values, built-in or user-defined type of this complex attribute.

      • Length, Precision, Scale. Size for this definition attribute. The fields available depend on the built-in type selected. For example a String built-in type will only allow entering a Length. If a list of values or a user-defined type was selected, these values cannot be changed.

      • Mandatory: Check this box to make this definition attribute mandatory when the complex type is checked for mandatory values.

    3. Click Finish to close the wizard. The new definition attribute appears in the list.

    4. Double-click the attribute in the list to edit it further and edit its advanced properties:

      • Define a user-facing Documentation for the attribute. Use plain text or the Markdown syntax for rich text. This text provides detailed documentation for the attribute and appears in the documentation side nav.

      • Define a custom Error Message for a mandatory definition attribute. This message appears instead of a default message when this attribute is left empty.

  7. Press Control+S (or Command+S on macOS) to save the Complex Type editor.

  8. Close the editor.

A complex type has the following advanced properties that impact its behavior:

  • Mandatory: When an entity attribute is checked for mandatory values, and this attribute uses a complex type, each of the definition attributes of this complex type with the mandatory option selected are checked.

  • Searchable: This option defines whether this attribute is used for searching.

  • Translated: Options reserved for a future use.

  • Multi-Valued: This option applies to definition attributes having the type list of values. Checking this box allows the definition attribute to receive several codes in the list of values, separated by the Value Separator provided. For example, a multi-valued Diplomas field can receive the DM, DP, DPM codes meaning that that contact is Doctor of Medicine, Pharmacy and Preventive Medicine.

Configure the display name

When a complex attribute value needs to be displayed in a compact form (for example, in a table, or in a single field), the Display Name is used.

The display name defines how a complex attribute is displayed in compact form. It is a concatenation of several definition attributes, separated by a Separator.
For example, the GeocodedAddress complex type contains a large number of attributes, from the simple StreetNumber down to the longitude and latitude. A display name would be for example: StreetNumber StreetName City Country .

To create or modify a complex attribute display name:

  1. Right-click the complex attribute node and select Define Display Name…. The Modify Display Name wizard opens.

  2. In the Modify Display Name wizard, enter the following values:

    • Separator: String that will separate the selected definition attributes in the display name.

  3. Click Next.

  4. In the Display Name Attributes page, select the Available Attributes you want to add and click the Add >> button to add them to the Selected Attributes.

  5. Use the Move Up and Move Down buttons to order the selected attributes.

  6. Click Finish to close the wizard.

  7. Press Control+S (or Command+S on macOS) to save the Display Name editor.

  8. Close the editor.

Only one display name can be created for a given complex type.