Entity Types

Article • 10.11.2020 • 27 minute(s) to read

An Entity Type defines the data representation in Novunex. For different data, different Entity Types need to be defined. There are no Entity Types configured by default, you have to define all Entity Types for your Account.

Features of Entity Types

  • Entity Types must have unique names
  • An Entity Type can have one or more Attributes
  • Entity Types model the data you want to work with
  • You can assign an icon to an Entity Type to identify the Entity Type more easily
  • Date in Entities of an Entity Types are automatically and persistently stored in the SQL Database.

How to create or update Entity Types is shown in this getting started guide.

You can think of an Entity Types as a table, with Attributes as its columns and Entities its rows.

Entity Type Editor

The Entity Type Editor allows you to create and modify your Entity Types. Each section of the Entity Type Editor and the corresponding Entity Type features are explained down below.

Sections of the Entity Type Editor


Settings

Name
A unique name to identify the Entity Type.
Icon
A visual representation of the Entity Type.
Description
A short explanation of the Entity Type and its purpose.
Data explorer
Enable ( Yes ) or disable ( No ) the option to show data records of this Entity Type in the Data Explorer.
Data editor
Enable ( Yes ) or disable ( No ) the option to update data records of this Entity Type in the Data Editor.
Track Changes
This option enables ( Yes ) or disables ( No ) the tracking of any changes to the Attributes of Entities with this Entity Type. When the tracking is enabled, all Attribute changes are recorded and logged in a history table. The format of this history table is documented as part of the Core Tables.


Reports

Entity Types can be connected with Data Queries that has a template assigned to it to create a Report. Each Entity Type can have as many Report as you like, each Report is identified by a unique name. Several things needs to be configured in order that the report generation works correctly:

  • The Entity Type needs to have at least one Report configured
  • The Data Query backing the Reports needs to have a Template configured.
  • The Data Query needs to accept the parameter @EntityId and select the correct Entity with this ID to create the Report.

A new report is added by pressing Add:

  • Name - Name of the Report that will be created
  • Data query - Data Query creating the Report
  • - Deletes the report

Permissions

Permissions define the access list for an Entity Type.

  • If there are no permissions set, all users can access this Entity Type.
  • If there are one or more permissions configured, the access is restricted to these permissions.

The permissions are assigned on a per User Group basis:

  • Read only - restricts the access to allow only reading of data
  • Read, write - allows reading and modification of data

Attributes

Attributes define the data format stored in the Entity Type. You have to define an Attribute for everything you want to store in your Entity Type. Attributes have different types. The type of an Attribute defines what can be stored in an Attribute. An Entity Type can have an arbitrary number of Attributes. You can add Attributes by clicking the + button. The available Attributes are listed below.

Each Entity Type has automatically an Id Attribute uniquely identifying the Entity Type. You cannot change or delete this Id Attribute but you can use it to link Attributes.

Each Attribute has a number of settings allowing you to customize the Attributes to fit your data model:

  • Name - Identifier for the Attribute telling others what information is stored in this Attribute. Although, this does not need be unique, it is recommended to use unique Attribute names within an Entity Type.
  • Description - A short explanation of the Attribute and its intended use.
  • Data type - Defines what kind of data can be stored in this Attribute. The available Data Types and Data Type specific configurations are explained in detail below.

You can combine a Unique constraint with an Array. This means that each element and the order in the Array has to be unique.

Data Types

Big Integer

Stores very large positive and negative integer numbers and should be used to store Ids of Entities. It can also be used if Integer is to small. The big integer numbers can be in the range from -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807).

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
Integer

Stores positive and negative integer numbers, commonly used for counters. The integer numbers can be in the range from -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647).

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Minimum value - Lower bound for the values of this Data Type.
  • Maximum value - Upper bound for the values of this Data Type.
  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
Decimal

Stores positive and negative decimal numbers, commonly used for measurements.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Precision Set how many digits the decimal number has in total.
  • Scale - Set how many digits of the Precision are used for the fraction, i.e., the side right to the decimal point. Hence, Scale must always be smaller then Precision
  • Minimum value - Lower bound for the values of this Data Type.
  • Maximum value - Upper bound for the values of this Data Type.
  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
