0

Project-level Validation and Error Messages

  • updated 2 wk ago

Introduction

When you click the name of a project the system displays a Validate button on the project Details tab. With the release of v7.4, this button is located at the bottom of the screen on the Validate tab. When you click this button the system reviews your project and provides a list of violations and warnings in your modeled content, which is a useful check for some common modeling errors. The system prompts you to review, ignore, or correct each issue. It also allows you to select an error and, for some of the issues, request that the system perform the error resolution.

The table below contains a list of possible warnings and typical corrective actions to take for each item in the list. The system displays the error but also provides the name of the logicnet, node, and path, as appropriate, to make it easier for you to find where the error occurs.

Project Validation Steps

  • In LogicNets Releases up to and including 7.3 navigate to the project, click the project name, and then click on the validation button.
  • In LogicNets Release 7.4, the validation button is located next to the search button at the bottom of the screen. You can resize this panel by dragging the top bar up (1), and you can minimize it by using the window icons on the right (2).
  • Review the results using the filtering options.
  • Flag the items as Resolved or Ignore by clicking each individual checkbox or by clicking the checkbox next to Type to select all.
  • Reset the list if necessary using the Reset ignored button.
  • Run the validation prior to publishing each time to verify that no additional warnings have been triggered.

Validation Warning Table

Code/
Resolution
Message/Description Action


Manual
Message: "Could not find the linked project item: '<project item>'."

Linked project items are references to items in other projects and are created with the copy-paste-link operation. This error indicates that the system could not find the referenced item.
Make sure that the project containing the referenced item is loaded in the same workspace as your project.


Manual
Message: "The project item link is corrupt, it is missing the: 'source'."

Linked project items are created using the copy-paste-link operation. This error indicates that link has become corrupt.
Delete the link and recreate it using the copy-paste-link function.


Manual
Message: "The project item link is corrupt, it is missing the: 'vtype'."

Linked project items are created using the copy-paste-link operation. This error indicates that link has become corrupt.
Delete the link and recreate it using the copy-paste-link function.


Manual
Message: "'<a reference|<n> references>' cannot be found in entry."

The topic contains images or links to a file that cannot be found on the server.
Update the topic and fix the references.


Manual
Message: "A <project item type> with name: '<item name>' already exists."

This warning indicates that another item with the same name already exists in the project. Duplicate names can lead to ambiguity and unexpected behavior in your application; for example, a call node may call the wrong logicnet with the same name.
Make sure that your project items have unique names.


Automatic
Message: "Unused project resource: '<full-file-path>' found on the server."

This warning indicates that the system can find the file on the server but that the project does not use it.
Click Resolve to remove the unused resource from the server.


Manual
Message: "Could not find project resource: '<full-file-path>' on the server."

This error indicates that they system cannot find the file on the server.
Delete the project item and recreate it by uploading the resource.


Manual
Message: "Error loading logicnet: '<logicnet name>'."

This error indicates that the LogicNets runtime could no longer read the logicnet.
Try to restore a previous version of the logicnet or open the project's Code tab and fix the syntax in the code definition.


Manual
Message: "Invalid logicnet name: '<logicnet name>'."

This error indicates that the logicnet name contains illegal characters.
Update the name of the logicnet.


Manual
Message: "Called logicnet is not specified."

This error indicates that no logicnet has been specified in the call node.
Specify the logicnet to call.


Manual
Message: "Call node is not using: call-by-name."

This warning indicates that the call node is still using the 'call-by-id' method to call a logicnet. Though the system still supports 'call-by-id', we recommend you use the safer 'call-by-name' method, as logicnets ids can change when logicnets they copied or moved.
Open the Code tab in the node editor and add the following line to the code: 'match_name = "yes"'.

Ensure that the called logicnet is unique in the project.


Manual
Message: "Call node uses interpolation, can't check for the existence of logicnet: '<logicnet name>'."

This warning indicates that the system will only resolve the name of the called logicnet at runtime by interpolating a data object. Because of this, the system cannot verify if the called logicnet exists.
Ensure that the called logicnet exists with the name identified.


