LogicBlox 4.17.0

Release Date: October 7, 2019

What's New

LogicBlox 4.17.0 introduces the following enhancements:

  • Modeler IDE
    • The Modeler IDE has been updated with a new variable syntax for measure rules which enables users to specify how the IDE should explode measures along measure components (e.g. Role, UOM, or Version).

      We often think of rules in terms of measures, for example, NetSales = Sales - Returns. However, when we create a measure with variants in the IDE, there is no single NetSales measure; there are actually many derived NetSales measures (e.g. NetSales_R_WP_PLN, NetSales_R_TY_MGR, etc.). When defining a rule for this type of measures, you can now add the prefix $ to a measure name to specify along which measure components it should be exploded. This way you only have to write the CubiQL rule for calculating NetSales once. The IDE will take care of the rule explosion.

      Example 1. 

      In this example, we've used $Sales and $Returns. This means we want to generate a rule for every derived measure of Sales and Returns. You can inspect the rules generated by the IDE for each derived measure of NetSales in the "Preview" tab:

      If you only want to explode rules along specific measure components, you can specify which measure components should be fixed. For instance, when you only want to generate a rule for every working plan measure of Returns, type $Returns_WP. The version will be fixed to working plan, but the IDE will still explode the measure along its other measure components (e.g. UOM and Role).

      The auto-complete function of the CubiQL editor allows you to inspect which derived measures are present in the data model of your application. For example, when you didn't include percentage as a UOM in a measure variant, derived measure names for percentage will not appear in the auto-completion, because they don't exist.

    • The Action view of the Modeler IDE has been updated.

      A summary of the changes on this view:

      • The LogiQL editor now shows the pre-defined LogiQL of the action as read-only rows.
      • Actions can now be configured to be initially disabled.
      • The "Allow HTML" option for Actions is now always visible in the view.

    • It's now possible to configure Spread By Metric in Measure variants. The options in the dropdown follow the naming conventions of the new variable syntax for measure explosion.

  • Tools, Database, and Services
    • Better error messages for 404 errors coming from websocket services.

  • Measure service
    • All references to the measure language in the protocol, command-line tools, and implementation have been removed.

Corrected Issues

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

  • Modeler
    • Fixed an issue which prevented users from opening the Filters panel using the right-click context menu of fields (levels and measures) on the axis configuration panels.

    • Resolved an issue where Modeler's grid would disappear when any toolbar menu was opened while the focus was on the grid. This issue only occurred with Chrome version 76 and up.

    • Fixed an issue where long level and measure names would overflow the field size when being dragged to an axis.

    • Resolved a Javascript error that could occur when the user would type a non-existing value in the "Exactly matches" filter.

    • Fixed an issue in Modeler's copy/paste functionality where cells could be marked as being copied to the clipboard even though the copy action was aborted by the user by dismissing the modal (by clicking outside of it) that holds the "Copy to Clipboard" button. Modeler will no longer show cells as being copied to the clipboard when the copy action was aborted by the user.

    • The Data Import view no longer show the text "Drop File Here" in the upper left corner of the view after choosing the file that should be imported. Additionally, the drag and drop functionality of this view is working properly again.

  • Modeler IDE
    • Fixed an issue in the Dimensions view where long level names would overflow the field size. This issue only occurred on this view when the IDE was showing validation errors.

    • Modeler IDE builds no longer fail when a project doesn't have any actions configured.

    • Resolved an issue where the Actions view would duplicate the prefix of service URLs.

    • The "Allow HTML" option which allows the use of HTML markup in the response messages of actions is now always visible in the Actions view.

  • Tools, Database, and Services
    • Fixed an issue where it was not possible to write a delta rule that joined on the retractions from a predicate with no keys.

Known Issues

The issues listed below are known to exist in the 4.17.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.

Installation Information

Install LogicBlox 4.17.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 <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.17.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 8, update 101 or higher
    • Python 2.7 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.