Skip to end of banner
Go to start of banner

January 2024 - Dashboard Release Notes

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 96 Next »


Release Name - TBC

2024_01


Product Release

Added

Drill to API - Beta

#2071

28060

Chart Types

We now have a new chart type called Drill to API. This allows you to issue an api request when a user drills and have the response handled. While in Beta only some options are available, others will be added in an upcoming release. See the docs for more info.

image-20240110-081026.png

The filename used when exporting is now always the Chart Name - the name the chart is saved under - even when a Chart Title is set in the Chart Attributes Panel

#1752, #2086

25470

Chart Exports

Previously, when exporting a file it would default to using the Chart Name - the name it is saved under - but would use the Chart Title set in the Chart’s Attributes section if one had been set. Now, it always uses the Chart Name. The part of the filename derived from the Chart Name is also truncated at 100 characters.

Ability to change language while logged in

pi#2087

27412, 26596

Languages

We have added “Change language” option to the ‘More Options’ menu in the top right. This will open a modal that allows you to change the Language of the Dashboard. It will also update any language related magic variables such as ‘LANGUAGE’.

2204_menu.png

Added /pi/health endpoint which contains info for licence and memory which can by accessed by the system admin with a token set in the config tool / docker environment variables

pi#2045

24568

Health check

Added a new endpoint /pi/health to the dashboard which returns the dashboard’s status as ‘up’ and some information regarding the licence and memory usage.

You have to add a system admin token of at least 15 characters into the config tool under security or a new environment variable called PI_SYSTEM_ADMIN_TOKEN under the dashboard in docker.

You provide this as an authorization bearer token header when attempting to access the /pi/health endpoint to be able to access the licence and memory information.

ClickHouse JDBC driver and Data Connection Driver Type

pi#1986

23178

Data Connections

JDBC Drivers

There is now a ClickHouse option available in the Data Connections. ClickHouse Data Source Type connections will be made using the ‘clickhouse-jdbc-0.5.0-all.jar’ that is now shipped alongside other JDBC drivers (tomcat/jdbc_drivers)

Theme Style options to style login panel error messages

pi#2125

27154

Themes

Login

Two new options have been added under the ‘Login’ tab to the classes available for Theme level styling. These new options are shown below with the one on the right relating to failed validation in the input fields (e.g. not entering a Username) and the one on the left being error messages that the Dashboard raises after the fields have been validated (e.g. attempting to login with an unknown username)

There have also been a couple of style improvements to this section with the class name now being able to span the entire ‘block’ and all of the properties being indented as opposed to just the first one.

Added user IP address to MIS_AUDITS table

pi#1998

23329

Audit

Added a column to the MIS_AUDITS table to track the user’s IP address. The correct address will even be picked up behind a reverse proxy or load balancer using the X-Forwarded-For or X-Real-IP header (in that order of priority) provided that they have been set in the reverse proxy / load balancer config.

Add extra auditing for admin actions when using external API

pi#2184

27122

Auditing

Added extra auditing for the following admin actions when using the external API : adding category to user, removing category from user, adding category to role, removing category from role, adding role to user, removing role from user, adding/updating/removing user variables, adding/updating/removing role variables, adding/updating/removing user restrictions, adding/updating/removing role restrictions, adding/updating/removing global variables, making changes to security settings, making changes to server settings.

Gold.sql update

migrations-jar#27

Migrations

gold.sql for Dashboard Repository has been brought up to date to include new database changes. A new view v_precanneddates that deals with date formatting has also been added. Please note, these changes will only be available for the fresh dashboard installations.

Additional translation fields

pi#2177

25175

Translation / Multilingual

Additional messages have been added to localisation (messagesStatic.properties file) , covering different areas of the dashboard, including user access, category access, reporting and scheduling screen, data connections editor and more.

 Expand here to see the new fields

