Project-level Validation and Error Messages
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 |
---|---|---|
000100 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. |
000101 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. |
000102 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. |
000103 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. |
000104 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. |
000105 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. |
000106 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. |
000107 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. |
000108 Manual |
Message: "Invalid logicnet name: '<logicnet name>'." This error indicates that the logicnet name contains illegal characters. |
Update the name of the logicnet. |
000109 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. |
000110 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. |
000111 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. |
000112 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. |
000113 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. |
000114 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. |
000115 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. |
000116 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 = '. |
000117 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. |
000119 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. |
000120 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. |
000124 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. |
000129 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. |
000132 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. |
000136 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. |
000137 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. |
000138 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. |
000139 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. |
000140 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. |
000142 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. |
000143 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. |
000144 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. |
000145 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. |
000146 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. |
000148 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. |
000160 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. |
000161 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. |
000162 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. |
000170 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. |
000171 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. |
000201 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. |
100001 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. |
100002 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. |
200001 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'. |
300001 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. |
300002 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. |
300003 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. |
300004 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. |
400001 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. |
500001 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. |
500002 Manual |
Message: "Missing parentheses which may alter boolean precedence." 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:
|
Go to the respective rule and add additional parentheses to insure the rule clauses are assessed in the correct order. |
500003 Manual |
Message: "Cannot parse expression to check for Boolean precedence [reason = X]" Possible reasons are:
|
Go to the respective manual condition, verify and correct, as necessary. |
500004 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. |
500005 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 entry. 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. |
500006 Manual |
Message: "Empty translatable text found." | Check the text. |
500007 Manual |
Message: "Choice value contains leading/trailing spaces or multiple consecutive spaces." | Remove leading, trailing, or extra spaces in the answer options list and save. |