March 2024 - Dashboard Release Notes

 

  • icon is used to highlight the Customer Request tickets

  • The 2024_03 release contains no Schema changes


NEW FEATURES

 

Sub Total Calculations - Improvements To Totals & Sub Totals For Measures - Using Averages

pi#1888

25494, 26812, 28663 & 29555

Tables - Sub Totals

Sub Total Calculations - Improvements To Totals & Sub Totals For Measures - Using Averages

pi#1888

25494, 26812, 28663 & 29555

Tables - Sub Totals

Following on from other changes around Sub Totals, as introduced in the February 24 release, we are now introducing improvements to Totals and Sub Totals for Measures, using Averages.

To help explain this, imagine you have a table with:

  1. A measure defined with AVG() or / in the select statement

  2. A total type of average defined in the attributes on that table

Additional queries have been built to generate more accurate averages for the Grand Total and all Sub Totals on the table (Sub Totals being defined by the sub dimension breaks). This will obtain the accurate average value, taking the average of all values in the database - as opposed to the average of only what appears on the table.

The process generates 1 additional query for the Grand Total, and 1 additional query for each Sub Total you have defined. The additional queries for the Sub Totals follow a hierarchy from the left side to the right side of the table.

N.B - Information regarding the additional queries that have been generated appear in the chart’s debugging panel.

Screenshot from 2024-02-29 11-31-31.png

In the example below, the Grand Total at the bottom would previously have been 33.866 without the new additional queries, as that is the average of all 5 rows in the table (excluding Sub Totals). That method however is not a representative of the averages of all rows in the database, so the additional queries now generate a more accurate average calculation, for the Grand Total & Sub Totals.

 

image-20240328-153459.png

 

Screenshot from 2024-02-29 11-32-57.png

This feature is not currently configured to work with percentages. If you select the check display as percentage for the measure with this specific scenario, it will not change the result on the table.

 

 

Exporting & Scheduled Report - Support for Internationalisation (i18n)

Renderer#105

29276

Exporting

Exporting & Scheduled Report - Support for Internationalisation (i18n)

Renderer#105

29276

Exporting

Exports and Scheduled Report are now internationalised (i18n) in the same way as they are in the web product. The dashboard remembers the last used language for a user, and applies that to the export.

 

 

API - New Endpoint To Retrieve ALL Users (Not Just Users Managed By The Authenticated User)

pi#2244

29427

API - New Endpoint To Retrieve ALL Users (Not Just Users Managed By The Authenticated User)

pi#2244

29427

A new API endpoint (/users/all) has been added that obtain all of the users, not just those manageable by the authenticated user. To retrieve all of the users, the authenticated user must be either an Admin or have permission to schedule.

 

 

Themes - Disable The Delete Button When A Theme Is Being Used

pi#2191

27184

Themes - Disable The Delete Button When A Theme Is Being Used

pi#2191

27184

When attempting to delete a Theme, when pressing the ‘Delete’ button, if the theme is either being used by a User or set as the Global Theme, the deletion attempt will fail. An error stating which theme(s) cannot be deleted and if this is being used by a User or set as the Global Theme will be shown to help direct the user.

 

 

Migrations - Run Against A MySQL 8 Database (With A Non-SSL Connection)

migrations-jar#45

-

Migrations

Migrations - Run Against A MySQL 8 Database (With A Non-SSL Connection)

migrations-jar#45

-

Migrations

Previously, when attempting to run migrations against a MySQL 8 database without an ssl connection, the connection would fail. This was due to the MariaDB JDBC being used for both MySQL and MariaDB. We have now configured migrations with the MySQL JDBC driver should the user choose to do so. You can set it to be used in the config tool:

 

Screenshot from 2024-03-18 16-40-38.png

Or in the docker dashboard Environment Variables with the following:

PI_DB_IS_MYSQL: "true"

N.B - you must be using an external database for this to work. We only package the dashboard with a MariaDB database.

 

Migrations - New Version Of Our Dashboard For New Users

migrations-jar#44

-

Migrations

Migrations - New Version Of Our Dashboard For New Users

migrations-jar#44

-

Migrations

We’ve released a new version of our out-of-the-box Dashboard for people using the product for the first time!

 

image-20240409-111807.png

 

image-20240409-111835.png

 

image-20240409-112440.png

 

 

CHANGES

 

 

Table Scroll Bars - Horizontal Scroll Bar Overlapping Data

pi#2226

29250, 29331, 29732, 29829, 29900 & 30360

Table Display

Table Scroll Bars - Horizontal Scroll Bar Overlapping Data

pi#2226

29250, 29331, 29732, 29829, 29900 & 30360

Table Display

A Horizontal Scroll Bar would appear over the top of the last row of data for several different table types, obscuring the data for that row - as shown below;

image-20240326-120948.png

This has been addressed for regular Table charts and also Merged, Editable or Rotated tables too.

 

 

Non Secure Variables - Performance Improvement

pi#2320

-

Performance & Variables

Non Secure Variables - Performance Improvement

pi#2320

-

Performance & Variables

We’ve reworked how non-secure variables are stored to significantly boost performance when you have a large number of them, whilst still protecting any secrets used for secure variables.

 

 

Exporting (Excel) - Failing For Tables With Additional Data And Row/Column Totals

pi#2200

24776 & 30158

Exporting

Exporting (Excel) - Failing For Tables With Additional Data And Row/Column Totals

pi#2200

24776 & 30158

Exporting

Tables with Additional Data, and Row and/or Column Totals enabled were failing to export to Excel, returning the error ‘There were problems downloading the Excel file’. This is now resolved.

image-20240326-115654.png

 

 

Exporting (PowerPoint) - Tables Taking Up Less Slide Space To Improve Appearance

Renderer#100

-

Exporting

Exporting (PowerPoint) - Tables Taking Up Less Slide Space To Improve Appearance

Renderer#100

-

Exporting

When exporting tables into PowerPoint Exports, the tables have a tendency to spill vertically over the edge of the page under certain circumstances, including when there are lots of columns. To overcome this, we have decreased the percentage of the PowerPoint slide that the table takes up to avoid this from happening as frequently. It will however still happen if you have a very large amount of columns, approx 10+, and it will cause smaller tables to take up a smaller portion of the slide too.

This is a temporary adjustment whilst alternative solutions are explored to further optimise the PowerPoint Export functionality.

 

 

Exporting (PowerPoint) - Missing Columns When The Table Is Used Multiple Times In A Report

Renderer#101

-

Exporting

Exporting (PowerPoint) - Missing Columns When The Table Is Used Multiple Times In A Report

Renderer#101

-

Exporting

When using the same table multiple times in the report, only the first instance of the table would displayed correctly - in some cases this presented tables with missing columns from the header. Any duplicates of the same table will now be shown in its full length containing all the data. Further improvements have also been made in the positioning of the elements within the slide - to ensure that no content is displayed outside of the slide body.

 

 

Exporting (Word) - Unable To Export When The Header An Image (With No Position Defined)

pi#2333

26247

Exporting

Exporting (Word) - Unable To Export When The Header An Image (With No Position Defined)

pi#2333

26247

Exporting

When attempting to export to Word, should an image be present in the header that has no position defined, this will no longer fail to export. Should no position be defined, this will now set to the default position.

 

 

Drill To Chart - Failing When XML Special Characters Are Within The Values

pi#2235

29284

Drill To Chart - Failing When XML Special Characters Are Within The Values

pi#2235

29284

When attempting to use the Drill to Chart, on a values that contained an XML special character (< > “ ' &), the Drill would previously fail - as would attempting to open the Chart Editor. An error would be displayed for a ‘Response with Status: 500 OK for URL’ error, which is now resolved.

 

 

Auto User Sync - Only Super User Admin Could Create A New User Using The User Sync API

pi#2341

30133

Auto User Sync - Only Super User Admin Could Create A New User Using The User Sync API

pi#2341

30133

As part of the new Auto User Sync functionality introduced in the February 24 release, creating Users through the /users/sync POST endpoint would fail unless you were authenticated as the Super Admin User - this is no longer the case.

 

 

Library Upgrades

(Excel Reader#35, 38, 39, 42, 48), (Scheduler#65, 66, 74, 82), (Configuration Tool#133), pi#1839 & pi#2149

29311, 29300, 29312, 28887, 29299, 29310, 28885, 28886, 29306 & 29298

Libraries

Library Upgrades

(Excel Reader#35, 38, 39, 42, 48), (Scheduler#65, 66, 74, 82), (Configuration Tool#133), pi#1839 & pi#2149

29311, 29300, 29312, 28887, 29299, 29310, 28885, 28886, 29306 & 29298

Libraries

Upgrades performed to several libraries, including;

  • Go which has been upgraded v1.22 for both the Scheduler and Excel Reader modules.

  • Logback has also been upgraded from 1.2.11 to 1.2.13.

 

 

Driver - PostgreSQL Driver (Windows & Linux Distributions)

pi#2347

-

Driver

Driver - PostgreSQL Driver (Windows & Linux Distributions)

pi#2347

-

Driver

Resolution of a Known Issue introduced in the February 24 release, Windows & Linux distributions now include the upgraded PostgreSQL driver (v 42.6.1) as standard, which resolves known vulnerabilities.

 

Migrations - Error When Using External MySQL (5/8)

pi#2275

-

Migrations

Migrations - Error When Using External MySQL (5/8)

pi#2275

-

Migrations

We’ve addressed errors when running migrations using an external MySQL database for Dashboard Repos, due to syntax discrepancies between it and MariaDB updates made in MySQL 8 - that changed the name of a table that was used for validation.

 

Migrations - Error When Using External Database With Multiple Schemas

migrations#49

-

Migrations

Migrations - Error When Using External Database With Multiple Schemas

migrations#49

-

Migrations

Resolved an issue where Databases with multiple schemas configured would eventually run into migration errors. This was due to non schema specific querying of certain INFORMATION_SCHEMA tables, resulting in migrations that had already taken place on the active schema being attempted again.