data.connection.connection.tab.label=Connection
data.connection.data.tab.label=Data
data.connection.organise.tab.label=Organise
data.connection.excel.tab.label=Excel
default.term.clear.filters=Clear Filters
data.connection.columns.filter.panel.help.label=Diagram Filters:
data.connection.columns.filter.title=Filters for the table relationship diagram
data.connection.columns.show.related.tables.title=Show Related Tables
data.connection.data.table.generation.from.schema.label=Select from Schema
data.connection.data.table.generation.manual.label=Manual Creation
data.connection.data.table.generation.from.schema.expand.label=Expand schemas for available tables
data.connection.data.table.generation.from.schema.filter.label=Filter available table names ...
data.connection.status.is.valid.label=Connection is valid
data.connection.status.is.invalid.label=Connection is invalid
data.connection.status.is.unknown.label=Connection status is unknown
data.connection.export.button.label=Export data source
data.connection.column.select.value.label=Select Value
data.connection.import.show.object.list.label=Show Object List
data.connection.import.add.table.label=Add Table
data.connection.open.button.label=Open data source item
data.connection.column.style.value=Value
data.connection.column.style.colour=Colour
data.connection.column.style.add.item=Add item
data.connection.column.style.value.not.present=The value is not present
data.connection.column.panel.header.name=Name
data.connection.column.panel.header.object.type=Object Type
data.connection.column.panel.header.data.type=Data Type
data.connection.column.panel.header.cumulation=Cumulation
data.connection.add.column.button.title=Add column
data.connection.table.column.total.label=This table has {0} columns in total
data.connection.sample.data.out.of.date.label=Data out of date. Refresh to update
data.connection.sample.data.refresh.data.label=Refresh sample data
data.connection.sample.data.rotate.button.title=Rotate sample data
data.connection.organising.column.move.to.folder.label={0} needs to be moved into a folder. Otherwise it's not available to be used
data.connection.table.join.refresh.button.title=Refresh
data.connection.table.join.clear.selection.button.label=Clear Selected
data.connection.table.join.append.button.label=Append to SQL
data.connection.table.join.test.join.sql.button.title=Test join SQL
data.connection.table.join.sample.data.load.result.label=Result
data.connection.table.join.sql.field.label=Join SQL
data.connection.table.joined.table.label=Joined Table
data.connection.table.join.type.label=Join Type:
data.connection.table.join.add.button.title=Add table join
data.connection.sample.data.peek.background.button.title=Peek the background
data.connection.sample.data.display.button.title=Display sample data
data.connection.table.hide.button.title=Hide Table
data.connection.sample.data.sql.label=Sample Data SQL
data.connection.organising.more.options.label=More Options
data.connection.organising.search.items.label=Type to search items to move
data.connection.organising.more.options.rename.label=Rename
data.connection.organising.more.options.rename.folder.title=Rename this folder
data.connection.organising.more.options.new.parent.folder.label=New parent folder
data.connection.organising.more.options.new.parent.folder.title=Create a new parent folder
data.connection.organising.more.options.delete.label=Delete
data.connection.organising.more.options.delete.title=Remove this empty folder
data.connection.organising.more.options.select.same.level.items.label=Select same level items
data.connection.organising.more.options.deselect.same.level.items.label=Deselect same level items
data.connection.organising.more.options.new.sub.folder.label
data.connection.organising.more.options.new.sub.folder.title
data.connection.organising.more.options.select.direct.children.label=Select direct children
data.connection.organising.more.options.deselect.direct.children.label=Deselect direct children
data.connection.organising.move.label=Move
data.connection.organising.move.title=Move into this folder
data.connection.organising.instruction.or.label=Or
data.connection.table.details.tab.label=Details
data.connection.table.objects.tab.label=Objects
data.connection.sample.data.data.tab.label=Data
data.connection.sample.data.sql.tab.label=SQL
data.connection.sample.data.sql.tab.label
data.connection.column.panel.details.tab.label=Details
data.connection.column.panel.colours.tab.label=Colours
chart.temp.filter.edit.filter.tab.label=Edit Filters
chart.temp.filter.save.filter.tab.label=Save Filters
excel.reader.add.button.label=Add
excel.reader.config.title=Excel Files
default.button.close.label=Close
user.access.panel.manage.by.label=Manage by:
user.access.panel.manage.by.category.label=Category
user.access.panel.manage.by.role.label=Role
user.access.panel.manage.by.user.label=User
user.access.panel.manage.by.category.title=Manage by Category
user.access.panel.manage.by.role.title=Manage by Role
user.access.panel.manage.by.user.title=Manage by User
user.access.filter.user.permission.placeholder=Type to Filter Permission
user.access.filter.category.name.placeholder=Type to Filter Category Name
category.access.panel.child.categories.label=Child Categories
category.access.panel.charts.label=Charts
category.access.panel.data.connections.label=Data Connections
category.access.panel.data.objects.label=Objects
category.access.panel.reports.label=Reports
category.access.panel.schedules.label=Schedules
category.access.type.chart.name=Type Chart Name
category.access.type.data.connection.name=Type Data Connection Name
category.access.type.object.name=Type Object Name
category.access.type.report.name=Type Report Name
category.access.type.schedule.name=Type Schedule Name
category.access.to.move.button.label=To Move
category.access.to.delete.button.label=To Delete
category.access.cancel.button.label=Cancel
user.editor.user.privileges.select.all.label=All
user.editor.user.privileges.select.none.label=None
user.editor.user.privileges.select.all.title=Select all and their related permissions
user.editor.user.privileges.select.none.title=Select none and remove their related permissions
reporting.screen.designer.panel.reports.tab.label=Reports
reporting.screen.designer.panel.schedules.tab.label=Schedules
reporting.screen.designer.panel.monitoring.tab.label=Monitoring
schedule.panel.status.waiting.label=Waiting
schedule.panel.status.active.label=Active
schedule.panel.status.cancel.label=Cancel
schedule.panel.status.complete.label=Complete
schedule.panel.status.failed.label=Failed
default.value.is.required=This value is required.

