August 2023 Dashboard Release Notes

August 23

Release Name

Release Date

Description

Release Name

Release Date

Description

pi.2023_08

Aug 31, 2023

Initial Release

 

We have several ways that you can get hold of the latest release - see our Download Options page for more details.

Before upgrading, we always recommend that you review ALL release notes, from the version you are considering upgrading from and to. This is essential should there be a material change that could impact you or your customers. We always advise that you take a backup of your repository before beginning an upgrade, and recommend testing out the new software on a test environment first.

 


We are pleased to present our latest offering of pi - our August 2023 product release! This page helps summarise the areas of the dashboard we have Added, Changed, or Fixed meaning you can make a quick and informed decision on when to upgrade to the latest release.

 

Here is what is included in the release.


Product Release

Added

Use variables and object replacement in number formatting fields

pi#1563

23606

Data Connections

It is now possible to use variables and object replacement when formatting numbers in data connections.

The new fields where this is now possible are the Decimal Separator, Thousand Separator fields and Decimal Places fields. For the decimal places field, the provided variables or replaced objects must resolve to a number. Variables and object replacement can also be used in combination.

 

Multi-Factor Authentication (MFA)

pi#1911

26984 & 27139

Security

Introduced functionality to enable Multi-Factor authentication for the users when trying to log in to the dashboard.

There is a few options of how to enable MFA:

  1. Global - a new checkbox has been added to Security Configuration in the global settings screen to ‘Require Users To Use Multi-Factor Authentication’. All dashboard users will be required to set up MFA next time they log in.

 

  1. Users - a new section has been added to Users Panel, which allows the Admin to require the selected User to set up MFA when using the dashboard. The panel also displays the current status of the user MFA setup and also provides an option to deactivate the current setup.

 

  1. Self - in the user account screen, an option has been added to set up MFA for your own user account. Once ‘Activate MFA’ box is ticked and the details are saved, the user will be redirected to set up MFA for the dashboard.

The current MFA functionality only applies to users logging in with a username and password. External authentication such as OpenID Connect is not currently supported. In addition, users accounts with MFA configured won’t be able to use the Dashboard API.

For further documentation around the options available, please have a read through our guide to setting up MFA for the dashboard.

 

Once the MFA is required for the user (whether at a global, user or self level), the next time the user tries to log in, they will be prompted with a new screen to set up MFA by scanning a unique QR code to their authenticator application. Once the correct MFA Verification Code is submitted from the authenticator app, the user MFA status becomes ‘Activated’. This means that the user MFA setup is active and the user will not be prompted to scan a new QR code unless the status is Deactivated in the User Panel or User Account Screen.

Once the user MFA status becomes ‘Activated’ after successfully scanning the QR code, all the following times that the users log in to the dashboard, they will be prompted to enter MFA code from the authenticator app:

A warning will also be displayed in the Security Centre with a total number of users without a valid MFA setup.

 

Carousel - Global Variable that determines the lowest value of the Carousel ‘Interval’ field

pi#1917

26745

Carousel

A new Global Variable has been added (CAROUSEL_MINIMUM_INTERVAL) that sets the lowest number allowed within the Dashboard Carousel's ‘Interval’ field. This variable defaults to 1 and can be changed in the ‘Global Variables’ panel of the Setting screen on the left-hand column.

This Global Variable can be overridden on a per-user basis by setting a User Variable (Configuration > Users > Select a user > Variables tab) of the same name to a different value. If a user enters a value lower than the minimum into the ‘Interval’ field of the Carousel Modal the ‘Play’ button will be disabled.

 

Carousel - Exclude Categories option

pi#1916

26745

Carousel

Added the ability to exclude categories from the Carousel via a button available on the category editor screen. It will skip over this category and display a warning message saying that you have 1 or more categories excluded from the carousel when you play the carousel.

  

Retain filters with unreplaced Objects in the SQL, when a Chart is displayed

pi#1919

25431

Chart Design and Display

This task is to implement the ability to retain filters with unreplaced Objects in the SQL when a Chart is displayed.

This is a technical feature for advanced users, who would like extra control to set up Objects with custom text replacement.

For example,

  • A chart is in a Category, which has a Category Filter called “Region” (This can replace text {{Region}} in a chart depending on if a value is set to “-- All --“ or a specific value)

  • An Object called “Department” is used in a chart as a filter, and this object has a SELECT statement like the below

  • With this config enabled for a chart, regardless if {{Region}} is replaced, “Department“ wouldn’t be removed from the WHERE clause when the SQL for a chart is generated, and “Department“ can be DATA.DEPARTMENT or DATA.DIVISION depending on the selection of the Category Filter

CASE WHEN {{Region}} = 'North' THEN DATA.DEPARTMENT ELSE DATA.DIVISION END
  • Without enabling this config, “Department“ is removed when “-- All --“ is selected, because a placeholder {{Region}} is still in the SQL

 

UI Changes

