Skip to main content

Domains

Introduction to domains

Domains are abstract data types, used to indicate the data type of columns and parameters. Changing a domain will update all columns and parameters that use this domain. Depending on the database management system, user-defined data types or reference-fields are created for domains to be used in SQL business logic.

Creating a domain

menu Data > Domains

  1. A domain always contains a Data type and possibly a length and precision.

  2. Select the Control that should be used to visualize the columns and parameters in the user interface, for instance as a text field, an image or a checkbox.

  3. A domain can optionally contain Elements to offer the user a pre-defined selection.

  4. The Default value type can be a 'Constant value' or an 'Expression'. An expression can fill any new or changed column during the upgrade.

  5. If necessary, enter the Default column settings. An example is the Mandatory field.

Overview of the Domains screen

Adding elements to a domain Adding elements to a domain

Making columns created with a domain mandatory

It is possible to make a domain mandatory. New columns created with this domain will be mandatory by default. This can be adjusted by column.

menu Data > Domains > tab Form

  1. Under Default column settings, check the Mandatory box.

Making a domain unavailable

It is possible to mark a domain element as 'unavailable'. This way, it won't be shown in the drop-down, so it can't be selected for future entries. This setting doesn't affect older or historic entries. For these, the domain element is still available.

menu Data > Domains > tab Elements > tab Form > tab Element

  1. Uncheck the Available checkbox.

Controls

Using a control, you can specify how a column should be displayed in the user interface.

menu Data > Domains > tab Form > tab Domain

  1. In the Control field, select the domain.

The following options are available:

ControlDescriptionPlatformSQLORACLEDB2
BARCODE_SCANNERText input with a barcode scanner.MobileVARCHARVARCHAR2VARCHAR
CALCULATORDisplays a calculator for carrying out a calculation.Windows/WebINT, NUMERICINT, NUMERICINT, NUMERIC
CHECKBOXGives the possibility to check a checkmark. The value can be on, off or unknown.AllBIT, TINYINT, SMALLINTSMALLINTSMALLINT
CODE_ EDITORInternal use.Windows/Web
COLORSelecting a color.Windows/WebINTINTINT
COMBOSelecting a value from a list.AllDepending on elementsDepending on elementsDepending on elements
CORTEX_DECODERText input with a barcode scanner.UniversalVARCHARVARCHAR2VARCHAR
CURRENCYFor compatibility, use NUMERIC.AllNUMERICNUMERICNUMERIC
DATEDisplays a calendar in which a date can be entered.AllDATE, DATETIMEDATE, TIMESTAMPDATE, TIMESTAMP
DATETIMEDisplays a calendar for selecting the date and a time format in hours, minutes and seconds.AllDATETIMETIMESTAMPTIMESTAMP
DATETIME_SHORTDisplays a calendar for selecting the date and a time format in hours and minutes (no seconds).UniversalDATETIMETIMESTAMPTIMESTAMP
EMAILOpening an email program with email address as send to.AllVARCHARVARCHAR2VARCHAR
FILE_LINKWhen entering or modifying a file, location can be selected.AllVARCHARVARCHAR2VARCHAR
FILE_UPLOADUploading and downloading a file. The default value of the column is the standard file location for the Windows GUI. The File storage folder is used for the Web GUI if files are uploaded.AllVARCHARVARCHAR2VARCHAR
FOLDERSelecting and opening a folder.Windows/WebVARCHARVARCHAR2VARCHAR
GOOGLE_MAPSOpening Google maps based on a location.Windows/WebVARCHARVARCHAR2VARCHAR
GROUP HEADER LABELCreates a header label from your own dataAllVARCHARVARCHAR2VARCHAR
GROUP HEADER ICONCreates an icon in front of the group header labelAllVARCHARVARCHAR2VARCHAR
HTMLText is displayed as HTML.Windows/WebNVARCHARNVARCHAR2/NCLOBVARGRAPHIC/DBCLOB
IMAGE_COMBOSelecting an image from a list.Windows/WebDepending on elementsDepending on elementsDepending on elements
IMAGE_LINKSelecting and displaying a photo.AllVARCHARVARCHAR2VARCHAR
IMAGE_UPLOADUploading a photo.AllVARCHARVARCHAR2VARCHAR
LABELCreates a label without a fieldAllVARCHARVARCHAR2VARCHAR
MULTILINEEditing a text with several lines, possibly via a separate pop-up screen.AllVARCHARVARCHAR2VARCHAR
NUMERICDisplays numbers with a comma for thousands.AllNUMERICNUMERICNUMERIC
PASSWORDThe text is replaced by an asterisk.AllVARCHARVARCHAR2VARCHAR
PERCENTAGEDisplays numbers as a percentage.AllINT or NUMERICINT or NUMERICINT or NUMERIC
PHONE_NUMBERText with link to open a phone applicationAllVARCHARVARCHAR2VARCHAR
PROGRESS_BARDisplays a bar with the progressWindows/WebINTINTINT
RADIO_BUTTONDisplays a list with various options.AllTINYINTSMALLINTSMALLINT
REMOTE_FOLDERUpload or download files with crud rights on the folder.Windows/WebVARCHARVARCHAR2VARCHAR
REMOTE_FOLDER_SIMPLEMore secure version of REMOTE_FOLDER without delete or upload the whole folder.WindowsVARCHARVARCHAR2VARCHAR
RTFText is displayed as RTF.AllNVARCHAR_MAXNVARCHAR2VARCHAR
SIGNATUREField to enter a signature.MobileVARCHARVARCHAR2VARCHAR
SQLEDITORInternal use.Windows/Web
TIMETime format in hours, minutes and seconds. The time can possibly be selected with an up and down button.AllTIMETIMESTAMPTIME
TIME_SHORTTime format in hours and minutes (no seconds). The time can possibly be selected with an up and down button.UniversalTIMETIMESTAMPTIME
URLOpening URL in the active browser.AllVARCHARVARCHAR2VARCHAR
VIDEO_LINKShows a media player.WindowsVARCHARVARCHAR2VARCHAR
note

