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 |
|---|---|
| title | Singular title of the model, e.g. Surname |
| titlePlural | 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… |
| titlePluralProcess | 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… |
| 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… |
| dependencies | Contains all known dependencies |
| lookupIdfield | 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… |
| 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… |
| children | List of parameters in this provider |
| customProperties | — |
| usePermissions | — |
| recordContainer | 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… |
| 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. |
| targetConsumerProcess | 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. |
| useAggregates | Determines whether the provider should aggregate all records and calculate only the aggregate fields. You get one record with the aggregated fields only |
| 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. NUMERIC (default): data records are sorted by a numerical value. Due to… |
| 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… |
| 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 are… |
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
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 he designed.
You may want to add the plugin "AsciidoctorJ" to your ADITO Designer in order
to modify AsciiDoc files.
dependencies
Type: Dependencies
Contains all known dependencies
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.
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.
children
Type: Children
List of parameters in this provider
Parameters
****
No description.
customProperties
Type: CustomProperties
usePermissions
Type: Boolean
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).
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)
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.
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
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.
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.
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".