Fallback value / Bindings

You can reach this dialog in the following ways:
Applications module Edit field Properties "Binding" tab / Default for new or existing records / Edit

Embedded in the following dialogs:
Applications module Edit and View pages Properties "Parameter" tab / Parameter / New / Fallback value
Applications module Button Properties "Actions" tab / No action, Save, Delete, Insert data record (Free layout table) / Parameter / New / Fallback value
Applications module Portlet container Properties "Parameter" tab / New / Fallback value
Applications module Activate email configuration or Configuration "Configuration" tab / Page / Edit parameter Parameter / Create fallback value
Applications module View table Properties "Data" tab / Add data field / Edit column "Link destination" tab / Parameter / New / Fallback value
Applications module Free layout table Properties "Data" tab / Page for viewing data / Edit parameter Parameter / Create fallback value
Applications module Calendar or Resource element Properties "Action" tab / Edit action "Actions" tab / Parameter / New / Fallback value
Applications module Create or edit a calendar plugin "Link destination" tab / Edit link destination Parameter / Create fallback value
Applications module Chart Properties "Interaction" tab / Link when clicking on a data point / Edit Parameter / Create fallback value
Processes module Email action Properties "Content" tab / Page from application / Edit Parameter / Create fallback value
Processes module Push notification action Properties "General" tab / Continue to "Options" "Options" tab / Edit link destination for mobile/desktop view Edit link destination for mobile/desktop view / Page / Edit parameter Parameter / Create fallback value

1. General

A binding is a connection between a data source and a consumer. The data source is specified in the binding notation (see Syntax of binding strings). Bindings can be defined in different places in Intrexx. Based on this, they are also added to the XML at different points. Bindings can be implemented as follows:


In this example, a data field binding is defined for an edit field as the default value for new data records.



Here is the corresponding XML:
<textcontrol guid="5758A9C9EC60A724AC85B3CAE8F2EA28B23EFE45" name="textcontrol30057DD4" inputlength="255" label="false" readonly="false" rect="100,45,250,20" required="false" source="container['7338AC8FD8B5B5C39DBB2AD2F456529DD84A233A'].dataField['D6F55F095F2E5A5570EAB98A8773B0E2F193FBA1']">
    <property>
        <title de="Titel" en="Title"/>
    </property>
    <defaultvalue record="new" source="container['7338AC8FD8B5B5C39DBB2AD2F456529DD84A233A'].dataField['8860BBDFB02E3E9E43940D63A4A64A0AACAEF2DC']" sourceType="binding"/>
</textcontrol>

2. Data field


Container

Select the desired container that contains the data field whose value should be used as the fallback value.

Data field

Select the corresponding data field.

3. Session / Request / Processing context


Session / Request / Processing context

In each case, enter the corresponding name of the request parameter, session variable or variable from the processing context.

4. Static value


Static value

Enter a static value here. Any character string can be entered as long as it corresponds to the required data type. For example, if an integer value is required, "123" can be transferred, but "ABC" cannot.

5. Velocity


Velocity

A Velocity script, which provides the fallback value, can be entered here. Velocity can only be implemented rudimentarily for page parameters. Objects like $DC, $drRecord are not available at this put but if/else constructs can be used.

6. Current user


Current user

A data field from the User Manager can be selected here.

7. System data group


Application

Select the application that contains the desired System data group.

Data field

Select the corresponding data field here.

8. Parameter


Parameter

Select the desired parameter whose fallback values should be used. All parameters of the current page are available for selection.

9. Date and time




If a data field with the date/time, date or time control type is selected as the displayed value, the date can be adjusted here. Click here for more information about these settings.

10. Automatic increase




If a data field with the integer control type is selected, a counter can be set up with this option here. When a new data record is created, the value last entered will be increased by 1. This new value is used as the preset value.

11. Tree




This option is only available for links in the "View tree" element.

Current tree node value

For the value of the current tree node, you can choose between the primary key, the node ID, the parent node ID or the title. "Node ID" is a comma-separated value consisting of the key, the parent key and the sorting. "Parent node ID" corresponds to the parent key. "Title" is the title of the current node.

12. Appointment




This option is only available for calendar plugins. All dates, which have been defined on the "General" tab of the plugin properties, can be selected here.

13. Resource




This option is only available for calendar plugins if the setting "Enable display of resources" has been activated on the "Options" tab. All data fields, which have been selected as the title field, sorting field, grouping field or image on the "Options" tab are available for selection.

Resource

Select the corresponding resource data field here.

14. Current data group




This option is only available if a ReadContainer is not supported, such as in processes.

Data field

Select the corresponding data field.

15. Other




Bindings that are not covered by the other options in the dialog can be used here.

Other

Enter the required binding here.

16. Bindings

Syntax of binding strings

bindingType
bindingType['guid|name']
bindingType["guid|name"]
bindingType.guid
bindingType.name
bindingType['guid|name'].guid
bindingType["guid|name"].name
bindingType['guid|name'].subtype['guid|name']
bindingType["guid|name"].subtype["guid|name"]
bindingType["guid|name"].subtype["guid|name"].name
...
Not all bindings are available in every context.

compatibility