Manual
Message: "Called logicnet: '<logicnet name>', could not be found in library project: '<lib name>'."

This error indicates that the system could not find the given logicnet in the referenced (library) package.
Ensure that the referenced (library) package is installed on your system and that it has a logicnet with the given name.


Manual
Message: "Could not find the called logicnet: '<logicnet name>'."

This error indicates that the system could not find the called logicnet in your project.
Make sure that the called logicnet exists in your project.


Manual
Message: "'<parameter-name>' value is incorrect [current=<current-value>,expected=<expected-value>]."

This warning indicates that the given parameter has an incorrect value.
Open the part editor and click Save. The system will default the parameter to a correct value.


Manual
Message: "This node is unreachable."

This warning indicates that the given node is not part of any pathway started from the start node of the logicnet.
Verify the node is not intended to be part of logicnet pathway. If it is not intended you can suppress this error by 'accepting' the validation. Otherwise, reconnect the node.


Manual
Message: "This node does not have an ID."

This error indicates that the given node does not have an id, which means the system cannot execute it.
Open the Code tab in the node editor and add the following line to the code: 'id = '.


Manual
Message: "Referenced (library) package: '<package name>' does not exist."

The error indicates that the system could not find the referenced (library) package.
Check your library reference and ensure that the referenced (library) package is installed on your system. If you use an alias ensure that the alias is correctly configured in your project settings and pointing to the correct package.


Automatic
Message: "The logicnet named '<logicnet name>' is orphaned."

This warning indicates that there is a logicnet in the project that has no parent folder anymore and is no longer visible in the project tree.
Click Resolve to move the orphaned logicnet to the recycle bin.


Automatic
Message: "<legacy-parameter> is replaced by <new-parameter> parameter."

This warning indicates that LogicNets has deprecated the given parameter and replaced it with a different one as part of the evolution of the system.
Click Resolve to replace the deprecated parameter with the new parameter.


Automatic
Message: "The parameter: '<parameter-name>' is not valid in the current part configuration."

This warning indicates that the given parameter is not valid in the current part configuration. It may be a previous part configuration, or there may be an error in your part configuration.
Check your part configuration. Click Resolve to remove the parameter from your part configuration.


Automatic
Message: "The caption contains $(...) which can induce XSS vulnerabilities."

This warning indicates that there is a risk that the interpolated data may allow for malicious code injection, which could permit a security breach.
Turn on the Escape $(..)-text option to escape the dynamic content or use $(html(...)) to whitelist the interpolated data if it can be fully trusted.

Click Resolve to turn on the Escape $(..)-text option.


Automatic
Message: "This parameter is not used anymore and can safely be removed."

This warning indicates that LogicNets has deprecated the parameter and can safely removed from the part configuration.
Click Resolve to remove the parameter.


Manual and Automatic
Message: "'<part-name>' is not a public part [scope='<deprecated|internal>']."

This error indicates that you are using a deprecated or internal part in your application. The system will not execute these parts.
Remove this part. Some deprecated parts offer an automatic migration to another compatible part and you can click Resolve to migrate to the replacement part.


Manual
Message: "The part: '<part-name>' does not exist."

This error indicates that you are using a part that no longer exists.
Remove this part.


Manual
Message: "Error retrieving root folder for project."

This error indicates that the project is corrupt and the system cannot open it.
Restore a backup of your project.


Automatic
Message: "The HTML contains $(...) which can induce XSS vulnerabilities."

This warning indicates that there is a risk that the interpolated data may allow for malicious code injection, which could permit a security breach.
Use the Comment part, which will automatically escape your dynamic content. You can also use $(html(...)) to whitelist the interpolated data if it can be fully trusted. You can also use $(escape_html(...)) to escape the dynamic content.

Click Resolve to have the system change to the Comment part.


Automatic
Message: "The script contains $(...) which can induce XSS vulnerabilities."

This warning indicates that there is a risk that the interpolated data may allow for malicious code injection, which could permit a security breach.
Turn on the Escape $(..)-script option to escape the dynamic content, or use $(html(...)) to whitelist the interpolated data when it can be fully trusted. You can also use $(escape_html(...)) or $(encode_js(...)) to escape/encode the interpolated data.