Short String

Stores short texts up to a maximum of 255 characters. This is the only one of the three string Data Types that can have a Unique constraint.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Mask data - Allows you to hide this Attribute from Users.

    Set it to Yes and the content of Attribute will be shown as XXXX in Data Queries. Forms, Data Explorer and Data Editor will show the the Attribute unmasked. Similarly, Users and Activities can still overwrite the content of this Attribute.

    If set to No, the content will be shown in any case.

  • Minimum length - Lower bound for the text length.

  • Maximum length - Upper bound for the text length.

  • Array

    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint

    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.

The space usage of short strings (texts with a maximum of 255 characters) is significantly lower than variable text strings that can store up to 2 GB. For performance reasons (since data retrieval is significantly improved with pre-defined data type sizes), choose short strings over strings or localized strings.

String

Stores long texts up to a maximum of 2 GB.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Minimum length - Lower bound for the text length.
  • Maximum length - Upper bound for the text length.
  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Default Value - Sets a default value for this Attribute.
Localized String

Stores long, localized texts up to a maximum of 2 GB. Localized Strings are needed when you want to store translations of a text in order to show texts in multiple languages. This Data Type can store multiple translations at once, so there is no need to define a separate Attribute for each language.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Minimum length - Lower bound for the text length.
  • Maximum length - Upper bound for the text length.
  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Default Value - Sets a default value for this Attribute.
Date Time

Stores dates and time stamps, commonly used to record the begin or end of a process. The highest resolution of this Data Type is milliseconds, although it is often used with a lower resolution.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Date part only - If set to Yes, only the date part is used. This means that the resolution is limited to days. If set to No, the full resolution can be used.
  • Minimum date - Lower bound for the date or date and time.
  • Maximum date - Upper bound for the date or date and time.
  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
Boolean

Boolean is capable of only holding true or false as its values. This is commonly used to store the output of binary conditions.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
Reference

Stores a link to another Entity or an Attribute of an Entity. The behavior of the Reference depends on the configuration of Lookup and Array configuration.

  • If the Reference is used with a Lookup enabled and Array disabled, the link to the target of the Reference is enforced. This means, that the target of the Reference can only be deleted if all References pointing to said target are deleted first.
  • In other configuration with either Lookup disabled, Array enabled, or both, the Reference is not enforced and is only a copy of the target Id. In these cases the target of the Reference can be deleted at any time, no matter if the Reference still exists or not. Obviously, if the target is deleted and the Reference is not deleted first, the Reference has no valid target anymore.
  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
SerialNumber

Stores a Serial Number of a predefined schema. The Serial Number schema has to be defined first in the Serial Numbers editor.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Serial number type - Schema of this Serial Number
  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
File

Stores and enforces a link to a file uploaded to your Account. This means that the file content itself is stored separately for technical reasons, but you can work with this Data Type just like you would with the real file.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.
Signature

Stores and enforces a link to a Signature of a particular state of Attributes in an Entity. Similar to the File, the signature itself is stored separately, but you can work with this Data Type just like you would with the real file.

  • Is computed - Set this to No, to create a normal Attribute that stores its data in the Database. If set to Yes, the Attribute’s data is not stored in the Database but calculated from other Attributes of the same Entity on the fly.
    • Computed expression - Expression to compute the Attribute’s value from other Attributes. The following syntax is supported:
      • [AttributeName] - Access the content of the Attribute in the same Entity Type by putting its name in squared brackets
      • 'test string' - String literals are enclosed in inverted commas
      • + - String concatenation
      • String example expression: 'Name: ' + [FirstName] + ' ' + [LastName]
      • 12 - Integer numbers
      • 9.87, 9.87e4, 9e4, 9e+4, 9e-4, 0.9e-4 - Decimal numbers
      • +, -, * and / - Supported basic arithmetic operations for integer and decimal numbers
      • Numerical example expression: [QtyAvailable] * [UnitPrice] * 1.5
      • Comparisons operators are equal =, greater than >, greater or equal to >=, not greater than !>, less than >, less or equal to <=, not less than !< and not equal with <> or !=.
      • Processing of date and time Entities is done as with Microsoft SQL Server date and time syntax and functions.
      • Any further operators that are supported in computed columns by the Microsoft SQL Server can be used also.

