Skip to main content

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
titleSingular title of the model, e.g. Surname
titlePluralEntities 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…
titlePluralProcessDetermine 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…
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…
dependenciesContains all known dependencies
lookupIdfieldDefines 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…
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…
childrenList of parameters in this provider
customProperties
usePermissions
recordContainerConfiguration of the main record container of an entity. For example, this recordContanier will be used for editing (new, update, delete), for default way of…
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.
targetConsumerProcessProcess where the name of a consumer has to be returned. When requesting this provider the request is directly rerouted to the returned targetConsumer instead.
useAggregatesDetermines whether the provider should aggregate all records and calculate only the aggregate fields. You get one record with the aggregated fields only
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. NUMERIC (default): data records are sorted by a numerical value. Due to…
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…
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 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".