Click Resolve to turn on the Escape $(..)-script option.


Manual
Message: "Referenced package: '%s' does not exist."

It is possible to give a called logicnet the name of a package or alias. This error indicates that the system cannot find the package.
Check the package name or alias. Make sure that you have the package with the correct package name installed in your environment.


Manual
Message: "The package-alias: '<alias>' can only be resolved at run-time, not able to check for the existence of the called logicnet."

It is possible to give a logicnet a package alias. This message indicates that the system can only resolve the alias at runtime, which means it is not possible to verify that the called logicnet exists.
Test the Call node by running the application.


Automatic
Message: "The parameters: 'app' and 'db' are deprecated, you should use the @-notation instead."

This warning indicates that you are using deprecated 'app' and/or 'db' parameters in your part configuration to reference logicnets in other packages. Use the library references or @-notation instead; for example, "package-name@logicnet-name".
Click Resolve to change to the @-notation.


Manual
Message: "A path or collection name cannot start with '_in.' or '_out.'."

This error indicates that you are using '__in' and '__out' in the path or collection name. These are names reserved for function parameters and cannot be used in regular paths or collection names.

Note: Each function has its own '__in' and '__out' data objects, which can only be used within the function scope itself. The system will not pass them to subsequently called logicnets. If you need to pass the '__in' and/or '__out' data objects to a subsequently called logicnet, use the "Set Data Object value" part with "Data object type" set to "container" to create a copy.
Change the path or collection name.


Automatic
Message: "The script contains redirect code that can induce XSS vulnerabilities."

This warning indicates that there is a risk that the interpolated data may allow users to insert malicious code to redirect your users to an unsafe location.
Use the Redirect session part to perform redirections. This part ensures that redirects are only made to whitelisted locations. Click Resolve to change to the Redirect session part.

Note: This automatic resolution is only possible when the redirect code is the only code in the script, otherwise you must manually add the Redirect session part.


Automatic
Message: "Unsupported self-closing HTML5 tags found."

This warning indicates that there are self-closing tags in the project content that will not render correctly at runtime.
Click Resolve to convert these tags to a regular HTML tag pair.


Manual
Message: "Local content resource | KnowledgeCenter topic not found (#<resource-id> - <resource-name>)."

This warning indicates that the reference to the content resource or knowledge center article could not be resolved by the system. Consequently, the content resource or knowledge center article will not show when the user hovers over the help icon of the question.
Look for the referenced content resource or knowledge center article. Try to remove and add the resource link again when the resource and articles are available.


Manual
Message: "No KnowledgeCenter-topic resource found for with tag-category <tag-category> (and tag-value <possible tag-values>)."

This warning indicates that referenced knowledge center article has been selected by tags and that there are no articles with the given tag in the knowledge center.
Look for the articles in the knowledge center and ensure that they have the correct tags associated with them.


Manual
Message: "The <part-name>-part is not available [reason=<reason>]."

This error indicates that you are using a part that is not available in your setup. Please check the reason text for more details.
Remove this part.


Manual
Message: "This type of validation ('<validation type>') does not support conditions set using the Rule editor."

This error indicates that you are trying to use a feature that is not available for the selected validation type.
Switch back to the Condition editor to type in the condition manually.


Manual
Message: "This type of validation '<validation condition>' does not support conditions."

This error indicates that you are trying to use a feature that is not available for the selected validation type.
Remove the condition for this type of validation.


Manual
Message: "The configuration of this part contains one or more invalid settings."

This error indicates that there are invalid settings with the part configuration that potentially can lead to unexpected behaviour of your application.
Open the part configuration to resolve the errors.


Manual
Message: "The 'Highcharts (Maps)' package is not installed."

The 'Chart' part requires you to have Highcharts (Maps) installed on the system to run. This warning indicates that the Highcharts (Maps) package is not installed on the system.
Acquire and install the Highcharts (Maps) package.


Manual
Message: "The map cannot be presented as the 'Highcharts (Maps)' package is not installed."

