Derived Properties

Derived properties are properties whose default value is calculated from an expression that you define. Derived properties can be used to reduce maintenance of property values for nodes and help ensure data integrity of those values. You'll use the Expression Builder to define the expression. For information on how to define expressions, see Using Expressions to Define Custom Business Logic.

Note:

You can derive the value for properties with the following data types:

  • Boolean
  • Date
  • Integer
  • List
  • Node
  • String

Considerations

  • When building an expression, you can use positional information such as bottom, parent, ancestors, and siblings regardless of the property level (node or relationship) or by referencing a relationship property or a property that uses inheritance.
  • When using positional information in your expression, the values may not be consistent at the node or relationship level. Note the following:
    • The derived default value can be different by the location of the node within a viewpoint for either node or relationship-level properties.
    • The derived default value for the node can be different between different hierarchy viewpoints even if they are based on the same hierarchy set.
    • The derived default for a node in a list viewpoint will be different from the derived value for that node in a hierarchy viewpoint.

Validations

Derived property values are validated before a request is submitted or committed. Derived property validations run for requests when you:

  • Validate all request items

  • Validate a selected request item

  • Submit a request by any of these methods: interactive, subscription, or import

  • Approve a request

Note:

Derived property validations run only for nodes with a request item in the request.

Validation issues for derived properties can be resolved in several ways including:

  • Override the derived property with a defined value if editable

  • Modify a different property that the derived property depends on

  • Move or remove the node in the viewpoint

  • Delete the request item or item instance

For more information see Validating Requests.

Defining a Derived Property

To define a derived property expression:

  1. Inspect a property definition that uses a Boolean, Date, Integer, List, Node, or String data type. See Inspecting Properties.

  2. Select an application for which you have Owner permission.

  3. Click Edit.

  4. From Default Type, select Derived.


    default type change to derived
  5. Click the Expression icon in the Default Value text box.


    default value dx icon
  6. Define an expression to calculate the property and click Apply. For information on how to define expressions, see Using Expressions to Define Custom Business Logic.

  7. Click Save.

Note:

To remove a derived expression for a property, repeat steps 1-4 and change Default Type from Derived to None or Specified.