If Is computed is set to No, the Attribute shows more configuration options.

  • Array
    • If enabled ( Yes ), multiple values of the selected Data Type can be stored in this Attribute.
    • If disabled ( No ), only one value of the selected Data Type can be stored in this Attribute.
  • Unique constraint
    • If enabled ( Yes ), no duplicate values are allowed for this Attribute.
    • If disabled ( No ), this Attribute can have duplicate values.
  • Default Value - Sets a default value for this Attribute.

Lookup

For each Data Type a lookup can be enabled ( Yes ) or disabled ( No ). You can implemented a Lookup in two different ways by selected by the Values setting, which can be set to Predefined values or Entity Type.

Predefined Values

By activating a lookup with Predefined values, you have to manually enter the list of values. You Attribute can still have other values not in the list, but the values you entered are used for automatically generating Drop-Down menus in Form Controls. Hence, this option is ideal when you want to create a Drop-Down menu for your Attribute in multiple Forms.

  • The Display name defines an alias shown to the users instead of the actual Attribute value. It is always a text.
  • The Value is always of the same Data Type as the Attribute itself. So it can be integer, String, Date time, etc.
  • The Display name can be used directly in forms to hide the Values from the users.
  • The Attribute will not be limited to the Values you define here. If you use Predefined Value you can still used Attribute values not in the list of predefined values. In this case the Attribute value will be shown directly.
  • An example for using Predefined values is a state information encoded by an integer. In this example you what to show the state as a text to the users but at the same time store the integer value in the Attribute.

Entity Type

By activating a lookup with Entity Type, you link your current Attribute to two Attributes from another Entity Type. This means that you do not have to enter the Display Attribute and the Value attribute here, but it is automatically loaded from the Entities of the linked Entity Type.

  • The Display attribute defines which other Attribute holds the display alias shown to the users.
  • The Value attribute defines which other Attribute holds the values behind this Attribute.
  • The Novunex Platform automatically links the Display attribute and Value attribute by their mutual appearance in an Entity.
  • You can select the same Attributes for Display attribute and Value attribute.
  • Use as permission filter becomes visible if the Entity Type is either User or UserGroup. Use as permission filter has to be set to No, to create a Reference. If it is set to Yes, the Reference becomes a Row Level Security configuration.

Row Level Security

Row Level Security lets you restrict the access to individual Entities of an Entity Type. Row Level Security is designed to filter access to Entities in Data Queries, Forms, Dashboards, Widgets, Data Explorer and Data Editor. Row Level Security is implemented by adding on or more dedicated Attributes to an Entity, where the content of these Attributes specifies the User and User Groups that have access. Said Attributes have to be configured like this, so that the Novunex Platform recognizes them as a Row Level Security configuration:

  • Lookup set to Yes
  • Values set to Entity Type
  • Source set to either User or UserGroup, to enforce the Row Level Security based on a User or User Group, respectively.
  • Use as permission filter set to Yes
  • Value attribute is Id for User and User Groups
  • Display attribute can be chosen arbitrarily from the list, but should be something the Users are familiar with. So DisplayName is a common choice for Users and Name for User Groups.

Which Users and User Groups get access is configured by the content of the Attribute or Attributes:

  • If the value of the Attribute is null, no User or User Group are granted access by this Attribute
  • The Processes using an Entity Type with Row Level Security are responsible for setting the Reference Attribute to the correct Users and User Groups, respectively.
    • This means, that the Process creating an Entity, has to add the Users and User Groups to the correct Attributes of the newly created Entity. Otherwise, this Entity is not accessible.
  • To allow access by multiple Users and User Groups, multiple Attribute of Type Reference or an Reference Array can be used.
    • If you want to allow access based on Users and also User Groups for the same Entity Type, you have to use at least two Attributes of type Reference, since one Attribute, also an Array, can either handle Users or User Groups but not both.
    • Users will be granted access if they are part of the union of all referenced Users and User Groups