Stephan Bruijnis .dev

Be Informed - Errors and Warnings

Be Informed - Errors and Warnings

Mar 12, 2021
Be Informed
Errors, Warnings, Debugging

Note: implementation specific labels are replaced with X in the error and warning messages

Server log #

Component not found #

ERROR

Either the user misspelled the URI (e.g. used an old bookmark to a part of the application that has a new URL) or there is a redirect handler configured that leads to a wrong URL. Check in local dev environment whether the URI should exist.

Could not evaluate expression in ‘X’ with expression ‘X’: Identifier is unavailable or value is null #

ERROR Could not evaluate expression in 'X' with expression 'X': Identifier is unavailable or value is null. Identifier: X with role: String

In the newer Be Informed versions expressions with empty variables will no longer evaluate to a result.

Change the expression to check isEmpty() on the used identifiers to make sure they are not empty (before using them in an predicate).

Could not evaluate expression in ‘X’ with expression ‘X’: Ternary has an unknown evaluation result #

ERROR

Caused by an invalid expression, most likely an IF statement without an ELSE statement. Often occurs with multiple nested IF-ELSE statements. Ternary logic is a logic system with three truth values: TRUE, FALSE, and UNKNOWN, e.g. in SQL SERVER. In Be Informed expressions are a form of binary logic and need to evaluate to TRUE or FALSE, this message tells you the expression does not evaluate in (some cases) to TRUE or FALSE.

Check the logged expression and focus on the number of IF statements versus the number of ELSE statements.

Note: Expressions are lazy evaluated from left to right and expressions may contain many nested expressions. Which means that this error only occurs when the evaluator is forced to produce the expression’s value that does not evaluate to the truth values TRUE or FALSE. Often previous elements of the expression will produce the expressions value TRUE or FALSE, and it only comes to invalid part of the expression under specific conditions.

Event data not valid because: Field X is not valid because:Length must not be larger than 255 characters #

ERROR

The data loaded into the event either via a datastore or passed via an execute event has more characters than allowed for the mentioned Field. E.g. if you retrieve a list of Identifiers from the database and this returns more results than one can fit in 255 characters.

The solution would be to check whether the expected result set is too large (and should be constrained) or the length of the field is not correctly set and should for example be infinite (-1)

Field X is not valid because: Must be a whole number #

ERROR

Caused by inconsistent use of input masks on this field or different output from database query versus the masks defined on datastore mapping and events.

Make sure that:

  1. The masks for this field are consistent for all the usages in the event and all (sub)events it is passed to.
  2. The formatting for this field in the database matches the mask of the attribute in the datastore mapping.

Hibernate operation: could not execute query; SQL [X]; The column name X is not valid #

ERROR nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The column name X is not valid.

In certain configurations such as Overview on a case tab one can create a custom query to retrieve data of cases. However Be Informed still expects that these overviews, panels (or elements) retrieve all CMFCASE columns.

Change the query of the Overview or Panel to select all CMFCASE columns.

Runtime exception for requested URI: ‘X’ with query string: ‘null’ #

ERROR CocoonApplication caught a runtime exception for requested URI: 'X' with query string: 'null': java.lang.NullPointerException

One of the possible causes is a record in the CMFEVENT Table shown on the history panel (obsolete) which refers to an event no longer available (on that location) in the repository. This causes a runtime error in older Be Informed versions, the newer versions (with the event list panel) won’t cause an application error if the event is no longer present in the repository, instead it will the event as plain text, without details and data.

Possible fixes:

  1. Update CMFEVENT records in the database to the new location in the repository
  2. Remove that event from CMFEVENT records in the database
  3. Update to newer Be Informed version (at least 3.16 or up)

Note: in the newer Be Informed versions (3.16 and up) the event history no longer contains a technical path to the event in the repository, but a functional identifier. This error won’t occur in those versions.

Skipping case property constraint with condition ‘X’ because there is no current case on the session #

WARN CasePropertyConstraint - Skipping case property constraint with condition 'X' because there is no current case on the session

A datastore view is configured that links to a datastore with an attribute with permissions. In these permissions a CASE.PROPERTY constraint has been defined.

  1. Configure on the datastore view attribute that holds the case context to determine which case context is used for permission evaluation.
  2. Change (if needed) the attribute containing the CASE.ID to a case-id reference attribute on the datastore.

The content of elements must consist of well-formed character data or markup #

ERROR

Be Informed tries to load data from the XML blog (either case properties, record data, event data etc.) which is no longer readable by Be Informed.

Check if the data of the specific case (properties xml) and event history (depending on which panel is loaded) is correct. This might be modified and unreadable by Be Informed. Either by events that were renamed - older BI versions - or by manual queries executed on the properties.

Unable to finish due to error: The configured concept ‘X’ in handler ‘X’ is not part of a taxonomy #

ERROR

There are several different solutions to this error. Check the following configurations

  1. The Start concept of the instrument is not linked to the top-concept of the taxonomy. Try changing this to the root (top) concept of the taxonomy.
  2. The Load attribute from taxonomy has a link higher in the taxonomy than the Start concept of the instrument. Try changing the Start concept to the root concept of the taxonomy.
  3. The Apply instrument links to a leaf of a taxonomy or the taxonomy exists of only one 1 concept (both root and leaf). Don’t use an instrument and determine the value in the event.

UpdateCaseHandler called without a case! Cannot transform response to internal format: #

ERROR com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<'"

An event is executed without a case in the context or (most likely) the open case handler is configured in the Init handlers part of the event.

An open case handler is does not work in the Init handlers and should be moved to the Store handlers. When the event performance operations on a case (records, properties, status etc.) it needs an open case in the context.

Unable to finish due to error: The mapping of datastore {0} has no ‘Query-data (insert record)’ configured #

ERROR nl.beinformed.bi.core.exception.ApplicationRuntimeException: The mapping of datastore {0} has no 'Query-data (insert record)' configured

An event is trying to execute an insert statement via a datastore. However the datastore has no insert query configured.

Check the mentioned data store whether it has an insert configuration (an update configuration with an insert statement won’t do!).

Studio preview #

Cannot create BasicDataSource #

This error occurs on starting the preview, and the preview of the application will not be loaded. It means that Be Informed was unable to connect to the database.

Check the Studio Console log for more information what might be wrong, there will be a more descriptive message in the log. Then fix the database configuration in the Profile and check the connection-url, the login credentials, if the database server is actually running (e.g. via Admin tools) etc.

Errors: Incorrect syntax near ‘LIMIT’ #

Check the Profile configuration. The Hibernate dialect in profile is probably set to MysQL instead of SQL.

Studio rebuild and preview application non-responsive #

There is no error message or anything, but the studio doesn’t not process changes by rebuilding the workspace or the application keeps “loading” when clicking a task or form element.

This might be caused by the OSGI console window; when the Be Informed studio console is opened as separate window and something has been “selected” almost all functionalities will be blocked until you unselect the content of the console window (press ESC).