Design forms for steppers

This page describes the best practices for designing forms that can be used within steppers. Forms or collections used in steppers should be carefully designed, prioritizing user experience and including relevant form fields and columns.

Required attributes for steppers

For data authoring purposes, it is recommended to include the following attributes in a form:

  • An entity’s primary key. Depending on the entity type and context, the appropriate attribute is automatically displayed. For more information, see Read-only and hidden attributes.

  • Mandatory fields in data authoring forms—​unless null values are automatically handled by enrichers and triggers; otherwise, mandatory value validations may reject data.

  • The reference (i.e., the foreign display name attribute) if the entity references another entity, to enable attaching a record to its parent. For example, in a scenario where an employee is attached to a cost center and a manager, the corresponding FDN_CostCenter and FDN_Manager attributes should be added to the form used to author the employee. This way, the employee is assigned to a specific cost center or manager.

Read-only and hidden attributes

In a form used for data authoring, fields that have their authoring mode property set to Read-Only are not editable. In the same context, certain attributes are automatically hidden:

  • Attributes from related entities.
    For example, a form attribute defined with AccountManager.FirstName for a Customer entity will not appear in data authoring on the customer form, as it refers to a related entity. When browsing, it will show a given customer’s account manager name.

  • Attributes that use a computed SemQL expression.
    For example, a form attribute defined with CustomerName will allow adding this attribute’s value. However, if you define the form attribute with UPPER(CustomerName), it will only appear when browsing and display the customer name in uppercase, and will disappear when the form is used for data authoring.

ID generation in steppers

The ID generation method defined for the entity is managed at a level in a stepper and forces certain rules in the step and form design.

  • If the ID requires a user input (Manual or SemQL):

    • The first form step under the collection step must include the ID attribute or the attributes required to generate the ID using the SemQL expression. This forces the user to enter the ID information.

    • At run-time, a placeholder (temporary) ID is generated to allow enrichment and validation in the first form step before the full user input. It is recommended not to use or store the ID in the first step as you might be using this placeholder ID. The ID should be considered final only after the step into which the user has entered the ID information.

  • If the ID does not require any user input (Sequence or UUID):

    • The ID is generated automatically when the form opens. The ID is not needed in the form and steps, other than for information.