LogicBlox 4.35


LogicBlox 4.35.1

Release Date: August 5, 2021

Corrected Issues

The issues listed below have been corrected since the 4.35.0 release:

  • Tools, Database, and Services
    • Fixed issue with incorrect inputs when parallel SIP full re-evaluation is used.

Known Issues

The issues listed below are known to exist in the 4.35.1 release.

  • Tools, Database, and Services
    • This release contains changes to some lb-workflow tasks related to workbook creation. These fixes have not been applied yet to lb.wb.CreateWorkbook, which means errors related to recent changes in the LB runtime that imposes restrictions on string lengths can still occur. Please note that this known issue does apply to lb.wb.util.CreateWorkbook.

  • Notice for macOS 10.15 Catalina users
    • LogicBlox builds are not signed with an Apple developer certificate. This may result in error messages stating that LogicBlox originates from an "unidentified developer". To ensure the LogicBlox services will run on your system, apply the following command on the distribution tarball you downloaded from this website:

      $ xattr -d com.apple.quarantine logicblox-osx-<VERSION>.tar.gz

      Additionally, LogicBlox services will not function correctly when using a signed/notarized Java Runtime Environment. For instance, AdoptOpenJDK version 11.0.6 is the latest version that works with LogicBlox without causing signing issues.

      For more information about running apps from an unidentified developer, see Apple's macOS User Guide.

LogicBlox 4.35.0

Release Date: June 8, 2021

What's New

LogicBlox 4.35.0 introduces the following enhancements:

  • Modeler
    • Modeler now supports filter before aggregation in Modeler’s sheet views. Roll-up cells for aggregated levels (e.g. Subclass) can now show the aggregated value (e.g. total) of all lower levels (e.g. Sku) while respecting filters applied on these levels. Before this release, Modeler always showed the aggregated value regardless of any filters applied on lower levels.

      The filter before aggregation feature can be enabled or disabled with the "Filter Before Aggregation" option in the filter menu of the sheet toolbar.

      Example 1. 

      The following view has a filter defined on the Sku level. The user is only interested in sku-34, sku-36, and sku-37. Filter before aggregation has been enabled, so the roll-up cells of the Subclass level "Vegetables" show the aggregated values (total) of the level members that match the filter.

      Example 2. 

      The following view has the same filter defined as the previous example. In this example, the filter before aggregation feature has been disabled resulting in the roll-up cells of the Subclass level "Vegetables" showing the aggregated values of all level members of the Sku level.

      Note

      Please note that roll-up cells are currently read-only when filter before aggregation is enabled. We plan on making these cells editable in a future LogicBlox release.

      The filter before aggregation feature can be enabled globally in the Modeler configuration.

      {
        modelingFeatures: {
          ...
          filterBeforeAgg: true
        }
        ...
      }

      Additionally, filter before aggregation can be enabled or disabled per sheet configuration JSON. This type of sheet configuration overrides the global Modeler configuration setting.

      {
        pivotConfig: {
          ...
          filterBeforeAgg: true
        }
        ...
      }

  • Modeler IDE
    • The "Canvases" view of the Modeler IDE now contains a full-featured canvas layout editor that supports drag-and-drop. With the new canvas layout editor, the application developer can add one or more resizable sheet views and actions panels to the canvas.

      Example 3. 

      The following example shows the configuration of a single sheet canvas.

      The application developer can add additional sheet views and action panels to the canvas by dragging these views from the sidebar on the left-hand of the view.

      Example 4. 

      The following example shows the configuration of a canvas with two sheet views.

      To remove a view from the canvas, click on the trash can icon in the upper-right corner of the tile when it's selected. It's also possible to remove a view from the canvas by dragging it out of the canvas.

      Example 5. 

      The following example shows the configuration of an action panel. The application developer can configure the action buttons for the panel by clicking on the "Edit" option in the "Actions" section.

      By default, action panels have a custom height of 40 pixels. These types of custom sizings can be applied to both sheet views and action panels. Besides specifying pixels (e.g. 40px), it's also possible to specify relative sizes using ratios (e.g. 2).

    • In this release, we introduce the concept of templates and implementations in the Modeler IDE. For a Modeler IDE project, the template can either be a pre-configured solution such as a generic assortment planning application or represent a custom Modeler application. In the case of a pre-configured solution, the application developer will typically create an implementation on top of the template. In this implementation, it's possible to override and extend the configuration provided by the template.

      Both templates and implementations will be migrated automatically to the latest version by the Modeler IDE. Please note that the template is never copied over or forked when creating a new project, meaning the Modeler IDE project will continue to receive updates from the template throughout its lifetime.

      This new feature is guided by Infor's 60:30:10 approach where 60% of an implementation is standard and/or pre-configured in a template, 30% consists of relatively simple overrides and additions to the configuration provided by the template, and 10% involves expert configuration that addresses unique needs for this specific implementation.

      Example 6. 

      Let's say the application developer wants to open a custom Modeler IDE project or a pre-configured solution. In that case, when they first open the Modeler IDE or after selecting the "Change" option in the top menu bar of the Modeler IDE, they only need to specify the location of the template.

      After opening the template project, the application developer can configure the project in the same way as they're used to from previous releases of the Modeler IDE.

      The structure of templates is identical to the structure of projects created by the Modeler IDE in previous releases.

      Example 7. 

      Now let's say the application developer wants to create an implementation based on a template. In that case, the developer has to select both the template project and the implementation project.

      After opening the implementation project, the application developer can configure the project in the same way as they're used to from previous releases of the Modeler IDE with the exception of all changes to the configuration being stored in the implementation project as overrides for the configuration provided by the template.

      In the following example, the name of the project has been overridden to the value "IDE Planning Implementation". The yellow triangle in the input field "Name" indicates the presence of an override. By clicking on this indicator, the application developer can inspect and restore the original template value.

      The following example shows a typical use of an override. The application developer has overridden the name of a measure and decided to remove the historical lock provided by the template.

      The structure of an implementation project is new and is stored in its own folder. The implementation contains all overrides stored as JSO files in the override folder. Additionally, the folder contains all shell scripts and Nix expressions required for building and deploying the application.

      Currently, the Modeler IDE expects data to be stored in the data folder of the implementation project. The developer should create and populate this directory manually.

    • Checkboxes now appear before their label to improve the usability of the Modeler IDE.

  • Tools, Database, and Services
    • Added sequential full re-evaluation for SIP rules, to improve performance in cases in which full re-evaluation is preferred over incremental maintenance (e.g., when the size of a predicate has decreased significantly in a transaction), but parallel full re-evaluation is not possible (e.g., because the new size of the predicate is too small to split into subdomains, which are required for parallel evaluation).

