For the complete documentation index, see llms.txt. This page is also available as Markdown.

Data model editing

Data model editor

To access the data model editor, select "Data model" on the application's main screen in Eximee Designer

Figure 1. The "Data model" tab of the low-code application

The data model editor is divided into three tabs:

  • Structure, where we manage the model structure and fill in node parameters,

  • Data sources, where we define and parameterize data sources,

  • Source, where we edit the JSON that is the source representation of the model - functionality for advanced users.

If your application does not yet have a data model, you can create one by clicking the "Initialize data model" button.

Structure

The structure of the data model is presented as a tree in the left panel of the editor. Clicking a tree item expands its branch. Branches can also be expanded and collapsed using a separate button next to the node.

Figure 2. Presentation of the data model structure

Selecting a tree node automatically filters the nodes in the list on the right.

Figure 3. Selecting a node in the data model editor

At the top of the node list, the key that serves as the current view filter is displayed: "client.surname" in this case.

Parameterization of model elements

Node

Figure 3. Editing a model node

In the model node editing section, you can edit the key and documentation ("description") of the object. You can also mark the object as an array.

Next to the object's key there is a button that copies the key to the system clipboard.

The context menu contains an option to delete the node together with its descendants.

To add a field to a node, click the "Add field".

Field

The field section in the data model also provides the ability to specify a default value for the field.

Figure 4. Field in the model

Data source

Clicking the data source chip or the pencil icon next to it opens a drawer with a list of data sources and the ability to edit usage (source order, source parameters, value mapping).

Figure 5. Data source usage

By default, for each leaf of the data model tree (i.e. fields that do not have further subfields), the platform automatically adds a special data source of type ValueMap. This is a built-in source that stores the field value in the application's memory structure (in the so-called application value map) – this can be treated as the equivalent of a session variable storing data in the context of the entire application (form). The default ValueMap mapping uses the full path of the field's keys as the key in this internal map (e.g. for the field country located inside the object personalData the key in the value map will be personalData.country). Thanks to this, after binding form fields to the model, it is not necessary to write additional code to save the entered data – the value entered by the user will be automatically placed under the appropriate key in the model's memory.

Data source - defensive logic and empty values

Data model sources cannot assume a deterministic order of invocation or that all input data is already available. The platform may invoke a source earlier (e.g. when determining the multiplicity of dynamic form or model sections), even if a given field is not yet used directly in the form or process.

Therefore, data sources must be designed defensively: in the absence of data, incomplete data, or data that is "not yet ready", they should return safe, empty values (null, an empty list, an empty object) and not raise exceptions. An empty value means: at this stage I cannot determine the value and it allows subsequent sources in the cascade to act, in particular default sources (e.g. ValueMap or default values on the field definition).

Exceptions should be reserved only for real technical errors (e.g. communication errors or incorrect configuration) that should stop the system's operation (form termination, process transaction rollback, etc.), not for transitional process states.

Last updated

Was this helpful?