Is implemented for the compatibility to "old" rq_RecID values that were used as a parameter (Intrexx Version 18.03). This may be found after a patch process but should not be written manually.
compatibility.primaryKey
compatibility.primaryKey['name']
compatibility.foreignKey
compatibility.foreignKey['name']
compatibility.primaryOrForeignKey
compatibility.primaryOrForeignKey['name']

container

Returns the value of a ReadContainer or WriteContainer. This binding can be defined for the data field option. It can also be entered as the value for the Other option with the following syntax:
container['GUID|NAME'].dataField['GUID|NAME']
container['GUID|NAME'].member['GUID|NAME']
container['GUID|NAME'].recordOwner (The value of the record owner field)
container['GUID|NAME'].userId (The value of the userid field)
container['GUID|NAME'].key (The value of the single primary key)
container['GUID|NAME'].primaryKey (The value of the single primary key)
container['GUID|NAME'].key['GUID|NAME'] (The value of the primary key with the GUID or name)
container['GUID|NAME'].primaryKey['GUID|NAME'] (The value of the primary key with the GUID or name)
container['GUID|NAME'].foreignKey['GUID|NAME'] (The value of the foreign key with the GUID or name)
container['GUID|NAME'].foreignKey (The value of the single foreign key)
container['GUID|NAME'].combinedKey (The value of the single primary key or a formatted Key string like "LID= 1, LANG= de")
container['GUID|NAME'].combinedPrimaryKey (The value of the single primary key or a formatted Key string like "LID= 1, LANG= de")
container['GUID|NAME'].combinedForeignKey (The value of the single foreign key or a formatted Key string like "LID= 1, LANG= de")

control

Returns the value of a control. This binding can be entered as the value for the Other option
control['GUID']
control['NAME']
control.guid['CONTROLGUID']
control.name['CONTROLNAME']
control.sysIdent['SYSIDENT']

currentDate

Returns the current date without the time.
currentDate
currentDate[Y,M,D]
currentDate[+1,2,-3] Adjust current date: Year +1, month = 2, day -3
Y=(|[+-]?\d+)
M=(|[+-]?\d+)
D=(|[+-]?\d+)
-> Rules definition: See p_adjust in de.uplanet.util.CalendarUtil.modifyCalendar(T, String p_adjust, boolean)

currentDateTime

Returns the current date with the time.
currentDateTime
currentDateTime.%TIMEZONE%
currentDateTime[Y,M,D,H,m,S]
currentDateTime[+1,2,-3,2, +2, 0] Adjust current date: Year +1, month = 2, day -3, hour=3,min+2,sec=0
Y=(|[+-]?\d+)
M=(|[+-]?\d+)
D=(|[+-]?\d+)
H=(|[+-]?\d+)
m=(|[+-]?\d+)
S=(|[+-]?\d+)
-> Rules definition: See p_adjust in de.uplanet.util.CalendarUtil.modifyCalendar(T, String p_adjust, boolean)
currentDateTime[Y,M,D,H,m,S].%TIMEZONE%
%TIMEZONE% must be a valid time zone ID (such as UTC).

currentTime

Returns the current time.
currentTime
currentTime[H,m,S]
currentTime[+1,2,-3] Adjust current date: Hour +1, minute = 2, second -3
H=(|[+-]?\d+)
m=(|[+-]?\d+)
S=(|[+-]?\d+)
-> Rules definition: See p_adjust in de.uplanet.util.CalendarUtil.modifyCalendar(T, String p_adjust, boolean)

currentUser

Returns the current user.
currentUser[FIELDGUID|NAME]
Replace "NAME" with the bean name.

recId

Returns the value of "old" rq_RecId or qs_RecId arguments with the format: "LID= 1; LANG= en" (Intrexx Version 18.03). This binding is used for compatibility reasons and should not be written manually.
recId['LID'](gets the LID value out of the rec id string )
recId['LANG'](gets the LANG value out of the rec id string )

request

This binding can be defined for the Request option. It can also be entered as the value for the Other option with the following syntax:
request['name']

sharedState

This binding can be defined for the Processing context option. It can also be entered as the value for the Other option with the following syntax:
sharedState['name']

session

This binding can be defined for the Session option. It can also be entered as the value for the Other option with the following syntax:
session['variable name']

staticText

Returns static text.
staticText['TEXT'] => TEXT will be returned

systemDataGroup

Returns the value of a data field from a system data group from the current or a specific application.
systemDataGroup['APP_GUID'].dataField['FIELD_GUID']

target.argument, parameter

Returns a parameter value. target.argument[''] can be defined for the Parameter option. If a binding itself is created using the Other option, "parameter['']" is typically used instead as this style is more intuitive and the keyword "parameter" is used in both Velocity and Groovy environments.
parameter['NAME']
target.argument['NAME']

velocity

Returns the Velocity text of the binding. It tries to interpret the text. This binding can be entered as the value of the Velocity option with the following syntax:
velocity['TEXT'] => The interpreted velocity TEXT will returned

17. Resolve value


Time to resolve value

If possible, you can define whether the value should be resolved when the current page is loaded or when the destination page is loaded.

18. More information

Parameters - An overview
Create parameters, fallback values and semantic values