Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Model Evaluation logic is used in the following use cases:

  • To provide inputs and results to be presented to the user on a tab when the user is browsing the model and looking at various tabs (of the type simple or dashboard), or looking at details of a tree node (on the tab of the type filtertree).

  • When a logic from another module (e.g. Quotes) needs to get data from a model, it can call the model’s evaluation (and pass parameters to it) which will call the evaluation logic to provide the information from the model.

The evaluation logic characteristics:

  • It is evaluated synchronously – e.g. immediately when the user interacts with the UI.

  • Its results are never persisted.

  • Its inputs are saved with the model (if used while the user is browsing the model).

  • It can do anything read only related to the Model Object where the logic is executed; including accessing previous steps inputs, previous calculations outputs, querying Model Tables, reading attachments, etc., via the model binding.

Configuration

The evaluation logic is referenced in the Model Class definition, in the formulaName property of:

  • a tab (only for the types dashboard, simple and filtertree);

  • an evaluation.

Logic API

To ensure that this synchronous experience is always smooth and reactive for the user, it is a good practice is to set the elementTimeout property of all the logic elements to 0.

  • Logic Nature: model_evaluation

  • Execution Types:

    • Syntax Check – Defines the input fields of the logic. In case of tabs, they will be rendered on the page, but in case of evaluation, it will be used to receive the parameters passed from other logics.

    • Standard – Calculates and provides the results.

  • Information provided to the logic:

    • Syntax Check:

      • Binding variables:

    • Standard:

      • Binding variables:

        • model (see ModelEvaluationFormulaContext) includes Model Table, inputs from previous steps and outputs from previous calculations.

        • input (Map) – When used on a tab, it contains values of all inputs provided by the user in the input fields of the current tab. When used in evaluation, it contains the parameters values passed to the logic.

  • Expected logic execution outcome:

    • Syntax Check:

      • Input field definitions placed in the logic context

    • Standard:

      • Results and their formatting are provided via the output of the visible (with DisplayMode set) logic elements.

        • Critical Alert – When used on a tab, it will block the Continue button.

      • The result value can be of almost any type:

        • Simple: String, BigDecimal, Map, List, …

        • Complex: Chart, ResultMatrix, Controller, …

  • No labels