Skip to main content
Version: 2025.1

EntityProvider

This page provides generated reference documentation for the EntityProvider data model.

A Provider is a configuration model created at the side of an Entity providing ("sending") data requested by another Entity

Overview

PropertySummary
childrenList of parameters in this provider
customProperties
dependenciesContains all known dependencies
descriptionShort technical description of the model in plain text.
documentationContains the documentation of the data model in the popular AsciiDoc format (.adoc). The documentation should be set by the developer to explain different…
filterVariablesProcessProcess to extend the list of filterable items that are an additional option to choose a value from.
initFilterMergeModeDetermine whether a passed external filter should be automatically AND or OR linked with the entity's initFilter. The IGNORE mode means that the filters…
lookupIdfieldDefines for a provider an (optional) alternate ID field. To identify a record, normally the UID of the entity is used.
maxLexoRankLengthDetermines the maximum length of a LexoRank. This number should reflect the size of your db field. It is recommended to use a default size of 255 characters.
recordContainerConfiguration of the main record container of an entity.
sortingFieldSelect a sorting field for the provider to activate the sorting. The current position of the data record is saved in the sorting field via a number. If the…
sortingMethodSpecifies which sorting method should be used if a sortingField was selected.
targetConsumerProcessProcess where the name of a consumer has to be returned.
targetContextFieldDefines an entity-field that provides the name of a context. Whenever a context is needed, this newly provided context is then used instead of the entities…
targetIdFieldDefines an entity-field that provides the UID-value of another entity.
titleSingular title of the model, e.g. Surname
titlePluralentities title in plural; e.g. Persons
titlePluralProcessDetermine the title plural via a process; e.g. Persons
uniqueProviderKeyProcessProcess which returns a unique key for this provider. The key will be used to differentiate between the parents. The main use-case is to provide a separate…
useAggregatesDetermines whether the provider should aggregate all records and calculate only the aggregate fields.
usePermissionsDetermines if the element is relevant for the authorisation concept. For example: If this value is true the element can be selected for the grant…

children

Type: Children

List of parameters in this provider

Parameters

****
  No description.


customProperties

Type: CustomProperties


dependencies

Type: Dependencies

Contains all known dependencies


description

Type: String

Short technical description of the model in plain text.


documentation

Type: String

Contains the documentation of the data model in the popular AsciiDoc format (.adoc). The documentation should be set by the developer to explain different aspects (like purpose, concept, etc.) of the data model that they designed.

You may want to add the extension "AsciiDoc" to your ADITO Designer in order to modify AsciiDoc files.

<!--VSCODE_ONLY-->


filterVariablesProcess

Type: String

Process to extend the list of filterable items that are an additional option to choose a value from.

The result of the filterVariablesProcess must be an object that contains an arbitrary number of key-value pairs, where the key is the name of a variable whose value is to be used (not the value of the variable) and the value is the display value to be used in the client.

The variables value is resolved during runtime.

Example that will add the item to filter for a value Me whenever this provider is used:

import("system.translate");
import("system.result")

var res = {
"global.user.contactId": translate.text("Me")
};

result.object(res);

During runtime the parameter $global.user.contactId is resolved to its current value and replaced when filtering the data.

This enables the user to share a filter (for example in a dashlet) without containing the actual value for Me and thus resulting in a dynamic filter.


initFilterMergeMode

Type: EFilterMergeMode

Determine whether a passed external filter should be automatically AND or OR linked with the entity's initFilter. The IGNORE mode means that the filters are not automatically linked. The external init filter can then be reacted to in the initFilterProcess. The filter can be obtained from the local variable $local.filter.


lookupIdfield

Type: String

Defines for a provider an (optional) alternate ID field. To identify a record, normally the UID of the entity is used.

In some cases you do not want to have the UID but another field as Key-Element. Therefor this field can be set. Main use case: Lookup-element that shall return a differing ID-field for easier handling within the consuming entity.


maxLexoRankLength

Type: Integer
Default: 255
Constraints: Minimum: Integer.MIN_VALUE, Maximum: Integer.MAX_VALUE
Requires: sortingMethod property group

Determines the maximum length of a LexoRank. This number should reflect the size of your db field. It is recommended to use a default size of 255 characters.

If the maximum rank length is reached for a row then reordering will be disabled and a rebalancing should be done.


recordContainer

Type: String

Configuration of the main record container of an entity.

For example, this recordContanier will be used for editing (new, update, delete), for default way of loading data or for providing data via a provider (if not specified otherwise).


sortingField

Type: String

Select a sorting field for the provider to activate the sorting. The current position of the data record is saved in the sorting field via a number. If the provider is used in a GenericMultipleViewtemplate, arrows appear automatically for sorting the data records. The sorting field is also used when loading the data records.


sortingMethod

Type: ESortingMethod
Requires: sortingField property group

Specifies which sorting method should be used if a sortingField was selected.

  • NUMERIC (default): data records are sorted by a numerical value. Due to performance concerns numerical sorting is currently not supported by Tree and TreeTable components.
  • LEXORANK: data records are sorted by the LexoRank algorithm which is represented by a string value. When choosing this method the initial ranks and the rebalancing of ranks needs to be handled manually. A suggested initial rank for the first row should be lexorank.middle(). The LexoRank method is currently only supported by Tree and TreeTable components and only when a single row is dragged and dropped.

targetConsumerProcess

Type: String

Process where the name of a consumer has to be returned.

When requesting this provider the request is directly rerouted to the returned targetConsumer instead.


targetContextField

Type: String

Defines an entity-field that provides the name of a context. Whenever a context is needed, this newly provided context is then used instead of the entities context where your provider is located.

This is for example helpful if you have a generic link-entity where a "foo"- and a "bar"-context (+entity) can be linked. Since you do not want to display the preview of the generic link-context but the preview of each linked element you can specify a field here where the matching context (either "foo" or "bar") is returned.


targetIdField

Type: String

Defines an entity-field that provides the UID-value of another entity.

This is for example helpful if you have a generic link-entity where a "foo"- and a "bar"-context (+entity) can be linked. You should've set already the targetContextField but there is need to determine the corresponding UID to the foo_Entity/bar_Entity. (When not setting this targetIdField the UID of the generic link-entity is used)


title

Type: String
Constraints: Verification: TITLE_LENGTH

Singular title of the model, e.g. Surname


titlePlural

Type: String

entities title in plural; e.g. Persons

This is used within the client in views where multiple records are displayed - for example as detail-headline in a master-detail layout


titlePluralProcess

Type: String

Determine the title plural via a process; e.g. Persons

This is used within the client in views where multiple records are displayed - for example as detail-headline in a master-detail layout


uniqueProviderKeyProcess

Type: String

Process which returns a unique key for this provider. The key will be used to differentiate between the parents. The main use-case is to provide a separate last/saved/default filter for each key.

Example: You have Context A, which defines a Provider. Context B consumes the Provider of Context A using a Consumer. By default, you'd get the same last/saved/default filters for each record of Context A. But if you use the UID of the current record of Context B as your "unique provider key" you can provide a different last/saved/default filter.


useAggregates

Type: Boolean

Determines whether the provider should aggregate all records and calculate only the aggregate fields.

You get one record with the aggregated fields only


usePermissions

Type: Boolean

Determines if the element is relevant for the authorisation concept. For example: If this value is true the element can be selected for the grant configuration within the client