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
| Property | Summary |
|---|---|
| children | List of parameters in this provider |
| customProperties | — |
| dependencies | Contains all known dependencies |
| description | Short technical description of the model in plain text. |
| documentation | Contains the documentation of the data model in the popular AsciiDoc format (.adoc). The documentation should be set by the developer to explain different… |
| filterVariablesProcess | Process to extend the list of filterable items that are an additional option to choose a value from. |
| initFilterMergeMode | 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… |
| lookupIdfield | Defines for a provider an (optional) alternate ID field. To identify a record, normally the UID of the entity is used. |
| maxLexoRankLength | 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. |
| recordContainer | Configuration of the main record container of an entity. |
| sortingField | 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… |
| sortingMethod | Specifies which sorting method should be used if a sortingField was selected. |
| targetConsumerProcess | Process where the name of a consumer has to be returned. |
| targetContextField | 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… |
| targetIdField | Defines an entity-field that provides the UID-value of another entity. |
| title | Singular title of the model, e.g. Surname |
| titlePlural | entities title in plural; e.g. Persons |
| titlePluralProcess | Determine the title plural via a process; e.g. Persons |
| uniqueProviderKeyProcess | 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… |
| useAggregates | Determines whether the provider should aggregate all records and calculate only the aggregate fields. |
| usePermissions | 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… |
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 belexorank.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