Various new elements and attributes to the HTML allowed list as well as the ‘mailto’ and ‘tel’ URL protocols

1922

27655, 28478, 26408

HTML Sanitisation

A summary of the main changes can be found below but for a comprehensive guide to what is currently permitted please view the updated documentation page regarding Allowed HTML Tags:

  • The ‘mailto’ and ‘tel’ URL protocols have been allowed

  • The ‘title’ and ‘aria-label’ attributes have been added and can be applied globally

  • The ‘class’ attribute is no longer restricted to specific elements and can be globally applied

  • Many table related elements and attributes have been added to the allowed


Changed

Ensure all instances of links use correct url when behind reverse proxy

pi#1703

27230

Dashboard Configuration

Improvement have been made to resolve the dashboard URL when behind a reverse proxy. We made changes of how we resolve the host, protocol and port for the dashboard URL to ensure the consistency when using different dashboard components and authentication methods.

Tomcat upgraded to 8.5.97

pi#2162

29000

General

In response to recently publicised Tomcat vulnerabilities we have upgraded Tomcat to 8.5.97.

No longer possible to set an expiry date on the super admin user

pi#2168

25558

User

Previously it was possible to set an expiry date on the user admin despite it not being possible to disable them. It is now no longer possible to do this as the super admin shouldn’t be disabled.

The system will also now force the super admin to be enabled and have no expiration date when editing users through the API. This ensures the super admin is always enabled.

Disable export buttons while export request is in progress

pi#2052

Chart Exports

Now, when exporting a chart, all of the export buttons will become temporarily disabled until the export is complete. This is to stop people from spamming the export buttons, causing the renderer to take on more load.

Resolve multipicker select all button is not visible when long object name

pi#2180

24327

Category Filters

Previously you could not always see the select all button on category object multipickers if the object name was long. This is now resolved.


Fixed

Fixed sizing and positioning of content displayed on the report headers and footers

pi#2224

29267, 29262

Reports

Report headers and footers displayed page numbers and text etc in wrong positions, with unexpected sizing. This was due to a security upgrade done for the October 2023 release. This has now been fixed, so the positioning and sizing are presented as how it worked before the security fix.

Special characters displayed encoded for chart title and subtitle in Excel export

pi#2150

Excel Export

Special characters are no longer encoded for the exported file name, chart title and subtitle when exporting tables in Excel.

Error in edit SQL tab when the chart is broken

pi#1230

20973

Chart Editor

Fixed an issue where an error message was thrown in the edit SQL tab in the chart editor when 'Edit SQL to build the chart or table' was clicked to display the SQL. With this fix, a user who has the relevant ‘Can Edit Chart SQL’ permissions will be able to view and amend the SQL even when the chart is in a broken state.

A few instances where ‘Colour’ was spelled ‘Color’

#1344

21699

UI

