Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Appanvil karma designer
summary YOU ASKED, SO WE DELIVERED Dashboard Release April 20242024_04 BackUp & Restore     Download Now     Ken Miller CTO I'm pleased to share with you our latest dashboard release, pi.2024_04 which is available to download now.In this release, we've taken the opportunity to ..... - but that's not all. make some changes around Editable Tables, Multilingual and Sub Totals - but thats not all! As always, have a read through the notes in full to learn of all the changes before you upgrade, just to make sure its right for you and your end users. Highlights - Item 1- Item 2- Item 3 Editable Tables- Multilingual- Sub Total Label Option 8 New Features 9 Changes 5 Bug Fixes TBC 14 Customer Requests
page{"premium":true,"id":"FMkTud2JrHXMpzIylO0bD","name":"page","children":[{"name":"section","params":{"backgroundSize":"cover","gap":10,"background":"#2d2f4cd4","padding":8,"image":{"value":"https://images.unsplash.com/photo-1491582325207-80d06869fb3d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwzMzg3MzF8MHwxfHNlYXJjaHwxMnx8bmV3JTIweW9ya3xlbnwwfDB8MXxibGFja19hbmRfd2hpdGV8MTY2MjEyNDU2MA&ixlib=rb-1.2.1&q=80&w=1080","target":"_self","type":"link"}},"children":[{"children":[{"children":[{"name":"text","children":[],"params":{"value":[{"children":[{"type":"paragraph","children":[{"letterSpacing":0,"fontSize":20,"fontWeight":700,"fontFamily":"Poppins, sans-serif","text":"YOU ASKED, SO WE DELIVERED","lineHeight":"10px","color":"#ffffff"}]}],"type":"paragraph"}]},"id":"rNX3qXaG8Q4ewjRCBgZcx"},{"params":{"value":[{"children":[{"type":"paragraph","children":[{"text":"Dashboard Release ","letterSpacing":0,"fontWeight":700,"fontFamily":"Poppins, sans-serif","color":"#ffffff","lineHeight":"90px","fontSize":64}]}],"type":"paragraph"}]},"children":[],"name":"text","id":"nr3C5FnGCNgZlayR21QHV"},{"children":[],"params":{"value":[{"type":"paragraph","children":[{"children":[{"fontFamily":"Poppins, sans-serif","letterSpacing":0,"text":"April 2024","lineHeight":"unset","color":"#ffffff","fontSize":24,"fontWeight":700}],"type":"paragraph"},{"type":"paragraph","children":[{"fontFamily":"Poppins, sans-serif","letterSpacing":0,"lineHeight":"unset","color":"#ffffff","text":"2024_04","fontSize":16}]}]}]},"name":"text","id":"DmpJb_rO3Qj4l9Aj66HdK"},{"name":"divider","params":{"templateId":"solid long","color":"#ef5693","alignment":"start","fontSize":24,"fontColor":{"light":"#000000","dark":"#ffffff"},"height":1,"borderStyle":"solid"},"children":[],"id":"TAZcq3EgP-1KdJ2bsdXuE"},{"name":"button","params":{"templateId":"regular button","label":"BackUp & Restore ","size":"medium","shape":"circular","alignment":"start","states":{"idle":{"colors":{"background":"#1181F8"}},"hover":{"colors":{}}},"link":{"value":"https://panintelligence.atlassian.net/wiki/spaces/PD/pages/376307765/Backup+and+Restore+of+the+Dashboard","target":"_blank","type":"link"}},"children":[],"id":"hfpGR1FJxGFfePSJR4g7T"},{"name":"button","params":{"templateId":"regular button","label":"   Download Now    ","size":"medium","shape":"circular","alignment":"start","states":{"idle":{"colors":{"background":"#1181F8"}},"hover":{"colors":{}}},"link":{"value":"https://panintelligence.atlassian.net/wiki/spaces/PD/pages/1258652085","target":"_blank","type":"link"}},"children":[],"id":"ImDnaOMj9XpCxaDqyPZPk"}],"params":{"verticalAlignment":"center","borderRadius":{"btl":0,"btr":0,"bbl":0,"bbr":0,"all":0,"isIndividualCorners":false},"padding":0,"gap":20},"name":"column","id":"jm4mo6d7GzYx3hUB4l-F0"},{"name":"column","children":[],"params":{"gap":20,"padding":0,"borderRadius":{"isIndividualCorners":false,"all":0,"bbl":0,"bbr":0,"btr":0,"btl":0},"verticalAlignment":"center"},"id":"yBKq_7TPH5d1DV8hFdhLu"},{"children":[],"name":"column","params":{"gap":20,"padding":0,"verticalAlignment":"center","borderRadius":{"bbl":0,"all":0,"btl":0,"bbr":0,"btr":0,"isIndividualCorners":false}},"id":"fH6MHBuk3I0R4it7BRCGP"},{"children":[],"params":{"verticalAlignment":"center","borderRadius":{"btl":0,"bbl":0,"bbr":0,"isIndividualCorners":false,"all":0,"btr":0},"padding":0,"gap":20},"name":"column","id":"_FPGEp6mQPRJJvPIB6VPD"},{"name":"column","params":{"borderRadius":{"bbr":0,"isIndividualCorners":false,"btl":0,"all":0,"btr":0,"bbl":0},"verticalAlignment":"center","gap":20,"padding":0},"children":[],"id":"mJWfn1yDf0yleGusTvyDV"},{"name":"column","params":{"verticalAlignment":"center","gap":20,"borderRadius":{"bbl":0,"btr":0,"bbr":0,"all":0,"btl":0,"isIndividualCorners":false},"padding":0},"children":[],"id":"3WBEHbIwEeCHcL3oWU6bg"}],"name":"row","params":{"gap":100,"padding":10,"minHeight":200,"borderRadius":0,"layout":[1]},"id":"mbQy4dSTfKlyYK-9k0_SM"}],"id":"AazdKjV1KYMbgvQPAld6a"},{"id":"iPYoTT8UrrUFlXqDlVg1m","params":{"background":"#ffffff","padding":22,"gap":10},"children":[{"id":"HaE0KXsm3rDEJhjTV7Mjx","name":"row","children":[{"id":"VaA-Y-CIV4m2ogQe_Sqmo","name":"column","children":[{"name":"image","params":{"alignment":"center","height":400,"position":"center center","borderRadius":{"all":5,"bbl":0,"bbr":0,"btl":0,"btr":0,"isIndividualCorners":false},"image":{"value":"att1673265190","target":"_blank","type":"attachment"}},"children":[],"id":"T2bXrsdBHviCyZtS2HZvV"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"0HIQC86K7mXpaQnPu4lsM","name":"column","children":[{"name":"text","params":{"value":[{"type":"paragraph","children":[{"type":"paragraph","children":[{"text":"Ken Miller","letterSpacing":0,"fontWeight":600,"fontSize":28,"color":"#2c2c2c"}],"align":"left"}]}]},"children":[],"id":"pHAKnX_bCCwJ0kzgKbWXi"},{"name":"text","params":{"value":[{"type":"paragraph","children":[{"type":"paragraph","children":[{"text":"CTO ","letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18}],"align":"left"}]}]},"children":[],"id":"l_VOVkhnKQUZUw-ve2Wf0"},{"name":"text","params":{"value":[{"type":"paragraph","children":[{"type":"paragraph","children":[{"lineHeight":"24px","letterSpacing":0,"text":"I'm pleased to share with you our latest dashboard release, ","fontFamily":"unset","fontSize":16,"color":"#555555"},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"fontWeight":700,"text":"pi.2024_04 ","color":"#ef5693"},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"text":"which","color":"#555555"},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#000000","text":" "},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"text":"is available to download now.","color":"#555555"}],"align":"left"},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":""}]},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":"In this release, we've taken the opportunity to ..... - but that's not all. make some changes around Editable Tables, Multilingual and Sub Totals - but thats not all! "}]},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":""}]},{"type":"paragraph","align":"left","children":[{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":"As always, have a read through the notes in full to learn of all the changes "},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":"before","fontWeight":700},{"lineHeight":"24px","letterSpacing":0,"fontFamily":"unset","fontSize":16,"color":"#555555","text":" you upgrade, just to make sure its right for you and your end users."}]}]}]},"children":[],"id":"3yPpnPcG9Ua1cMKx_-oPx"},{"name":"button","params":{"label":"","size":"medium","shape":"circular","alignment":"start","states":{"idle":{"colors":{"background":"#414141","label":"#ffffff"}},"hover":{"colors":{"background":"#000000","label":"#ffffff"}}},"icon":"linkedin-in","link":{"value":"https://www.linkedin.com/in/ken-miller-bb77975/?originalSubdomain=uk","target":"_blank","type":"link"}},"children":[],"id":"YkQiC1UEdSABfAG30yCAE"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"zQPv9B1ZIKSgIEL2-TqyZ","name":"column","children":[{"name":"image","params":{"alignment":"center","height":300,"position":"top center","borderRadius":{"all":5,"bbl":0,"bbr":0,"btl":0,"btr":0,"isIndividualCorners":false},"image":{"value":"att1698562062","target":"_blank","type":"attachment"}},"children":[],"id":"HC2565mrpH6QIPWrXG9rq"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"uFI2qIqzCdlp4soZcoFKh","name":"column","children":[{"name":"text","params":{"value":[{"type":"paragraph","children":[{"type":"paragraph","children":[{"text":"Highlights","letterSpacing":0,"fontWeight":600,"fontSize":28,"color":"#2c2c2c"}],"align":"left"}]}]},"children":[],"id":"StFraL4oyQVb2F1-fMUdr"},{"name":"text","params":{"value":[{"type":"paragraph","children":[{"type":"paragraph","children":[{"text":"- Item 1Editable Tables","letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18}],"align":"left"},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":"- Item 2Multilingual"}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":"- Item 3Sub Total Label Option"}]},{"type":"paragraph","children":[{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]},{"type":"paragraph","align":"left","children":[{"letterSpacing":0,"color":"#969696","fontWeight":300,"fontSize":18,"text":""}]}]}]},"children":[],"id":"lDEf-U_uv7DU3v6czqDnR"},{"name":"spacer","params":{"space":10},"children":[],"id":"iLlGX7VLo5DPMdB15Nsu8"},{"name":"spacer","params":{"space":10},"children":[],"id":"CEa3nvn4dCUclBcV0LcGx"}],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"6IYCbdH0yACltgbuUqUsV","name":"column","children":[],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}},{"id":"TC07p_TJiJqkld5i-FtRF","name":"column","children":[],"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"btr":0,"bbr":0,"isIndividualCorners":false},"padding":0,"gap":10,"verticalAlignment":"center"}}],"params":{"layout":[1,1,1,1],"gap":35,"minHeight":200,"padding":10,"borderRadius":0,"size":"full"}}],"name":"section"},{"params":{"background":"#393d4f","gap":10,"padding":0},"name":"section","children":[{"children":[{"name":"column","children":[{"name":"card","children":[{"children":[],"params":{"value":[{"children":[{"color":"#6fceb4","fontFamily":"Montserrat, sans-serif","fontWeight":700,"text":"8","fontSize":54}],"type":"paragraph","align":"center"}]},"name":"text","id":"x8h3JtbaitH4rONaExd2J"},{"children":[],"name":"text","params":{"value":[{"children":[{"text":"New Features","fontSize":20,"fontFamily":"Montserrat, sans-serif","color":"#ffffff"}],"type":"paragraph","align":"center"}]},"id":"lSiInwGpA8cK6ew5Fkmlz"}],"params":{"padding":20,"gap":10,"borderRadius":{"bbl":0,"bbr":0,"btr":0,"isIndividualCorners":false,"all":0,"btl":0},"hover":"elevate"},"id":"8sGgpAEhoNbWpufDnX9Is"}],"params":{"padding":0,"verticalAlignment":"center","gap":20,"borderRadius":{"all":0,"btr":0,"isIndividualCorners":false,"btl":0,"bbl":0,"bbr":0}},"id":"vxQl8_xUTLUeSdy6Zj667"},{"name":"column","children":[{"name":"card","children":[{"params":{"value":[{"type":"paragraph","children":[{"fontWeight":700,"text":"9","color":"#4bb9d2","fontFamily":"Montserrat, sans-serif","fontSize":54}],"align":"center"}]},"children":[],"name":"text","id":"YCgKCdTm1qwKX5q1EuCdr"},{"params":{"value":[{"align":"center","children":[{"fontSize":20,"color":"#ffffff","fontFamily":"Montserrat, sans-serif","text":"Changes"}],"type":"paragraph"}]},"name":"text","children":[],"id":"BR4va-GpZlAJOp2mwMH-1"}],"params":{"borderRadius":{"bbr":0,"isIndividualCorners":false,"btr":0,"btl":0,"bbl":0,"all":0},"gap":10,"hover":"elevate","padding":20},"id":"18AFcFB160BbE0iQeYr8c"}],"params":{"borderRadius":{"bbl":0,"bbr":0,"isIndividualCorners":false,"all":0,"btr":0,"btl":0},"verticalAlignment":"center","gap":20,"padding":0},"id":"l-GJ3YT3H_VJSsOjq70wP"},{"params":{"gap":20,"borderRadius":{"all":0,"bbr":0,"btr":0,"btl":0,"bbl":0,"isIndividualCorners":false},"verticalAlignment":"center","padding":0},"children":[{"name":"card","params":{"gap":10,"borderRadius":{"bbr":0,"isIndividualCorners":false,"all":0,"bbl":0,"btr":0,"btl":0},"padding":20,"hover":"elevate"},"children":[{"params":{"value":[{"type":"paragraph","align":"center","children":[{"fontWeight":700,"color":"#8871f9","fontSize":54,"text":"5","fontFamily":"Montserrat, sans-serif"}]}]},"name":"text","children":[],"id":"OLpC1-Pgjlm5sO19zrQ39"},{"params":{"value":[{"align":"center","type":"paragraph","children":[{"text":"Bug Fixes","fontSize":20,"color":"#ffffff","fontFamily":"Montserrat, sans-serif"}]}]},"children":[],"name":"text","id":"9mMYPgwoc1O74DZkegvHw"}],"id":"r5axRw3H73kS5E_cIjBvm"}],"name":"column","id":"zXI-oq_sWnVXrhI0dB3so"},{"children":[{"params":{"borderRadius":{"bbl":0,"bbr":0,"btr":0,"btl":0,"all":0,"isIndividualCorners":false},"gap":10,"hover":"elevate","padding":20},"name":"card","children":[{"name":"text","children":[],"params":{"value":[{"children":[{"fontFamily":"Montserrat, sans-serif","text":"TBC14","fontSize":54,"fontWeight":700,"color":"#5098fa"}],"type":"paragraph","align":"center"}]},"id":"7DNl9bkskIgNrLnsUqDjN"},{"name":"text","children":[],"params":{"value":[{"align":"center","type":"paragraph","children":[{"fontSize":20,"color":"#ffffff","fontFamily":"Montserrat, sans-serif","text":"Customer Requests"}]}]},"id":"YLmi5VfiWq6zAkHD5bIWH"}],"id":"OWVeUSdsPsJFgJV2KFu6M"}],"name":"column","params":{"verticalAlignment":"center","gap":20,"borderRadius":{"btl":0,"all":0,"bbr":0,"btr":0,"isIndividualCorners":false,"bbl":0},"padding":0},"id":"3eUuDQUJ_7Wt3H0ogN0gG"},{"params":{"borderRadius":{"all":0,"btl":0,"bbl":0,"isIndividualCorners":false,"btr":0,"bbr":0},"gap":20,"verticalAlignment":"center","padding":0},"name":"column","children":[],"id":"LFnVMjeI8jdrjJ5UCbCpq"},{"params":{"borderRadius":{"bbr":0,"isIndividualCorners":false,"bbl":0,"all":0,"btl":0,"btr":0},"verticalAlignment":"center","gap":20,"padding":0},"name":"column","children":[],"id":"FotJeCTUtI5G5on3410IY"}],"params":{"gap":40,"borderRadius":0,"layout":[1,1,1,1],"minHeight":200,"padding":0},"name":"row","id":"d6_mAzNbYQvSXQvqfrwO7"}],"id":"hBpUSNSybAXZlGhjE3HRg"}]}

Table of Contents
minLevel1
maxLevel6
include
outlinefalse
indent
exclude
typelist
class
printablefalse
  • Customer requested changes are indicated with this icon 🗣️

  • The 2024_04 release contains x1 schema changes


NEW FEATURES

New HTTP method for Editable Tables that sends all modified rows in a single, JSON formatted request

Editable Tables - New HTTP Method - Send All Modified Rows In A Single Requested (JSON Format) 🗣️

pi#2297

29070

Editable Tables

A new option has been added for the HTTP Method, to be used for sending requests from an Editable Table. This new method, named “POST (JSON)” as opposed to the pre-existing method that has been renamed “POST (Classic)” will send all modified rows in a single request formatted in the following JSON structure:

Code Block
{
  dashboardUser: usercode,
  dashboardToken: token,
  modifiedRows: [
    {colValue: firstRowValue1, colValue2: firstRowValue2},
    {colValue: secondRowValue1, colValue2: secondRowValue2}
  ]
}

To accommodate this new option, the radio buttons for this setting have been changed to a drop down as shown below:

pi-2297_new-method-in-drop-down.png
Info

NOTE: The GET request has also been updated to send the values as Form URL Encoded, allowing more complex data to be sent via this method

Added a checkbox to show dimension subtotal break labels

Sub Totals - Attribute Added To Enable On/Off Display Of Dimension Subtotal Break Labels 🗣️

pi#2350

30256

TablesTable Display - Sub Totals

A new checkbox has been added to control whether the labels are shown for dimension subtotal breaks. By default, the checkbox will be unticked, hiding the labels next to subtotal break values.

The checkbox will is only be available to Table chart type.

sub1.png

Once the checkbox is ticked, the labels will appear to all subtotal values, e.g.

sub2.png

Added

New Magic Variable - LAST_MONTH_YEAR

Magic Variable

🗣️

pi#2345

29021

Magic Variables

Added a new Magic Variable [[LAST_MONTH_YEAR]] that resolves to the year (formatted yyyy) the previous month was in i.e. if the current month is January 2024 it will yield 2023.

Warning

Documentation Update Can Be Found HERE

Added the ability to skip migrations

See our documentation on Magic Variables HERE (link to be added)

Migrations - Ability To Skip Migrations 🗣️

configuration-tool#132

-

Migrations

Adding the ability to skip migrations by providing the following flag, under the ‘advanced’ section under ‘repository’ in the config configuration tool:

Screenshot from 2024-04-04 16-22-27.png

It can also be applied by setting the following environment variable under the dashboard service in docker: PI_DB_SKIP_MIGRATIONS=”true”

NOTE - This is an advanced setup option and to upgrade successfully migrations MUST have run at least once. This is most useful when you use multiple Dashboard server nodes because you can more closely control the migration behaviour.

Translation for category object types

Multilingual - Translation For Category Object Types 🗣️

pi#2296

29496

Multilingual

The following new entries have been added to the messagesStatic.properties file, to allow the translations of category objects Category Objects types in the dropdown list.

List of new key=value pairs:

Code Block
category.object.type.droplist.label=Drop List
category.object.type.search.label=Multi-picker
category.object.type.checkbox.label=Checkboxes
category.object.type.images.label=Images
category.object.type.slider.label=Slider
category.object.type.num.picker.label=Number Picker
category.object.type.single.date.picker.label=Single Date Picker
category.object.type.date.picker.label=Date Range
category.object.type.free.text.label=Free Text

If you wish to use these new fields, you will need to update the existing language files (e.g. messagesStatic_en_GB.properties, messagesStatic_pt_PT.properties) with the above keys and add your translated values.

Result Example of the result in the UI:

Screenshot from 2024-03-08 12-03-34.pngImage Modified

 

Translation for the pop up that appears when closing a tab with unsaved changes

Multilingual - Translation For Confirmation Pop Up - When Closing A Tab With Unsaved Changes 🗣️

pi#2294

29494

Configuration Screen

New associations and entries have been added between the Dashboard UI and the messagesStatic.properties file, to allow the translations of both the text and the hover text of elements on the pop up window - which appears when you attempt to close a tab with unsaved changes. Additionally, the yellow ‘unsaved changes’ indicator’s hover text is now translatable.

List of new key=value pairs:

Code Block
default.button.edited.indicator.title=Modified and not saved
default.button.save.title=Save changes
default.button.cancel.title=Cancel to close this dialog
default.button.discard.title=Discard changes and close the tab
default.status.bar.message=You have made some changes, do you want to:

Pre-existing Key=Value pairs used:

Code Block
default.button.discard.label=Discard
default.button.cancel.label=Cancel
default.button.save.label=Save

If you wish to use these new fields, you will need to update the existing language files (e.g. messagesStatic_en_GB.properties, messagesStatic_pt_PT.properties) with the above keys and add your translated values.

Result Example of the result in the UI:

pi-2294_translated.png 

Additional variable replacement options to Data Connection fields

Data Connections - Additional Variable Replacement Options 🗣️

#2326

28872

Data Connections

The JDBC URL field of Free Format Data Connections has been updated to allow the use of secure variables - it already supported supports insecure ones.

This also means that other data connections that have multiple fields that ultimately combine to form the JDBC URL, for example the ‘Host’ field, now support secure variables as well. Additionally, the Driver Class Path field that previously did not allow any variable replacement has been updated to support both secure and non-secure variable replacement.

The Username and Password fields still only allow for secure variable replacement but however they now have a lock icon with a tooltip to indicate that this is the case:

pi-2316_secure-only-icon.pngImage Removedpi-2316_secure-only-icon.pngImage Added

 

Cursor focus on the data objects screen 🗣️

Data Object Screen - Cursor Focus Improvement

pi#2301

-

Data Connection

Previously, after having written in one of the text boxes within the data objects screen, followed by selecting another text box to write to, you would have to click twice to focus on the 2nd text box. Now, you can click once and it will focus immediately as normal.

CHANGES

Duplicate layout with category

Duplicating Category Layout (inc Charts), When Duplicating A Category 🗣️

pi#2302

29446

Category EditorCategories

Previously, upon duplicating a category, it would not copy the category layout. This means all of the charts would need to be added manually. Now, it will attempt to copy the layout, following this hierarchy:

  1. If a default layout exists, it will copy that

  2. If a user layout exists for the user attempting to duplicate the category, and no default layout exists, it will copy that

  3. If no layout exists, it will copy nothing

More options menu to use user’s first name and last name instead of usercode by default

User Management - Forename & Surname Option For The More Options Menu 🗣️

pi#2328

28658

User ConfigurationManagement

User’s forename and surname will be used by default in the dropdown in ‘More Options’ menu and will also be added to user’s account screen.

When forename and/or surname are not provided, the option will default to using usercode.

More Options dropdown:

Screenshot from 2024-03-25 13-26-29.png

User Account screen: 

Screenshot from 2024-03-25 13-27-26.png

 

Disabled users and users with missing emails are now skipped over in schedules

Scheduler - Failing When Disabled Users Or Email Addresses Are Missing 🗣️

scheduler#73

-28374

Scheduler

Previously, upon detecting a disabled user or a user with a missing email, a schedule job would fail entirely. Now, it will simply skip over these users and continue scheduling to all other non-problematic users without fault. It will also skip over users under a role which are either disabled or have a missing email too.

min_samples_leaf added to DecisionTree 🗣️

piAnalytics - Decision Tree - MIN_SAMPLE_LEAF Added To DecisionTree

pirana#45

-

piAnalytics

We now include min_samples_leaf option to the decision tree logic in piAnalytics. This option imposes a constraint on the minimum number of samples required to be at a leaf node that prevents the tree from growing overly complex and capturing noise.

With this setting we can control the level of detail in the decision tree as larger leaf sizes result in simpler trees, which are easier to interpret. Each leaf node will contain at least 5% of the total samples. This setting for min_samples_leaf will be made configurable in the upcoming releases.

Remove white space underneath the card charts

Card Charts - Remove White Space Underneath A Card Chart (Desktop & Mobile Views) 🗣️

pi#2252

29726, 29484, 29570, 29447 , & 29313

Card Charts

Fixed various display and scaling issues of card charts on both desktop and mobile view.

Changed the way the size of the card chart container is being calculated; now we will be using the width-height ratio that is applied to cards in the chart editor. As a result, when having multiple card charts in the same category, more content will be displayed in mobile view.

Example Video below; (Safari, iOS 17.2, iPhone 15): 

cards.mp4

 

Also, improvements Improvements have also been made around the scaling of card charts especially , specifically when displaying large amounts of content.

Excel Export - Chart Title

inconsistencies in Excel Export

Inconsistencies 🗣️

pi#2332

29629 & 29283

Excel Export

Fixed an issue where incorrect chart title was used in the excel spreadsheet. Excel export will mirror the chart title displayed for the chart in the UI that is consistent with the rest of export types e.g. if the chart title is defined in the ‘Attributes' section, this chart title will be used in the exported file.

Combined

charts not drawing when trend line is on 🗣️

Charts - Not Drawing When Trend Line Is On

pi#2315

28859

Chart Display

Fixed an issue where the combined chart with multiple measures was breaking if the trend line was being used and the data for all measures was put on the second y axis.

Null values should display as empty when used in dimensions for ppt and excel exports

Exporting (PowerPoint & Excel) - NULL Values Should Display As Empty When Used In Dimensions 🗣️

pi#2303 & pi#2306

29370

Exporting

Ppt and PowerPoint & Excel exports were showing a hardcoded 'NULL' value when null NULL values were used in the dimension data. Instead, we will now convert any null NULL values into empty strings to reflect thew view in the UI. Currently, null NULL values in the dimensions are shown as empty cells in the table in the dashboard.

Info

This change only affects

dimensions; the

Dimensions. The implementation of

null

NULL handling for measures will continue to work the same way with extra options in the chart

config

configuration.

Removed leading and trailing spaces from identifiers

Importing/Exporting - Removed Leading And Trailing Sspaces From Identifiers 🗣️

pi#2238

29354

Import / Export

Removed the leading and trailing spaces from the domain values that are used as identifiers in export import functionality e.g. chart name, data connection name, category name, report name, schedule name. All leading and trailing spaces will now be trimmed before being saved to the database.

SCHEMA CHANGES

SHOW_DIMENSION_BREAK_SUB_TOTAL_LABELS

PI#2350

30256

Schema

Column added to mis_hierarchies table