An extra checkbox is now available on the Edit Chart screen for the feature

 

JavaScript postMessage options for embedded categories added

pi#1862

26167

Embedding

Added 3 additional options for JavaScript’s postMessage function when embedding a category:

  1. revert-to-default-layout (reverts the category to its default layout)

  2. reset-to-default-view-of-category (resets to a saved default view of the category)

  3. refresh-category (refreshes the category)

 

Changed

Category Object Filters are now audited separately to the other filters

pi#1827

26342

Audits

Category Object Filters were previously being audited alongside other filters under the SEARCH_FILTERS column of the MIS_AUDITS table.

A new CATEGORY_FILTERS column has been added to MIS_AUDITS and the Category Object Filters are exclusively audited there when charts are fetched or exported.

 

Snowflake JDBC driver upgraded to 3.14.1

dashboard-deployment#69

26848

JDBC Drivers

The Snowflake JDBC driver issued with the dashboard has been upgraded from version 3.12.6 to the latest version 3.14.1. An MD file has been added to the JDBC directory to outline this change.

 

Merged Charts - Y2 axis will combine if they have the same label and tick positions

pi#1781

25977

Merged Charts

Merged charts that result in duplicate axis appearing on the right-hand side of the chart will now combine those axis into one. There are two conditions that dictate this behaviour: their tick positions (i.e. the incremental values that are shown next to the axis) and their labels.

More information on this behaviour can be found on our Merged Charts page.

 

Carousel - Permissions for Single Category and/or Whole Dashboard

pi#1918

26745

Permissions

It is now possible to set user and role permissions to use the carousel in a more granular fashion.

Previously, the permission allowed users to use the carousel to either play a single category or the whole dashboard as standard.

Now the two new permissions mean that users can be restricted to only being able to play a single category or the whole dashboard. If a user has neither permission then the option to play the carousel will not be visible to them.

Upon upgrading to the August 23 release, the new permissions will be set for each user and role, based on whether they originally had the ‘Can play carousel’ permission.

When using the API to update carousel permissions, you will now need to implement both fields (carouselForCategory and carouselForDashboard).

 

Destination of user is now remembered through OpenID Connect logins

pi#1570

21886 & 24100

Authentication

After an OpenID Connect login the users original intended destination is now preserved. They will land at the location of the provided URL from prior to login.

 


 

Fixed

Null database values sometimes being changed to zeroes

pi#1689

25378

Data Connection Objects, Charts

Previously, Measures whose Select statements attempted to directly access a value from the database, as opposed to get the SUM or AVG of them for example, would be automatically and erroneously converted into zeroes if they were NULL.

Now, these values will remain as NULLS and their conversion can be controlled, as intended, by the ‘Convert empty Measure values into:’ drop down in a chart’s Configuration panel.

 

SQL error messages not appearing in the chart debug tab

pi#1912

26702 & 26856

Chart Debug Tab

Previously, when you experienced an SQL error in a chart and then opened the ‘debug’ tab to investigate the issue, the ‘message’ section would be empty. The appropriate error messages are not being displayed.

 

Horizontal scrolling on tables on mobile devices can be difficult

pi#1904

27013

Tables / Mobiles

Previously, you would be unable to scroll horizontally on tables by clicking and dragging on the table itself. Now, you can do so successfully.

Note - there is an outstanding known bug around Horizontal Scrolling on Mobile devices where - if you have a Cross Tab table that has columns to the left (outside the cross tab) - you can only scroll on the cross tab section - so the fix for pi#1904 is not applicable in all scenarios. This known issue is in our product backlog as a separate ticket.

 

Improved handling of special characters in repository database password on Docker / Linux

pi#1748 & pi#1942

25787

Passwords

Previously, there were various issues to do with using special characters in the password for the ‘Dashboard Repos’ database. Forward slashes would lead to the Dashboard not starting up, backwards slashes would mean that the Scheduler would no longer work and many special characters would be parsed incorrectly leading to Migration or Tomcat initialisation failures. Now, the support for complex passwords has been made much more robust on Docker / Linux deployments with tentative support for every character.

 

Login Loop when using Open ID Connect and the Bypass Login screen feature

pi#1941

27114

Authentication

Previously if you used the bypass login screen function but you had an invalid Dashboard user from the identity provider it would result in a loop between attempt to login and failure. This is now resolved and the user will land on the error page as expected.

 

Non Super Administrators seeing 403 errors when using report filters and deleting a report

pi#1943

27186, 27190 & 27181

Reports, Themes

Previously if you used the report filters button or deleted a report and were not the super administrator, you would receive a 403 error.

 

Valid SAML parameters used as variables in the dashboard should allow successful login

pi#1946

27118

Authentication

An issue whereby valid SAML parameters were not being respected by the dashboard, which was preventing successful login via this method.

 


 

Schema Changes

 

New column boolean exclude_from_carousel added to table mis_categories

pi#1916

26745

Carousel