OL Connect CEF Release Notes Beta 1 (2024.1)

The OL Connect Designer is being migrated from the Mozilla-based embedded browser to the Chromium Embedded Framework (CEF). The CEF version of the Designer has additional features and behaves differently from the standard version in some ways. Some features that are present in the standard version have not yet been implemented in the CEF Beta 1 version.

This page lists the enhancements and differences between the Beta 1 tech-preview of OL Connect CEF and the standard OL Connect version 2024.1, as well as features that have not yet been implemented, and any known issues and limitations.

Enhancements

Theme

You can now apply a Light or Dark theme to the Designer user interface.

Handlebars

Many of the built-in helpers for Handlebars now accept more arguments than before. For example, OL Connect 2024.1 generates an error for {{log "a" "b"}} because “log” expects exactly one argument, but in OL Connect CEF, “log” expects at least one argument. This is in line with the behavior of the original Handlebars library.

Scripts pane: tooltip with coordinates

Hovering over a script in the Scripts pane displays a tooltip with the coordinates of the first matching element

Script editors: tooltip with help text

The help text for code completion proposals includes one or more links to the Online Help or other websites, as appropriate. This help text is now also shown when the user hovers over a word in a script editor.

The message that is displayed when hovering over a warning or error annotation in a script editor includes relevant help text.

CSS features

CEF supports all modern CSS keywords. If a CSS feature is supported in the current version of Chrome, it is almost certainly also supported in OL Connect CEF Beta 1. It has proper support for grid layout, clip-path, and object-fit, to name a few important features.

Some related usability improvements are:

  • Improved Styles pane, e.g. better representation of nested selectors, multiple occurrences of the same property name, pseudo element groups, and variables. Hovering over elements in the Styles pane highlights the affected elements in the main editor.

  • Validation in editors. E.g. validation errors are shown while editing a JavaScript resource.

  • Color previews in CSS, SCSS, and HTML editors (in local and remote files).

  • The Color Picker dialog now has an opacity slider, and its brightness slider has been flipped. Hexadecimal colors now use lowercase.

Updated Sass compiler

The Sass compiler has been updated. The new library is based on Dart Sass 1.68.0.
It has a number of additional features, such as:

  • The @use and @forward keywords are supported. In a SCSS editor, these are hyperlinks that can be clicked to open the target resource in an editor.

  • SCSS partials are validated, but only if they are referenced by at least one regular SCSS resource.
    In addition to annotations for errors (one per resource), annotations for warnings (potentially multiple per resource) are supported.

  • The error dialog that pops up if SCSS compilation fails contains a hyperlink to the file and line that caused the error.

  • SCSS files have proper syntax coloring.

  • @import statements are hyperlinks that can be clicked to open the target resource (either CSS or SCSS) in an editor. This also works in regular CSS editors.

  • In a SCSS editor you can omit the file extension, and if the target resource is a partial it is allowed to omit the leading underscore.

  • Compiled CSS files have a source map link at the bottom. This allows the Styles pane to refer to locations in the original SCSS file(s) rather than the compiled CSS file.

Differences

  • Formatting is now based on the latest CLDR standard. This means there may be differences in the way numbers and dates are formatted, compared to previous versions of OL Connect.
    Currencies now consistently use standard-currency rather than accounting-currency, which means negative values are not enclosed in parentheses by default, but instead have a minus sign.

  • In Preview mode - i.e. on the Preview tab - content is read-only; it cannot be edited.

  • Each user script now runs in its own isolated scope. Functions and variables declared with const, var or let can only be accessed from the script (or function) in which they are declared.
    If you want to make a variable global you should omit the const, var or let keyword. For example: x = 123;
    If you want to make a function global you should use a function expression: fn = function() { … }
    (See Writing scripts: tips and tricks.)

  • The Rhino library is no longer used for user scripts.
    Note that the underlying architecture for DataMapper scripts has not changed, they still rely on Rhino.

  • Validation for user scripts in design mode is now limited to syntax errors. In Design mode, in the Scripts panel and in script editors you will no longer get runtime warnings, such as when a table or field name is unknown, or runtime errors, such as when unknown properties are referenced.

  • The Script Debugger has been simplified and been made more user-friendly. Some examples: the call stack has been removed; hovering over a script now highlights the selector results in the main editor and scrolls them into view if necessary; the debugger automatically pauses when an error is thrown instead of continuing with the next script; if a line consists of multiple statements, you can step through each statement.

  • Custom color names are now case sensitive and they can no longer contain spaces.

    To refer to a custom color in CSS or HTML, you must use the “var” keyword and add two hyphens: color: var(--WebGreen). It is no longer possible to directly refer to a custom color (e.g. color: WebGreen).
    When you select a custom color from a color drop-down, the style value is automatically set using the var() function (e.g. var(--WebGreen) ).
    To make working with variables easier, CSS editors provide completion proposals for variables starting with "--".

  • The CMYK() function is no longer supported. When an older template is opened, cmyk(c, m, y, k) references are automatically changed into var(--cmyk-c-m-y-k), with appropriate values for c, m, y, and k.

  • All properties underneath sheetConfig.positions.all are now write-only.

  • The preference in Editing > CSS that allows users to configure the output style offers two settings - Compressed and Expanded (default) - instead of four.

  • The Box Formatting and Paragraph Formatting dialogs show the current font color ("currentcolor") in the various border color fields if no border color style is present.

  • The Color Picker dialog opens when "Other" is clicked in the Color drop-down (opened via Format > Color, or the Text color toolbar button), instead of the Text Formatting dialog.

  • Output can look slightly different. With some templates, these small differences may add up and affect the page count.

Known limitations

The following features are waiting to be implemented in OL Connect CEF.

CMYK output is not implemented yet.

CMYK has been temporarily removed from the Color Picker dialog. To use CMYK, you must define a custom color via Edit > Colors.

The Rasterization feature has not been implemented yet.

This means that charts (Business graphics) and boxes cannot be rasterized.

It also means that OL Connect CEF is not currently able to generate thumbnail images.
As a result, the following features are unavailable:

  • Generating a Template Report (File > Report).

  • Creating a .OL-package file.

  • Using the REST API to generate image previews.

The Delete Scripts dialog is not shown after deleting a chart using the Delete Browser Elements option in the contextual menu. The chart is deleted without confirmation. The related scripts are not deleted.

Preflight does not validate and report issues with CSS - like unsupported property names or invalid property values.

Handlebars expressions are not supported in the subject, recipients (To, CC and BCC), sender and reply-to address of an Email section..

Guides (horizontal and vertical lines used to help in aligning elements) are not available.

Columns in tables and Dynamic Tables cannot be resized, even if the Allow resizing option is checked.

It is currently not possible to use the Facing pages feature, which alternates the side margins in Print output.

Post Pagination Script functions section.paginate() and context.query() have not been implemented yet.

Since OL Connect CEF Beta 1 does not detect missing images, it cannot show a fallback image or the text of the alt attribute in case an image is missing.

OL Connect CEF Beta 1 may not set the value of unchecked checkboxes to 0 on submitting a form.

Support for scripted passwords for PDF attachments is not yet implemented.

Snippets can be edited, even when shared content editing is disabled.