Corrected Issues

The issues listed below have been corrected since the 4.34.0 release:

  • Modeler
    • Resolved an issue that caused the sheet title in the sheet toolbar to become invisible when there are three or more sheets in a row.

    • The user's scroll position is now saved in Chart Mode. Previously, the scroll position was always reset to the top when reloading the view.

    • Resolved an issue that caused the top menu bar of the Modeler application to overflow in situations where the action buttons did not fit within the available space in the menu bar.

  • Tools, Database, and Services
    • Fixed an illegal cast exception that can occur when installing the samples of a pulse and default-valued predicate in the workspace.

Known Issues

The issues listed below are known to exist in the 4.35.0 release.

  • Tools, Database, and Services
    • This release contains changes to some lb-workflow tasks related to workbook creation. These fixes have not been applied yet to lb.wb.CreateWorkbook, which means errors related to recent changes in the LB runtime that imposes restrictions on string lengths can still occur. Please note that this known issue does apply to lb.wb.util.CreateWorkbook.

  • Notice for macOS 10.15 Catalina users
    • LogicBlox builds are not signed with an Apple developer certificate. This may result in error messages stating that LogicBlox originates from an "unidentified developer". To ensure the LogicBlox services will run on your system, apply the following command on the distribution tarball you downloaded from this website:

      $ xattr -d com.apple.quarantine logicblox-osx-<VERSION>.tar.gz

      Additionally, LogicBlox services will not function correctly when using a signed/notarized Java Runtime Environment. For instance, AdoptOpenJDK version 11.0.6 is the latest version that works with LogicBlox without causing signing issues.

      For more information about running apps from an unidentified developer, see Apple's macOS User Guide.

Installation Information

Install LogicBlox 4.35.0 by following the steps outlined below:

  1. Download the LogicBlox installation package for Linux or macOS from the LogicBlox developer website.
  2. Extract the tarball into a directory, which we refer to as <LOGICBLOX_HOME>.
  3. Run the following commands:
    source <LOGICBLOX_HOME>/etc/profile.d/logicblox.sh
    source <LOGICBLOX_HOME>/etc/bash_completion.d/logicblox.sh
    NOTE: these scripts automatically set all the necessary environment variables (please be aware that this script only works if you use bash as your shell). You might want to add these commands to your .bashrc.

Upgrade Information

  • Modeler
    • The library containing the Modeler migration tool is included in the distribution under <LOGICBLOX_HOME>/lib/npm/modeler-migrations-<VERSION>.tgz and contains a command line tool for doing various transformations/migrations of modeler configurations.

      To use the npm module, you first need to install it by running npm install --no-save <LOGICBLOX_HOME>/lib/npm/modeler-migrations-<VERSION>.tgz. You will then be able to use the command line tool. The module contains a README.md file that lists all available transformations as well as detailed instructions for use.

      To automatically upgrade a Modeler application from one version to another, run the upgrade script to upgrade between versions:

      ./node_modules/.bin/migrate-modeler --fromVersion <prevVer> --toVersion <toVer> /path/to/my/modelerapp

      where the version numbers refer to LogicBlox releases (e.g. 4.35.0).

      NOTE: If you installed the npm module globally, you won't need the ./node_modules/.bin prefix on the command.

Release Information

  • Server requirements
    • Operating System: 64-bit Linux; Apple macOS 10.10+ is supported for local development
    • Java Runtime Environment 11
    • Python 3.5 or higher
  • Client requirements
    • Applications using LogicBlox Modeler: Modeler supports major browsers not older than 1 year. Google Chrome provides the best performance.
    • Requirements for applications using non-LogicBlox Modeler components may vary per application.