LogicBlox 4.3.9

What's New

Conditional Formatting: This
new feature allows measure values to be conditionally
formatted based on comparisons with constants. Conditions
apply to measures of any value type: numeric, boolean,
string, or level entities. Formatting options include the
background color, foreground color, and font styles such as
bold, italic, and strike-through.

The feature is available for end-users, while more
expressive configuration options are available to
configuration consultants only. End-users can open up the
conditional formatting panel by clicking on the settings
cogwheel in the bottom-right of a view, where they can add,
edit and remove conditional rules. The configuration is
stored per user.

In order to apply some initial (conditional) formatting to a view,
a conditionalFormatting
configuration section needs to be added to
the view's json configuration file.

Example 26.

The figure below shows the conditional formatting panel,
which has a rule defined for the measure Sales Units TY
stating that all cells need to be rendered with a
red background color, and the font needs to be displayed in white
and in bold if the value of the measure
is smaller or equal to 175,000.

The backend option allows configuration consultants to specify conditional formatting that applies to measures at certain
intersections only, rather than applying to a measure's value at all intersections.

Shortcut Buttons View:
The new ShortcutButtons view allows developers
to configure a group of buttons that can change
the configuration of one or more views on the same canvas.

A shortcut-buttons section in a
canvas configuration can specify a
partial configuration for another view or views. When
button is pressed, the partial configuration overrides the current
configuration for the specified view(s) with the provided configuration.

Example 27.

In the example below:

module is required to be ShortcutButtons

applyToViews attribute specifies a list of views
the button's configuration should be applied to when pressed.

buttons contains a list of button specifications.
label specifies the label of the botton, while
config contains the partial configuration that will
be applied to the views listed in applyToViews.

In this example, when the "Enable Mask Filter" button is clicked,
the list of mask filters on the mask-filter-sheet
will be set to SkuMask. The second button, "Disable
Mask Filter", clears the list of mask filters.

The buttons will appear as a group, whether a button
is active depends on whether the current configuration
of the sheet(s) already matches the configuration
defined for the button.

Copy/paste to and from external applications:
In previous releases, modeler-js supported copy/paste activities within
its own pivot grids. This release introduces the possibility of copying and
pasting a rectangular region of data to and from an external application,
such as Microsoft Excel.

Services Framework

New configuration option in lb-web-server.config to avoid sending the
NameIdPolicy element in a SAML
authorization request, as sending it
could cause issues with certain IDP's.

# if true, include the NameIDPolicy element in the AuthnRequest. This is an optional field that may
# cause issues with some IDPs. Default is true.
#include_name_id_policy=true

Measure Service

Simplification of removal
requests: Previously when removing values from a
metric with inverses, it was necessary to provide not only
the keys, but also the value to be removed, even though the
value can be determined from the keys. With this release,
the value is no longer necessary.

Intersection operators:
It is now possible to define intersections in terms of
the meet and join of other intersections.
See the CompositeIntersection protocol message for details.
It is also possible to define an intersection as the restriction
of another intersection. See the RestrictionIntersection
message for details.

Workflow

It is now possible to configure the prefix for the
status service and control service at once,
using lb:workflow:service:prefix[];
by setting it to app, the services will be
hosted at /app/status and /app/control respectively.
Furthermore, the LB_WORKFLOW_SERVICES environment variable
is used to change the default prefix on the command line
(e.g. LB_WORKFLOW_SERVICES=http://localhost:55183/app)
to avoid having to pass it to every command.
Finally, the status service library was incorporated
into the core lb-workflow library, so there's no need to
include it in application projects anymore.

New workflow tasks to call the new
workflow control service:

The task lb.control.Purge
can be used to delete selected,
terminated workflow instances.

The task lb.control.Action can be
used to send actions to selected workflow processes.

The action command now provides
feedback on which processes were affected by the executed action.

Corrected Issues

The issues listed below have been corrected since the 4.3.8 release.

Resolved an issue in TDX that prevented error files to be
generated if the combination of async mode,
errors only on error and a file URI were used together.

The output of log-level perf has been
revised. Unnecessary lines are removed to make the logs
significantly smaller and easier to review.

Fixed various runtime internal errors.

modeler-js User Interface Components:

Resolved an issue with the rendering of the settings menu when the user
clicked onto the settings cogwheel on a split canvas,
where the top view was configured to be very small.

Resolved an issue that prevented users from being
able to export a view to MS Excel, when a measure was
displayed at an aggregate level and the aggregation
method none was configured as its
default aggregation method.

All numeric measures are now exported correctly to MS Excel,
including their formatting.

The "remove" option now also works correctly for levels on the slice.

Fixed a regression where the mouseover formatting option no longer displayed image on mouseover.

Measure Service:

The update_pred field
of the Predicate message is now correctly consulted when defined.

Installation and Upgrade information

Installation Instructions

Installing LogicBlox 4.3.9 is as simple as following
the steps outlined below: