November 2021 Dashboard Release Notes
Original Release Name - pi.2021-11-25
Patched Release Name - pi.2021-11-25.1
Patched Release Name - pi.2021-11-25.2
Patched Release Name - pi.2021-11-25.4
Original Release Date - Dec 9, 2021
Patched Release Date - Dec 13, 2021
Patched Release Date - Dec 16, 2021
Patched Release Date - Dec 20, 2021
We are pleased to present our latest offering of pi - our November 2021 release! This page helps summarise and familiarise you with the changes we have made, and is supported (where applicable) with useful videos to help explain the changes we have delivered.
Dec 13, 2021 - in response to a Java security vulnerability around Log4J2, we have opted to patch our November dashboard release to mitigate against any risks. More information can be found HERE.
Dec 16, 2021 - because of the need for customers to upgrade to the latest version of the dashboard, to benefit from Log4J2 patches, it is imperative that the release notes and upgrade documentation is read and understood before attempting to upgrade, so you are aware of the changes made to the dashboard and any additional configuration that you may need to change to complete a successful upgrade. We always suggest attempting upgrades in non Production environments beforehand.
Multiple customers have recently attempted to upgrade through multiple versions, and have come across issues around environment variables, proxy and embedding settings - for more information on these areas, we recommend reviewing the Embedding Dashboard & Charts page first
Before upgrading, we recommend taking a backup. You can find more information here.
Here’s what we’ll cover;
- 1 Added
- 2 Changed
- 2.1 Response to Log4J2 vulnerability - updated Log4Shell versions
- 2.2 Adjusted file maintainance process during upgrade processing for Log4J
- 2.3 Increase VALUE field in MIS_VARIABLES (Zendesk#17239)
- 2.4 Remove maxSize restrictions from user interactable domain object fields
- 2.5 Removal of Apache Drill & FireBolt JDBS drivers (precaution)
- 3 Fixed
- 3.1 Improved dark theme so that text colours can be applied properly (Zendesk#10782)
- 3.2 Data with special characters on crosstab headers (Zendesk#17098)
- 3.3 Content Unavailable Message (Zendesk#16321,17164,17280,17592)
- 3.4 Dashboard updates the password for Data Connection ID 21 (Zendesk#17658)
- 3.5 ‘Can Be An Email Recipient’ privilege inherited from role (Zendesk#17661)
- 3.6 Display value as percentage by column on crosstabs
- 3.7 API - Importing users and variables (Zendesk#18078,18790)
- 3.8 Improved UI performance for importing larger data connections (Zendesk#17975)
- 3.9 Enable free hand sql charts in reports to be visible to users without permissions (Zendesk#18113)
- 3.10 Prevent blank schedule jobs being displayed in piReports Monitoring
- 3.11 Unable to use generic/ custom OpenID connector (Zendesk#18170)
- 3.12 Configuration tool not updating database username (Zendesk#18563,18626)
- 3.13 Internal port doesn’t always work as the dashboard URL (Zendesk#17270,17298,17632)
- 4 Keeping An Eye On pi
Added
Role level variables and restrictions
User Settings
Role level variables and role level restrictions have been added to the system. This means that the system now has a more flexible way to provide variables and restrictions to a user.
previously, if 10 users shared the same variable you would need to add that variable to each individual user
now, you can create a role with a variable and if this role is then assigned to 10 users, they would all have this variable
the same concept also applies to role restrictions
Please look at Role Level Variables for more information.
Video
We’ve created a short video to explain this in a bit more detail.
New Magic Variables (Zendesk#16540)
Variables
2 new magic variables have been added:
LANGUAGE_LOCALE
- locale from language selection on the login screen (these selectable options are configured from dashboard installation on the server machine)LOCALE
- locale of a user's browser, which generally is used for date formatting (this reflects whatever locale a user set on their browser)
Changed
Response to Log4J2 vulnerability - updated Log4Shell versions
Security
Patched Release 2021-11-25.1 - updated Log4J2 library to version 2.15.0 in response to security vulnerability (CVE-2021-44228).
Patched Release 2021-11-25.2 - updated Log4J2 library to version 2.16.0 in response to security vulnerability (CVE-2021-45046)
Patched Release 2021-11-25.4 - updated Log4J2 library to version 2.17.0 in response to security vulnerability (CVE-2021-45105)
Adjusted file maintainance process during upgrade processing for Log4J
Security
There will only be 1 version of log4j in the dashboard installation files, showing the latest version
Files are located here:
C:\Program Files\Installation_location\Dashboard\tomcat\webapps\panLicenceManager\WEB-INF\lib
C:\Program Files\Installation_location\Dashboard\tomcat\webapps\panMISDashboardResources\WEB-INF\lib
Increase VALUE field in MIS_VARIABLES (Zendesk#17239)
Configuration
A ‘value’ field in the MIS_VARIABLES table has been changed from varchar(4000) to long text in order to accommodate longer text inputs.
Remove maxSize restrictions from user interactable domain object fields
Configuration
maxSize restrictions have been removed from the following interactable domain objects:
MisChartColumn.operandTwo
MisColumn.columnName
MisDataSourceItem.driverClassPath
MisDefinedChart.helpText
MisDefinedChart.chartLevelStyles
MisFilterColumn.operandOne
MisFilterColumn.operandTwo
MisHierarchy.accessibilityMessage
MisHierarchy.htmlCardStyleSheet
MisHierarchy.customSql
MisHierarchy.svgUrl
MisHierarchyColumn.urlLink
MisLayoutText.text
MisParameter.hierarchyId
MisParameter.orderingIndex
MisPreferredLayout.layoutXml
MisReportFilter.defaultValue
MisReportLayout.layout
MisReportMedia.positioningStyle
MisReportMedia.formattingStyle
MisReportMedia.text
MisReportMedia.imagePath
MisSchedule.emailMessage
MisScheduleAttachment.webServiceUrl
MisScheduleJob.error
MisSecurityUser.clientPassword
MisSecurityUser.encryptedPassword
MisTable.tableName
MisTable.whereClause
MisTable.tablePriority
MisTableJoin.joinSql
MisUserRestriction.orderingIndex
MisVariable.value
Removal of Apache Drill & FireBolt JDBS drivers (precaution)
Configuration
As a precautionary measure, we have removed the Apache Drill and Firebolt JDBC drivers from Tomcat until we have hear back from them to clarify if they carry the Log4j2 vulnerabilities or not.
Workaround - if you are currently using these, after upgrading you will need to add them yourself under tomcat/custom_jdbc_drivers
and ensure their safety.
Fixed
Improved dark theme so that text colours can be applied properly (Zendesk#10782)
Themes
We have made changes to how dark themes are used in the dashboard. In order to display text correctly in labels when using a dark theme we recommend:
Setting white text on the css classes shown in the following screenshot, they are designed for such customisation
Making sure the data colour and system background colour are dark colours, so that regardless if text is not contained fully in the data block it will still display correctly
The following screenshot shows how labels look on a Doughnut chart displayed on a dark theme.
You can find more information on using dark themes here.
Data with special characters on crosstab headers (Zendesk#17098)
Chart Types
Crosstab tables that have special characters in the header row, e.g. *, %, £ or white spaces, will load and be displayed correctly.
Content Unavailable Message (Zendesk#16321,17164,17280,17592)
Chart Types
When a user creates a chart and receives the message ‘Content Unavailable’ they will still be able to access the Chart Editor screen by clicking the ‘Edit Chart’ icon in the top-right corner of the cell.
Dashboard updates the password for Data Connection ID 21 (Zendesk#17658)
Configuration
The dashboard was updating/ removing the password for Data Connection ID 21 after migrating to a newer version of the dashboard. This happened because the dashboard was assuming that Data Connection ID 21 was a MariaDB.
‘Can Be An Email Recipient’ privilege inherited from role (Zendesk#17661)
User Settings
When selecting recipients for reports, the users that are displayed in this section will depend on both the user and role permissions.
For a user to appear in the list of recipients, they must have the ‘Can Be An Email Recipient’ privilege or be attached to a role that has this privilege.
Role permissions will override user permissions.
Display value as percentage by column on crosstabs
Chart Types
When ‘Display Value as Percentage by Column’ is selected in ‘Attributes’ for a Crosstab table, the column totals will be calculated correctly as percentage values.
API - Importing users and variables (Zendesk#18078,18790)
API
Errors were occurring during a large amount of API calls. A fix has been added to this release to address this.
Improved UI performance for importing larger data connections (Zendesk#17975)
Data Connections
When trying to import large data connections, where the json file was over 5 megabytes, the browser took too long to draw the UI. A change has been added to improve performance meaning that the browser won’t crash in such cases.
Enable free hand sql charts in reports to be visible to users without permissions (Zendesk#18113)
pi Reports
If a report contained a chart that had been created with free hand sql, the chart was not displayed in the report if the selected user didn’t have the ‘Can Edit Chart SQL’ permission. Users will now be able to view the chart in a report when they don’t have this permission.
Prevent blank schedule jobs being displayed in piReports Monitoring
pi Reports
If a schedule task is not available to a user because the schedule is owned by a category that the user doesn’t have access to, they would see records with blank names on the Report Monitoring screen. These records were related to the schedules that were not available to the user, a change has been introduced so that users will no longer see these records.
Unable to use generic/ custom OpenID connector (Zendesk#18170)
Configuration
When using OpenID custom connector, the login screen was not displaying the login button.
Configuration tool not updating database username (Zendesk#18563,18626)
Configuration
When using an external database, trying to connect with a username that was different to root was not working. Problems were also occurring if the schema had a different name.
Internal port doesn’t always work as the dashboard URL (Zendesk#17270,17298,17632)
Dashboard Configuration
The renderer was using the internal port as a Dashboard URL to run its services which in some instances caused issues due to proxy and cookie configuration in the dashboard. To address this, the internal port has been removed from the configuration and instead, the renderer will be using the Dashboard URL to run its services.
CUSTOMER NEWS - Our August 24 Release Is Now Available - Download It Now!