A few places in the Dashboard used the American English spelling for colour, these areas have now been updated.

Version end points for Excel Reader, Renderer, Scheduler and PiPredict now return the correct version.

#1882

26804

Excel Reader, Renderer, Scheduler and PiPredict

Previously when going to the ‘/version’ endpoint for the Excel Reader, Renderer, Scheduler and PiPredict modules (e.g. http://localhost:9915/version ) the version returned did not correspond correctly with the version of the dashboard in use. This has been fixed to make it clear which version of the software is being used.

Apostrophes in usernames were causing issues with category access

#2148

28748

User Creation

Previously when you created a user with an apostrophe in their username it would lead to issues with categories loading when the user logged in. This has been fixed so that categories that the user has access to load as expected.

Disabled users were being redirected to change their password when logging in

#2165

25276

Login

Previously when you tried to log in a disabled user it would redirect you to the “change password” screen. Now, an error message is displayed stating that the user has been disabled and the user is not able to log in.

Expired users were not being automatically disabled

#2169

25554

Login

Previously, the dashboard was not disabling users when they reached their expiry date. This has now been resolved so users that reach their expiry date are automatically disabled and will receive an error message saying so when they attempt to log in.

Unable to use Tomcat HTTPS

config-tool#125

Dashboard Configuration

Updated the list of ciphers used by Tomcat server in order to fix the issue of not being able to use Tomcat HTTPS.

Sanitised CSS entries not being removed from the theme.css file

#1832, #1920

27070

Themes

Theme CSS properties that were removed due to sanitisation are no longer saved to the corresponding theme.css file

Only admin users can preview and select themselves for schedule

#2024

26602

Scheduler

Fixed an issue when only the admin user was able to see themselves in the user recipients list when scheduling. Now, as long as the user has 'Can be Email Recipient' permission either from user permission or role permission, the user will see themselves in the recipients list and will be able to send emails to themselves.

#2167

25910

Chart Editor

Previously, if the chart was used in the chart link and if its name was updated, the changes to the name were not reflected in the chart links. This has now been fixed and the changes to the chart name will update all related chart links.

The same applies to the changes made to the names of the categories that are used for the category links. All related category links will be updated with the category name if changed.

Linux paths with spaces or brackets in them preventing the Dashboard from starting

mariadb#3

Linux Scripts

Linux paths that contains spaces and/or brackets no longer lead to script failures and the Dashboard failing to start.

Incorrect status message for UUID licences in the configuration tool GUI.

Config-Tool#131

23935

Configuration Tool GUI

Previously when adding a UUID licence in the configuration tool GUI, the GUI would show a status message declaring that the licence was either not there or invalid. This will now state that there is a UUID licence file present.

Dashboard failing to start when an inaccessible directory is present in the Themes folder

#530

15738

Themes,

Startup

Previously, the Dashboard would fail to start if there was a directory in the ‘Themes’ folder that the Dashboard installation user did not have permission to read/write - for example, a ‘lost+found’ directory that had been created as part of a filesystem corruption check. Now, these directories are ignored and the Dashboard starts up as expected.

Additional Data Colour Rules being removed when adding or removing other Data Objects

#2181

25825

Colours

Previously, if you had set a Colour Rule for an Additional Data Object and then added/removed a different Data Object that Colour Rule would have been lost. Now, adding/removing Data Objects other than the one in question won’t affect the Colour Rule.

Trailing decimal zeroes leading to unexpected chart colouring

#2000

27509

Colours

Fixed an issue where comparisons between data values and user defined Colour Rules for Charts would fail to show measures as equal if there was a trailing zero in the Colour Rule decimal e.g. 2.50 and 2.5 would not be considered equal.

Colour Rules attempting to use custom Decimal Separators would fail

#2000

27509

Colours

Previously, entering a decimal value for a Colour Rule using a Decimal Separator other than “.” would cause the colour comparison to fail. Now, as long as the Decimal Separator you are trying to use is the one defined in the corresponding Data Object the comparison should work as expected. Note, at the moment this change only applies to Charts not Tables.

Introspection of some Data Connections would resolve as valid even when the connection had failed

#1875

27064

Data Connection Introspection

Previously, Data Connections could appear valid through the introspection tool despite the current configuration leading to no connection being established. Now, unless a valid connection is able to be established the Data Connection should not appear as valid.

Data Connections Editor becoming unresponsive when certain Data Connections were saved with invalid details

#1876

27063

Data Connections

Previously, certain Data Connections such as Athena would, when saved with incorrect details, lead to the Data Connection Editor becoming unresponsive. This was due to it incorrectly validating the connection as active and therefore timing out waiting for the data. This has now been resolved.

Clicking warning sign shows the chart info panel not the notifications panel

#1341

21732

Chart Editor

If the chart displays the warning icon as per the screenshot below, once clicked, the notifications panel will pop up listing the warnings and alerts associated with this chart. Previously, it displayed the chart info tab by default.

Fixed performance issues for editing users when there are many users in the system

pi#2179

29076

Edit Users

When the system has thousands of users, it could be slow to open a user to edit or saving a user. This is because there is permission check to make sure the logged in user is allowed to do so. The logic has been improved so that it’s a lot faster to perform the check. This improves the UI and the API call to save users.

Fixed performance issues for refreshing the dashboard and logging in

pi#2164

23836
28801
27109
23616

Logging in

Fixed performance issues for refreshing the dashboard and logging in. This is done by removing unnecessary requests to resolve default category filters for the first category, which was used as a redirect target when the URL is incorrect. This has now been changed to request the data on demand.

Excel reader does not work when you use variable replacement in the data connection

pi#2188

22975

Excel Reader

Previously, when using variable replacement for the user and password for the data connection, the excel reader service would not work as the variables were not replaced. This has now been fixed and the correct variable values will be picked up as long as the correct syntax is used i.e. [[USER]].

Some fonts not appearing correctly in the dashboard

pi#2186

29111

Fonts

Previously, when using the Montserrat, Catamaran, Josefin Sans, Red Hat Text, Red Hat Display and Source Code Pro fonts as part of the dashboard, the text would appear very thing and faded. This was due to an issue with the hosted files for the font. This has now been corrected and the fonts should appear correctly.

Parent Chart always displaying its ‘reset button’ even when there is nothing to reset

pi#1374

22014

Parent Charts

Previously, even if there was no filter active from a Parent Chart it would show the ‘reset button’ on the bottom left of the chart container. Now, this button only appears when a filter originating from the Parent Chart has been applied.

The Português option in the default Available Languages list sometimes being displayed as Português

pi#1991

27390

Multilingual

The available-languages.properties file is ISO-8859-1encoded, so extended characters like ê could have issues retaining their UTF-8 presentation. Now, the file has been updated to use the Unicode escape sequence equivalent of \u00EA instead which will not get re-encoded and displays consistently as expected.

When adding your own languages to the available-languages.properties use Unicode escape sequences for characters in the extended alphabet

The Dashboard appearing to hang when Drilling to a Category from a Full Screen chart

pi#2174

27755

Drill to Category

Drilling to a Category from a Full Screen chart would cause the Dashboard to appear to hang as the Drilled From chart would remain on the screen along with the loading icon until the chart was manually closed.

Can delete themes allocated to users

pi#2191

27184

Themes

Previously, you were allowed to deleted themes that were allocated to users. Now, the dashboard blocks you from doing so. It also returns an error if you attempt to do so through the API. You must first un-assign that theme from that user.

Opening an anonymous chart in the same session causes the chart editor to stop working

pi#1282

21304

Anonymous Charts

Previously, if you were to open an anonymous chart in the same browser session as your main dashboard, it would cause all of charts within the main dashboard to be treated as anonymous charts, removing the ability to edit them. Now, the opening an anonymous chart no longer causes the charts in the dashboard to become un-editable.

The logout redirect page should display readable text

#1813

27010, 26557

Logout

Previously, when logging out, the page prompting you to log back in would display un-readable text depending on the background colour & theme. Now, the ‘log back in’ text is readable and has a button and background, configurable by the same CSS classes as that within the login screen in the themes.

Report PDFs generating extra blank page

renderer#102

29421, 29520

Renderer, Reports

In a recent upgrade, a bug was introduced where report PDFs were generating an extra blank page at the end. This has been fixed, and report PDFs are now the correct length.


Schema Changes

No changes to report


Known Issues

No Known Issues to report

  • No labels