The 'Chart' part requires you to have Highcharts (Maps) installed on the system to display a map. This warning indicates that the Highcharts (Maps) package is not installed on the system.
Acquire and install the Highcharts (Maps) package.


Automatic
Message: "The input type: 'text' is deprecated. Data object type: 'number' only supports the input types: 'formatted number' or 'number'."

In older versions of LogicNets it was possible to use a text input as the input for a number object. This warning indicates that the system now only supports 'formatted number' or 'number' inputs for number object types.
Click Resolve to change the input type to 'Formatted number'.


Manual
Message: "Column: <column name> already has an Alias."

This warning indicates that the column has both an alias and an 'AS ' part in the SQL expression. This would lead to an SQL error while retrieving the data from the database.
Remove the alias (the AS part) from the column's SQL expression.


Manual
"Message: No Alias specified for aggregate column: <column>."

When a column uses an aggregate function it must have an alias. This warning indicates that no alias has been specified for the column, which may cause functionality like sorting and row totals to fail.
Specify the alias for the column.


Manual
Message: "No Alias specified for SQL-expression column: <column>."

When a column is an SQL expression you should define an alias. This warning indicates that no alias has been specified for the column, which may cause functionality like sorting or row totals to fail.
Specify the alias for the column.


Manual
Message: "Totals row requires Alias for column: <column>."

When the totals row is configured, number and currency columns with a '.' in the column name must have an alias for the totals to work.
Specify the alias for the column.


Automatic
Message: "The parameter: 'data_type' must be set to 'collection'. Use 'item_type' to specify the data type."

In older versions of the checklist part the data_type was set to 'text' or 'number'. LogicNets has introduced a new parameter, called 'item_type', to store the item type as 'text' or 'number'.
Click Resolve to convert the parameter.


Manual
Message: "The Lua script contains errors or warnings."

With v7.4.6+ the system triggers this validation error when a server-side script part or a custom part built with Lua has an error or warning. By selecting this validation error, you can go to respective part and execute the check code functionality. For more information, see the server-side script documentation: Server-side Script.
Go to the respective part and execute the check code functionality.


Manual

Message: "Missing parentheses which may alter boolean precedence."

With v8+, the system triggers this validation warning when there is potential ambiguity in the desired processing of a rule.

In v8, the system has been updated to LUA5 where the AND and OR operators have updated precedence, now following generally accepted mathematical best practice:

Simplified example: A or B and (C or D)

  • In Lua 4: Both operators have the same precedence
    The rule is processed left to right as (A or B) and (C or D)
  • In Lua 5: The precedence of or is smaller than the precedence of and while still honoring the parentheses
    The rule is processed as A, or (B and either C or D)
Go to the respective rule and add additional parentheses to insure the rule clauses are assessed in the correct order.


Manual

Message: "Cannot parse expression to check for boolean precedence [reason = X]"

With v8+, the system triggers this validation warning when a manual condition cannot be assessed or re-written for the change in boolean precedence (see 500002 above).

Possible reasons are:

  • Operator expected: check your condition for a missing = ,+, >, <, ~= etc.
  • Operand expected: check correct entries before and after the operator

  • Unknown operator found: check this article for valid operators

  • Missing closing parenthesis: verify all parentheses are opened and closed

  • Missing closing quotation mark: verify all text operands are within 'quotes'

Go to the respective manual condition, verify and correct as necessary


Manual
Message: "Empty object path (reference) in rule"

For a rule to work it needs a data object on which to perform the evaluation. This warning indicates that the rule is missing that data object. Navigate to the rule by clicking on the validation warning and update the indicated rule. You may need to switch to the tab where the actual rule is configured.
Go to the rule and specify the object path


Manual
Message: "Empty option value and caption

Radiolists, checklists and dropdowns should not have empty answer option values (or captions except in rare cases). This warning indicates that the answer option list contains a null etry. Navigate to the form part by clicking on the validation warning and updating the answer option list.
Go to the form part and remove the empty answer option
Reply Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
Like Follow
  • 9 mths agoLast active
  • 393Views
  • 6 Following

Home