If the password control is used, the field has not yet been encrypted. The value will therefore still be visible in the database when it is stored and can also be passed on to the defaults and layouts.

Domain elements for COMBO and RADIO BUTTON

Domain elements have to be defined for the COMBO and RADIO BUTTON controls. The user can choose from these elements for a column with this domain. The element ID is used in the translation module to translate the elements. The database value is the value that is stored in the database (often numerically, but this is not mandatory). It is possible to setup in which order the domain elements should be sorted: the order number (default value) or the translation.

note

The domain gender has the elements unknown, man and woman with database values 0, 1 and 2. Instead of displaying this as text in a combo box, an icon of a man and woman can now be displayed in the combo box.

If you select the IMAGE_COMBO control, an image must be added to the elements. This replaces the text.

Using images in domain elements An example of using images in domain elements

Barcode scanner

Universal GUI Mobile GUI

This barcode scanner is the free alternative to the more powerful, paid Cortex barcode scanner.

The barcode scanner control is a regular text input with a barcode icon next to it:

Barcode scanner

note

When using Google Chrome on iOS, both the regular and Cortex barcode scanners only work on iOS 14.3 and higher due to vendor limitations.

When a user clicks the barcode icon, permission is asked to use the camera. If the camera permission has been given, scanning will start in a pop-up.

The barcode scanner supports the following barcode symbologies:

Supported
AztecDataBarExpandedPDF417
CodabarDataMatrixQRCode
Code39EAN-8UPC-A
Code93EAN-13UPC-E
Code128ITF1D-Codes
DataBarMaxiCode2D-Codes

By default, the barcode scanner will try to find barcodes with all of the symbologies above.

If only a few symbologies need to be supported, the scan performance can be improved by letting the barcode scanner search for only specific symbologies. This can be configured in the config.json file in the Universal GUI folder. For example, when only UPC-E and QRCode are necessary, config.json can be configured like this:

{
"barcodeScannerSymbologies": "UPC-E, QRCode",
"defaultApplication": "",
"defaultPlatform": 3,
"loginOptionsDisabled": false,
"installNotificationDisabled": true,
"installNotificationExpirationInDays": 30,
"serviceUrl": "https://web10.thinkwise.app/ng_indicium/iam/iam"
}

If you're using a hand-held scanner and scanning is the last step in a task, the task is submitted directly, if:

  • The barcode scanner is configured to send Tab after the barcode (this is commonly called 'postfix').
  • The hand-held scanner is connected to, e.g., a cell phone or a desktop.
  • The focus is on the 'BARCODE_SCANNER' input field in a a task.
  • The barcode field is the last in a task.

Cortex barcode scanner

Universal GUI

The Cortex barcode scanner is a more powerful alternative to the free to use barcode scanner.

To use the Cortex barcode scanner, you need a license from the manufacturer. For more information, see https://codecorp.com/products/web-sdk.

note

When using Google Chrome on iOS, both the regular and Cortex barcode scanners only work on iOS 14.3 and higher due to vendor limitations.

To use Cortex in the Universal GUI:

menu Data > Domains

  1. Configure CORTEX_DECODER as the domain control.
  2. In the Universal GUIs configuration file config.json, add the license like this:
"cortexLicense": "your-license-key-here",

To improve the scan performance, you can configure only the symbologies you need:

"cortexEnabledSymbologies": ["Code128", "EAN8", "EAN13", "UPCA"].

By default, Cortex scans the following symbologies:

Supported (default)
Aztec
Code93
EAN13

However, Cortex supports a lot more symbologies. This is the full list:

Supported (all)
AustraliaPost
CanadaPost
Code11
Code39
CompositeCode
DutchPost
GS1Databar14
HanXinCode
Interleaved2of5
USPSPlanet

Control action buttons for read-only fields

Some fields are always read-only, used only to show data. The Show action button option allows you to hide the action button for that domain. There are three options:

  • Never.
  • When editable.
  • Always.

Control with action button Always Control with action button Always