Yellowfin Change Log
Yellowfin BI 9.3.0 - build 20201008
Published: 8 October, 2020
- Added broadcasting support for client organization-specific external URL configuration (eg, client1.isvbiz.com, client2.isvbiz.com) (learn more).
- Broadcast Frequency is now more flexible, with a new option to broadcast on a particular day of a particular week in a given month (learn more).
- A dashboard can now be scheduled for broadcast. It can be broadcast as a link or as a PDF attachment (learn more here and here).
- FTP broadcast can now optionally add a timestamp to a file name (learn more).
- Improved text in the UI to better reflect how the minimum broadcast interval works.
- Allowed bulk CC broadcast reporting when using ARJDBC driver.
- Image management functionality has been overhauled. There is a new, intuitive look and feel, search performance has been improved, and images can be tagged as official Corporate Images (restricted by a role). The workflow for adding images to a Dashboard has been simplified (learn more here and here).
- Added the ability to replace an image in Dashboard and Present canvas while retaining all its widget properties, such as opacity, dimensions, position etc (learn more).
- Implemented image link formatting that takes an image URL from report data and wraps it in an HTML image tag to display it inline within the report table (learn more).
- Added extra PDF export options including page size, page orientation, and saving defaults for next time.
- Upgraded jQuery library to version 3.5.1.
- Assisted Insights can now be enabled for reports and charts embedded via the JS API.
- Developers can now toggle certain UI features of a report by manipulating output types. Report interactions (drill down, drill anywhere, drill through, series selection, unit selection, brushing, timeslider) can be disabled when loading reports with the JS API. The API can also be used to trigger report interactions (drill breadcrumbs, show annotations).
- Added the export menu to dashboards embedded in the JS API.
- Drill through reports are now possible on reports loaded using the JS API. A drill through report can replace the existing report or appear in a pop-up window. You can also customize the display to suit your needs.
- Reports can now be loaded but not automatically displayed on the page when using the reports.loadReport() function in the JS API. Also added the ReportAPI function for devs to easily create a visualisation of a report.
- Our REST API version is now 1.1, with new endpoints added for: managing user access to organisations; licence management; role creation and management; scheduled background task management; metadata SQL query functions; GET/threshold-alerts for fetching broadcast alerts received by a user; creating and managing categories; importing and exporting content; managing caching; and, content translations.
- Unlocked REST admin services for non-server based licenses (only REST content services require a server licence).
- licence management, role creation and management, scheduled background task management and metadata SQL query functions.
- Added an admin mode toggle, used to suspend new content creation in a Yellowfin instance, enabling zero-downtime upgrades of clustered environments.
- Removed outdated restlet library.
- New licences can now be deployed during a db-only silent upgrade.
- Cleaned up external DTD calls from XML files.
- Spring framework libraries to version 5.2.7
- Google Guava Library to version 29.0
- PostgreSQL JDBC driver to 42.2.14
- Apache Tomcat to version 9.0.37.
- Apache POI to version 4.1.2
- Apache Commons FileUpload to version 1.4
- JGroups to version 4.2.4 (see Community article)
- Jakarta-XML web services framework to version 2.3.3
- JasperReports library to version 6.13.0
- SnakeYAML to version 1.26.
- Reinforced security against XSS attacks in the dashboard builder, canvas and text widgets.
- Enhanced the JSESSIONID cookie to support SameSite, which is slowly being rolled out in many browsers (more info soon).
- Added missing date functions to HSQLDB, Exasol and Intersystems IRIS databases, in line with existing date functions for Postgres, MySQL, Oracle, Snowflake, and SQL Server.
- Restored CUSTOMPARAMETERS functionality to web service calls.
- Updated the process of importing report-based views to always include their parent report.
- Improved web service for imported views so that when an imported view replaces an existing view, the imported content folder and subfolder replace the existing content.
- Implemented changes to allow multilevel Tomcat context paths.
- Added a configuration option, VIEWTABLELIMIT, to restrict the number of tables returned from the database on view creation.
- Added a Java Virtual Machine run parameter for UTF8 in order to broadcast reports to file with report names that contain particular UTF8 characters.
- Enhanced session management for cluster deployments, including timeout information for remote sessions in Session Management, and the ability to remove stale sessions stored in the repository database.
- Improved performance when loading access level information on systems with a high volume of users.
- Improved stability when Repository and Source connection pools are near saturation to prevent deadlocks.
- Cleaned up logging and enhanced it to include Thread Id, Session Identifier and Code Function to log lines.
- Added event auditing for user role updates in the Admin console.
- Added the ability to set a user’s regional display preferences for decimal and thousand separators based on the language configured for that user (learn more here and here).
- Added the option to require users to update their password at regular intervals. Interval length is adjustable. LDAP users, whose passwords are managed client side, are excluded from this reminder (learn more).
- Added logonCheck.i4 which may be called from a browser to check if there's already an active Yellowfin session. This may be used before initiating an SSO call.
- Enabled SSO using an AJAX call to logon.i4 with a web service token, but without an "entry" page.
- Removed ColumnarDB as a new datasource type (existing ColumnarDBs aren’t affected).
- Rewired the Undo and Redo buttons to work in code mode.
- Totals and subtotals can now be moved to any side — top, left, right or bottom — of a report table (learn more here and here).
- Added the ability to group data on calculated fields that span multiple sub queries.
- Enhanced calculated fields tool to include a dropdown to set the type of calculated field before validation.
- Added an option to show or hide the minimum/maximum value in the report filter value list.
- Added the option to hide report names in both static and canvas dashboards (learn more).
- Improved usability and functionality of the text widget, including easier toggling to and from edit mode, keyboard shortcuts and more (learn more).
- Added a new text widget parameter, tablevalue, which can be used to display a table cell's content within a text widget (learn more).
- More customization options through CSS variables for prominent colours used in the application.
- Improved the positioning of customized UI elements such as dropdowns and tooltips on fixed-width pages.
- Category trimming is now available on bar and column charts with dimension colours.
- Added text alignment to numeric display charts.
- Improved rendering of Yellowfin when embedded on a page by enabling iFrame integration and full Application Integration to work together in the same session.
- Reimplemented the slide-out Left Nav Filter Panel style, so it's now possible to use it as a slide-out or a single widget.
- Reimplemented drill through from Report to Dashboard.
- Reinstated the Export List option on the dashboard content pop-up menu.
- Hard-coded filters can now be passed through to child reports during drill through.
- Converted report date fields from metric to dimension for the import process.
- Updated all date pickers to follow the global 'Week Start Day' setting.
- Updated charts dimension values so that a null value is now shown as << null >> and an empty value as << empty >>.
- Improved the positioning of the Add button for calculated fields.
- Enabled the use of WKT geometry fields in freehand SQL columns. Users can also disable the geometry cache and use the non-cached WKT geometry fields.
- Resolved an issue where conditional format legends would lose all colours when exporting to PDF.
- Resolved an issue where shrink to fit would not work on PDF export.
- Resolved an issue that would prevent moveToTab from functioning correctly in the JS API when used before a dashboard finished rendering.
- Resolved an issue where the JS API would require embedded page content to be reloaded after successful login if MultiTab was switched on.
- Resolved an issue which would prevent the JS API from loading a report and a dashboard at the same time.
- Resolved an issue where resetting a filter with Entry-style checkboxes would cause a JS error.
- Resolved an issue that would allow two drafts to be created simultaneously from the dashboard.
- Resolved an issue where some drop-down style filters would unexpectedly appear as pop-up style.
- Resolved an issue where linking interactions would not update when series were subquery filters.
- Resolved an issue where accessing a bookmark through a dashboard URL would prevent the bookmark from applying in list filters.
- Resolved an issue that would prevent users from adding filters to a dashboard filter list if a filter group with at least one filter was the last item in the list.
- Fixed an issue that caused filter links on an imported dashboard to not show when editing the dashboard.
- Resolved an issue that could lead to errors when importing a dashboard with a signal widget.
- Resolved an issue where the Used By list of a dashboard would contain client org users after distributing within the primary org.
- Resolved an issue where setting a dashboard's default width unit to percentage would affect the Present width.
- Resolved a security issue with the Android app failing to load stories.
- Resolved an issue in clustered environments that would prevent some web.xml updates from being applied to secondary nodes.
- Resolved an issue with memory settings, which would not set correctly for Windows Service on installation.
- Resolved an issue where the 9.2.1 WSDL lacked the definitions for the administration schedule which prevented it from being consumed by most languages.
- Resolved an issue with the UPDATEUSER Web Service API where user emails could not be updated.
- Resolved an issue with an NPE being logged when calling dashboard entry and passing FilterID where FilterID has a dud record.
- Resolved a WKT geometry-related issue where a LINESTRING would not be correctly converted to a geometry value.
- Temporarily removed audit content from the installation bundle to work on a content issue. It will be bundled again after 9.3.
- Restricted some source metadata calls to a particular catalog for certain databases.
- Resolved an issue where GMT time, rather than the server time, was used as the start date when creating new users, which could prevent immediate access for newly-created users.
- Resolved an issue that would prevent some filters from appearing on an imported dashboard when their report was replaced with an existing one during import.
- Resolved an issue where categories and sub categories were not being returned as export dependencies for a view.
- Resolved an issue for manual and API imports of time series reports and charts that would switch time granularity and aggregation to their defaults.
- Resolved an issue where SubQuery links could be lost during import.
- Resolved a specific error on the view builder Prepare tab that would block XML imports.
- Resolved an issue that would prevent advanced broadcast from using email addresses from an edited report.
- Resolved an issue where table conditions were being sent a null value when used in an advanced subquery child report.
- Resolved an issue where numeric display chart formatting would be used incorrectly on a report when paging through results.
- Resolved an issue where Approval Required reports would not appear in the active reports.
- Resolved an issue where the column formatting option, Suppress Duplicates, would not work on column reports based on Freehand SQL queries.
- Resolved an issue which would prevent report drill down interactions from being correctly linked to sub query filters.
- Resolved an issue where deleting a report with restricted columns would repeatedly display a confirmation popup.
- Resolved an issue where editing a report with a datasource offline would cause report fields to disappear
- Resolved an issue where a configured watermark would not display on reports with a single chart.
- Resolved an issue where the dynamic date parameter would only use DAY time measurements.
- Resolved an issue where a field converter could not be applied in a sub query.
- Resolved an issue that impacted the security of views in a report sub query.
- Resolved an issue where the folder and sub-folder for presentations and themes could not be changed in the Browse page.
- Resolved an issue where refreshing a parent org dashboard from a client org would redirect to the Browse page.
- Resolved an issue where adding a URL link to an entire text widget would not work if the entire text was selected.
- Resolved a path traversal issue when using Save To Disk broadcasts.
- Resolved an issue that would prevent the bulk deletion of draft reports from the Browse page.
- Resolved an issue where calculated totals did not always select the correct field.
- Fixed an issue where hyperlinks in text widgets would not work if they included forward slashes after the domain in their URLs.
- Resolved an issue where drill down links could be created with reports with drill down disabled.
- Resolved an issue that would prevent a Signal from being assigned to an owner.
- Resolved an issue with missing Signal correlations in client orgs.
- Resolved an issue in the UI that would prevent changing a view to another data source.
- Resolved an 'Oh no error' message that would appear when creating an ETL flow and using third-party connectors.
- Resolved an issue where the Share Private Report role would disappear after an incremental upgrade.
- Resolved an issue where changing between sub-tabs in edit mode would make the sub-tab navigation bar disappear.
- Resolved an issue where auto chart maps would add unnecessary padding to a chart, obscuring the background layer.
- Resolved an issue where the report multi-chart canvas would present issues in Internet Explorer when adding new widgets.
- Resolved a number of compatibility issues with the latest version of Jasper Reports including the display or charts and images.
- We addressed lots of small issues around filtering, such as previous values persisting and caching issues. In detail, we resolved issues where:
- a field folder not in use could not be deleted if another customer on the same installation had a field folder with the same name and content within;
- a timestamp or converted date filter would not work as a parent dependent filter;
- adding a new field to a view level filter group that had existing reports would corrupt the reports;
- the Initial State Open/Closed preference for filter groups would not update;
- filter breadcrumbs would not always contain a scrollbar;
- creating a calculated filter would filter out calculated fields;
- converting predefined dates of parameter filters would throw exceptions;
- the value of dependent filters would update incorrectly;
- in filter lists, if no new filter changes were made, the “Apply” button would not refresh reports; and
- following an upgrade, filters would disappear from filter groups.