Skip to main content

Changelog

5.1.17

2024-04-30

Added

  • Ability to change the size of axis labels for charts. It can be changed using the Axis labels size input field in the Style editor (User Guides).
  • table.copyColumnHeadersAsASingleRow setting allowing to squash table headers into a single row while copying them to the clipboard.
  • Ability to collapse blocks of state in the State editor tool.
  • Ability to apply a measure's conditional style to rows in table widgets, using the Apply to full rows checkbox in the Style editor.
  • Form validation in the Edit calculated measure popover preventing the user from creating a calculated measure with a name of an already existing measure.
  • throwIfMissing option to useUser. When set to false, useUser returns undefined instead of throwing a UserNotFoundError.

Changed

  • Data model and Tools panels are visible on read-only dashboards.

Fixed

  • When connected to several servers and one of them is unresponsive, the user sees an error message and is unable to use the other servers.
  • Errors thrown within the application display the stack trace and not the error message.
  • Export to CSV on a Drillthrough Table always using , as separator instead of the one chosen in Settings.
  • KPI status icons don't work on Tree table widgets.
  • Table selection not updating while dragging outside the table.
  • The Filter on popup takes a long time to show the list of members when smart filtering is enabled, the target widget contains slicing hierarchies and is filtered on a single member of each of these hierarchies.
  • "No plugin of type 'widget' was found for the key 'unregistered-plugin-key' in the registry" application error when browsing the Saved widgets panel containing a saved widget with a key that is not registered in the plugin registry.
  • Not being able to navigate into folders to which the user has Reader permission, when saving or moving a dashboard.
  • Export to CSV not showing special characters correctly.
  • "Cannot read properties of undefined (reading '0')" error when attempting to place a calculated measure on the slicer axis.

5.1.16

2024-03-29

Added

  • Ability to display row numbers for Pivot Table, Tree Table, Table, and Drillthrough Table. They can be toggled using the Row Numbers switch in the Style editor. They allow to:
    • Select the entire table by clicking the triangle in the top left corner.
    • Select a row by clicking on its row number.
  • Support for hierarchy folders in the Data model.
  • Ability to swap the Waterfall chart green and red colors in the Style editor.
  • In the Style editor, the ability to align cells representing non numerical values in tables.
  • In the homepage, the ability to export and import individual dashboards, as well as multiple dashboards and folders at once.

Fixed

  • Ignored new cells in realtime query updates.
  • The user cannot use the Data model in some scenarios when there is a single cube available which does not match the last used cube.
  • Chart not displaying traces correctly when the query contains tuples expanded across several hierarchies.
  • The Filter on hierarchy popover can be resized to be made larger but cannot be shrunk.
  • Sharing a saved widget from the search results sometimes fails and freezes the screen.
  • Retrieving members is sometimes slow when creating or editing a filter on a slicing hierarchy that is already in the axes of the widget to filter.
  • Unexpected "No data for your query" message after editing filters in the Content editor when areFiltersDrivenByMdx is set to true in the widget state, for instance after copying and pasting a widget's query into a new empty widget.

5.1.15

2024-03-01

Added

  • Ability to pin most recent filters.
  • Ability to set the smartFiltering.nonEmptyEvaluationMeasureName setting on a per hierarchy basis.
  • The Style editor tool on Drillthrough widgets allows to:
    • make the drillthrough table more compact, thanks to the Table size option.
    • control the background color of its cells, thanks to the Conditional styles section. The styling can be applied conditionally, based on the column's numerical values.
    • display tooltips when hovering on cells, thanks to the Tooltips option.
    • make table headers multi-line, in order to make their full text content visible, thanks to the Headers wrap to next line option.
    • align the caption in cells, thanks to the Align option.
  • Ability to change the maximum number of horizontal and vertical subplots in the Style editor.

Changed

  • The search in the Edit filter popover is controlled by the search.maxResults setting. The default is set to 1000.

Deprecated

  • ActivePivotClient.addCalculatedMembersListener, ActivePivotClient.removeCalculatedMembersListener, ActivePivotClient.addConnectionStatusListener, ActivePivotClient.removeConnectionStatusListener, ActivePivotClient.addDataModelListener, ActivePivotClient.removeDataModelListener, ActivePivotClient.addDrillthroughColumnsListener, ActivePivotClient.removeDrillthroughColumnsListener, ActivePivotClient.addQueryListener, ActivePivotClient.removeQueryListener,ActivePivotClient.addQueryResultListener, ActivePivotClient.removeQueryResultListener, ContentClient.addActivityListener, ContentClient.removeActivityListener, ContentClient.addPermissionListener, ContentClient.removePermissionListener, ContentClient.addSettingListener, ContentClient.removeSettingListener, ContentClient.addTreeListener, ContentClient.removeTreeListener.

    Use ActivePivotClient.subscribeToCalculatedMembers, ActivePivotClient.subscribeToConnectionStatus, ActivePivotClient.subscribeToDataModel, ActivePivotClient.subscribeToDrillthroughColumns, ActivePivotClient.subscribeToQuery, ActivePivotClient.subscribeToQueryResult, ContentClient.subscribeToActivity, ContentClient.subscribeToPermission, ContentClient.subscribeToSetting, ContentClient.subscribeToTree respectively instead.

    For example:

    - const listener = (queryResult) => {
    - console.log(queryResult);
    - };
    - activePivotClient.addQueryResultListener(queryId, listener);
    + const unsubscribe = activePivotClient.subscribeToQueryResult(queryId, () => {
    + console.log(activePivotClient.getQueryResult(queryId));
    + });
    // ...
    - activePivotClient.removeQueryResultListener(queryId, listener);
    + unsubscribe();

    The new API is more suited to React's useSyncExternalStore.

  • addDrillthroughColumn, removeDrillthroughColumn, and moveDrillthroughColumn. Use setDrillthroughColumns instead.

Fixed

  • "The drillthrough column 'column name' could not be found" error thrown when a drillthrough query includes a column that is configured as hidden in Atoti server.
  • The text is truncated on Bullet charts with vertical subplots.
  • Error 404, making it impossible to delete widget and filter folders on Atoti Server 5.11.
  • Unexpected small darker triangle in chart tooltips, sometimes hiding away some of their text.
  • The selection passed as a prop to menu item plugins fails to include leaf members when row header cells are selected on a Tree table widget.
  • When expanding members on a pivot table and then switching it to a chart, the chart unexpectedly only displays the first child of the first expanded member, instead of all children of all expanded members.
  • Copying tables using Ctrl / Cmd + A and Ctrl / Cmd + C is slow for big tables when lazy-loading is switched off.
  • Pasting cells into Microsoft Excel after copying them from an Atoti table unexpectedly squashes them into a single cell and joins them with ",", instead of adding them to the Excel sheet as distinct cells.
  • Long titles within the Edit filter and Edit calculated measure popovers are not truncated and take too much vertical space, causing the popover footer buttons to be hidden.
  • Inability to add a hierarchy to a widget if the widget's MDX contains a slicer filter on the same hierarchy, and areFiltersDrivenByMdx is set to true in the widget state (which occurs in particular after writing custom MDX in the Query editor).

5.1.14

2024-01-31

Added

  • Ability to pin Advanced filters to display them in a filters bar over a widget or dashboard.
  • expandTrigger prop to the <ContentTree /> component allowing to configure whether folder nodes can be opened by clicking on their full name, or only on the caret on their left.
  • Ability to hide the legend on charts. This can be done using the Legend switch in the Style editor.
  • Pinned filters display their corresponding level name.
  • Dashboard URLs with the '?export' search param (for example "http://mywebsite.com/?export#/dashboard/685") are displayed without a header, data model, or tools panel. This allows to easily export dashboards as PDFs programmatically. This can be accomplished with the following code:
    // 'dashboardLoaded' is dispatched once the content of all pages within the dashboard has been loaded.
    document.addEventListener('dashboardLoaded', () => {
    window.print();
    });
  • The Style editor tool allows to configure the number and date formatting on Drillthrough widgets.

Fixed

  • When a leaf table header cell corresponds to a member which does not have children, but is on a non-leaf level in its hierarchy, it is unexpectedly displayed as expandable.
  • Inability to navigate into folders within the saved filter and widget panels.
  • The Content editor unexpectedly becomes empty after a query error in the Edit filter popover.
  • An infinite number of pinned filters getting displayed when pinning a combination of Advanced filters and regular filters.

5.1.13

2023-12-29

Added

  • Ability to export/import a dashboard folder in the homepage.
  • Ability to wrap table headers to the next line, rather than ellipsize, globally through the settings editor.
  • Ability to show/hide totals for subplots on charts.
  • Export folder menu item in the home page, allowing the user to download the content of a folder (recursively).
  • Ability to change marker sizes on charts. This can be done using the Point size slider in the Style editor.
  • When hovering table cells, the member properties explicitly referenced in the MDX are displayed in a tooltip.

Changed

  • The tests checking that the starter project can be built and that @activeviam/activeui-sdk can be installed and imported in Node.js switched from Yarn 1 to npm. We recommend projects still using Yarn 1 to also migrate to a modern package manager such as npm 10 or pnpm 8.

Fixed

  • The Content editor of the Drillthrough widget does not display selected columns accurately when custom MDX is used without enclosing column identifiers in the MemberValue function.
  • Measure values are not included in the CSV export when measures are on rows and no hierarchies have been added on columns.

5.1.12

2023-12-08

Fixed

  • Drillthrough widget not displaying anything when column identifiers are not wrapped with the MemberValue function in its MDX query.
  • Colors cannot be applied to cells in table widgets.
  • The text alignment cannot be controlled in table widgets.
  • Tooltips are offset in table widgets.
  • The row and column index received by CellPlugins and CellStylePlugins are offset.
  • Table widgets fail to display their results when their query contains a measure on the slicer axis and nothing on other axes.
  • "Invalid arguments: expected the scrollLeft to be lower or equal than the cumulated column widths in the grid" error thrown after scrolling horizontally to the right of a table and then removing a field from columns.

5.1.11

2023-11-30

Added

  • In the Behavior editor tool, the user is able to link multiple investigation pages to a single widget.
  • Headers wrap to next line option in the Style editor of table widgets, allowing to make table headers multi-line, in order to make their full text content visible. This is particularly useful when headers contain long texts broken into multiple words.
  • Ability to show/hide totals on charts when the MDX contains levels expressed with the Members function, e.g. [Booking].[Desk].[Desk].Members.
  • Ability to focus the dashboard search input by pressing Ctrl / Cmd + O in the home page.
  • Ability to navigate through the dashboard search results with the and keyboard keys in the home page, and to select one by pressing Enter.

Fixed

  • "TypeError: Cannot read properties of undefined (reading '0')" sometimes thrown when adding a column to a Drillthrough widget.
  • "TypeError: Cannot read properties of undefined (reading 'index')" sometimes thrown when collapsing table cells.
  • "No page was found at this URL" error message when pathToHome is set on the configuration and the user accesses the page at this path.
  • "Unknown measure: My Measure" error when drilling through a table cell which involves a calculated measure.
  • "Warning: Cannot update a component (CellSetTable) while rendering a different component (Table)." when integrating pluginWidgetPivotTable or other table Components into a React application.
  • "One of the members to compare does not exist in this cube" error sometimes thrown when comparing the current date to the previous date in a KPI widget.
  • Changing the chart trace colors via the Style editor not working.
  • Calculated measure being unintentionally added to the selected widget when clicking on the header or corners of the Share Calculated Measure popover.
  • Some hierarchies are unexpectedly sorted alphabetically when using the Sort ascendingly and Sort descendingly menu items.
  • The user is unexpectedly not able to share a calculated measure right after saving it.
  • The previous data unexpectedly disappears in the KPI widget while new data is being loaded.
  • The KPI widget displaying "+NaN %" when a member is missing in a comparison.
  • Glitch when making a search in the Filter on hierarchy popover.
  • Typing in the search bar of the Filter on hierarchy popover does not narrow down the results when smart filtering is globally disabled (= when smartFiltering.isEnabled is set to false).
  • Drillthrough columns that are configured to be invisible on the server are unexpectedly visible in the Drillthrough widget.
  • Moving a field between a chart's horizontal and vertical subplots does not work.
  • Not notifying the user when saving a dashboard changes fails.

5.1.10

2023-10-31

Added

  • The Style editor tool allows to configure the number and date formatting on KPI widgets.
  • A toggle in the Style editor tool of the KPI widget allowing to display the difference between the two members being compared in percentage change, if the widget has a comparison.
  • The option "Current date to previous date" under Comparison in the Content editor of KPI widgets allows to compare values across the last two dates of the dataset.
  • Ability to show/hide totals on table widgets when the MDX contains levels expressed with the Members function, e.g. [Booking].[Desk].[Desk].Members.

Changed

  • The starter's package.json start script uses the development build of the application shell. It improves the developer experience by speeding up the build, easing debugging, and providing clearer stack traces.
  • Show/hide grand total menu item labels are more descriptive for each chart.
  • The layout of the KPI widget is made to emphasize comparison values and its change from the reference value.

Fixed

  • When an Atoti UI extension imports an Ant Design component that is not used in the Atoti UI application shell, e.g. <TimePicker /> or <InputNumber />, this component does not follow the theme.
  • Incorrect selection object generated when selecting a range of cells on a drillthrough table.
  • Incorrect cell values copied to clipboard from drillthrough tables with a sort applied.
  • Home page sometimes stuck in skeleton view.
  • The Delete and Rename menu items for calculated measures in the Data model are unexpectedly enabled for users without edit permissions.
  • setFilters unexpectedly adds some filters in a subselect instead of a slicer, when the filter's hierarchy appears on the expression of an axis without contributing to its dimensionality.
  • In the Data model, measure description tooltips don't appear unless the measure name overflows. These tooltips disappear too fast, preventing from selecting their text or clicking links they contain.
  • When renaming a calculated measures in the Data model and canceling this renaming by clicking away or pressing Escape, the canceled new name is not cleared, causing it to appear again if the user renames the same measure again.
  • The text in tooltips is cut off when it contains very long words (typically when it contains underscores instead of spaces).
  • Visual glitch when attempting to show the grand total on radar charts containing horizontal subplots.
  • Errors such as "Cannot read properties of undefined (reading '1')" when using filters with custom MDX.
  • Unexpected "TypeError: Cannot read properties of undefined (reading 'toLowerCase')" error preventing to open a drillthrough widget targetting an Atoti Server that does not have columns of every possible type (numeric, string, date).
  • When the query of a KPI widget yields no data, the hint to inform the user is unexpectedly not visible when the widget lacks space.
  • Pinned filters disappear when the user clicks on a Quick filter widget, or on another type of widget which does not represent data.
  • The pinned filters dropdown closing when clicking on the selected members tooltip.

5.1.9

2023-09-29

Added

  • Ability to modify settings from the user menu in the top right corner of the application.
  • Ability to format numbers in tables, even when they belong to a measure whose data type is not configured as "long" nor "double".
  • Ability to format numeric members in tables, using Number formatting in the Style Editor, just like for measures.
  • usePositionInDashboard hook.
  • Ability to share saved calculated measures.
  • Ability to pin date range filters to display them in a Filters bar over a widget or dashboard.
  • smartFiltering.isEnabled setting allowing to disable smart filtering for all hierarchies at once.
  • Ability to filter on the n most recent dates in the Advanced tab of the Filter on hierarchy popover.
  • widgetPlugin.behaviorEditor, allowing each widget to define a UI which controls how they behave. It is set to DataVisualizationBehaviorEditor for tables, charts and KPI widgets, which allows to configure template pages to investigate data points.
  • A Behavior editor tool, displaying the selected widget's behavior editor.
  • Investigate selection menu item, allowing to open an investigation page configured in the widget's DataVisualizationBehaviorEditor, and filtered based on the widget's selection and filtering context.
  • Ability to show/hide totals on charts through their context menu.

Changed

  • When a widget's query takes time to load, a loading bar is displayed above the widget's title. The default pulsating animation has been removed, but any custom configuration.widgetLoadingOverlay is still applied.
  • The Query context editor icon is "X:Y".
  • The State editor icon is "{...}".
  • Cell style plugins control the style of empty header table cells.

Fixed

  • The text in tooltips is cut off when it is too long.
  • When using custom MDX, expanding a table cell can sometimes unexpectedly change the query-scoped calculated members.
  • When using custom MDX, the user is sometimes unable to collapse table cells.
  • When using custom MDX, some hierarchies are not recognized as fields in the Content Editor.
  • The part of the query representing filters is unexpectedly modified when the user submits a manually edited query in the Query editor.
  • Click listeners on cell plugins are not triggered on empty pivot table header cells.
  • Members of pinned filters are not smart filtered.
  • Removing a level from the Content Editor can unexpectedly change the query-scoped calculated members and sets in which it is expressed.
  • Unexpected warning when using the Rgb function in the Query editor.
  • When the user hides the grand total row in the Tree table widget, the row becomes empty but unexpectedly remains on screen.
  • The Data model does not honor the search.maxResults setting.
  • When clicking the Export to CSV menu item on a table, hidden columns are unexpectedly made visible in the generated file.
  • Visual glitch on the right border of the tree column of Tree table widgets, when they are resized and made so narrow that only the tree column fits on screen horizontally.
  • Saving dashboard takes a long time when the dashboard contains charts with many points.
  • The Refresh menu item is not available for Drillthrough widgets.
  • Unexpected "Failure to execute 'atob' on 'Window': The string to be decoded is not correctly encoded" error when starting the application.
  • Visual glitch in search results in the Drillthrough widget content editor tool search.

Deprecated

5.1.8

2023-08-31

Added

  • Markdown tables in the Text editor widget have borders between rows.
  • Ability to display tooltips on tables.
  • Folder paths are displayed in the results of the dashboard and folder search at the top of the home page and in the Open dashboard modal.
  • Ability to navigate through the Data model search results with the and keyboard keys. Pressing Enter can be used as a shortcut instead of clicking on the focused element.
  • KPI properties can be styled in the Style editor.
  • Tooltips on wizard tiles and table headers that are so narrow that a part of the text they contain is hidden, allowing users to view their full text by hovering over them.

Changed

  • In the KPI widget, values of measures are evenly spaced.
  • The About modal displays the version of each Atoti Server that the application is connected to, not just the first one.

Fixed

  • Unexpected "The page or dashboard filters were changed. If this is intentional, do it from the filters editor" error while editing the query of a widget in the Query editor.
  • Cannot submit valid MDX in the Query editor when it contains complex expanded members.
  • Chart legends sometimes fail to show the trace names.
  • CSV exports containing [object Object] for some cells.
  • The application freezes for a few seconds when the user opens the Edit filter popover on a level containing many members.
  • "Expression cannot be resolved as a member of cube" error when accessing a widget whose query contains a query-scoped named set.
  • When multiple KPI properties are added to a chart, only the first one actually appears on the chart.
  • Filters on date ranges saved in Atoti UI 4.3 unexpectedly appear as "custom" after migration.
  • Broken link to documentation in Help submenu.
  • Cell font colors don't work on the first few columns when the table containing them is resized and made so thin that the frozen columns become larger than the whole width of the table.
  • The order of the colors and labels of bar charts does not match the order of their corresponding bars when the chart is sorted and has a conditional style.
  • In the Style editor of table widgets, the inability to control the alignment of non numeric measures.
  • When conditional style is added to a measure in a table, its values become unexpectedly left-aligned.
  • The user is unexpectedly switched from Present to Edit mode when opening a dashboard which they are allowed to edit.
  • Editing pinned filters incorrectly removes non-pinned filters within the same section.

5.1.7

2023-08-03

Added

  • In the Style editor, the ability to align cells representing measure values in tables.

Changed

  • The About modal displays the version of each Atoti Server that the application is connected to, not just the first one.

Fixed

  • Table scrolling out of sync between cells and row and column headers.

5.1.6

2023-08-01

Added

  • In the Style editor, ability to edit the date format of levels of type "TIME".
  • Ability to remove widgets with errors from dashboards.
  • Select all can be used on the search results in the Filter on hierarchy popover.
  • Exclude selected members checkbox in the Filters bar dropdown.

Changed

  • The login page, loading background and header are redesigned.
  • The light-activeviam and dark-activeviam themes are changed.

Fixed

  • ERR_MODULE_NOT_FOUND error thrown when importing @activeviam/activeui-sdk on Node.js.
  • Number formatting discrepancies for users with a browser locale different than "en-US" after they adjust the number of decimals of a measure through the Style editor.
  • Application submenus disappear when hovering on nested submenus.
  • When targeting a 5.11 Atoti server, clicking the Move button in the Move to modal on the home page fails, showing an infinite spinner on the button.
  • "No data model was found [...]" or "Cube not found [...]" error when the last cube used by the user is not available.
  • The Export to CSV menu item unexpectedly generates multiple rows for the header row, and treats cell values containing the CSV separator as multiple values.
  • "Error: contributors.COUNT cannot be used when smart filtering the query to fetch members of [dimension].[hierarchy], because it is a virtual hierarchy" error when attempting to edit a pinned virtual hierarchy filter.
  • Spaces in measure and level names sometimes disappear when using the search.
  • "Undefined widget state. This is not supported" error when rendering a <Widget /> outside a dashboard.
  • KPI widget values ignoring the color specified in the MDX query result.

5.1.5

2023-06-30

Added

  • Ability to move the selection in table widgets using the , , , , Home, End, Page Up, Page Down keyboard keys, also in combination with the Shift key to extend the selection.
  • The Inherit destination folder permissions checkbox in the Move modal to enable inheriting the permissions of its destination folder.

Fixed

  • Changing the target cube of a widget unexpectedly changes the target cube of drillthrough tables in the dashboard.
  • "TypeError: mp (the combination of letters can be different) is not a function or its return value is not iterable" error thrown by a widget that has been right-clicked.
  • The application crashes with a No plugin of type "widget" was found for the key ... error when the user accesses a dashboard containing a widget whose key is not registered.
  • The tooltip overlapping the context menu on pie and donut charts.

5.1.4

2023-05-31

Added

  • Ability to move a widget to another dashboard page by dragging and dropping it on top of it.
  • Pinned exclusion filters have an exclude icon.

Deprecated

  • pageKey argument of moveWidget. Use originPageKey and targetPageKey instead.

Fixed

  • "Module not found: Error: Can't resolve 'util'" error thrown when running yarn build in the starter source.
  • The label of some menu items is not displayed under some specific screen size and zoom settings.
  • Expand/collapse carets are unexpectedly shown in the search results tree of the Filter on hierarchy popover.

5.1.3

2023-04-27

Deprecated

Fixed

  • Creating a folder in the Saved filters panel causes the Back to Data Model button to become hidden.

5.1.2

2023-03-31

Added

  • Copy query to clipboard and Refresh query menu items to the Drillthrough widget.
  • smartFiltering.nonEmptyEvaluationMeasureName setting allowing to set the measure used to filter out empty members in the list presented to the user when creating or editing a filter. Members with no value for this measure are considered empty and are omitted from this list.
  • Make a copy menu item in the home page, allowing to make a copy of a dashboard.
  • configuration.routes, allowing to define custom URLs for your application and register the components that should be displayed when users visit these URLs.
  • lastUsedCube property in the user activity, keeping track of the cube that was last used by the user.
  • Measures in the Data model have a tooltip displaying their description.

Changed

  • When a new widget is added to a dashboard, it connects by default to the cube that the user used last, instead of connecting to the first cube of the first server.
  • The cube selector shows the cube's caption instead of name.

Removed

  • Unexpected Copy link button in the Share modal when sharing filters or widgets.

Fixed

  • The Select all checkbox in the Filter on hierarchy popover does not work when the hierarchy is virtual.
  • The vertical scrollbar in the Saved filters and the Saved widgets panel does not allow to access the elements at the bottom of the list.
  • White screen and No data model was found error in console when a dashboard is opened before the data model has finished loading.
  • After sharing a saved widget with another user as a reader, this user is unexpectedly allowed to rename, share and delete this widget. The same applies to saved filters.

5.1.1

2023-03-02

Added

  • "Switch widget type" menu item, allowing to open the widgets panel from a widget's context menu.
  • Share menu item added to the File application menu.
  • New dashboard menu item added to the File application menu, allowing to create a new dashboard without needing to navigate back to the home page first.

Changed

  • In the Data model, measure folders can be opened by clicking on their names, not only on the carets on their left.
  • Users with the canManageContent permission set to false can create ad-hoc dashboards, but are still not allowed to save them.
  • In the Advanced tab of the Filter on hierarchy popover, when searching for a measure the results are sorted alphabetically.

Fixed

  • The File > Save menu item is unexpectedly disabled when users create a dashboard.
  • Rows with an index bigger than the lazy loading chunk size not loading in tables with a wide row header.
  • Tables unexpectedly scroll all the way back left when users click a cell.
  • Extra padding at the right of table widgets vertical scrollbar.

5.1.0

2023-02-02

Added

  • Ability to pin filters to display them in a Filters bar over a widget or dashboard. It allows to edit a filter outside of the Filters editor, even in Present mode.
  • Ability to configure cross-hierarchies expansion chains for tables from the Content editor. Each level in the expansion chain is displayed as a subtile and can be moved or deleted individually.
  • widgets permission, allowing to control what widgets the user has access to.
  • widgetMenuItems permission, allowing to control what menu items the user has access to in the widget's context menus.
  • widgetTitleBarButtons permission, allowing to control what buttons the user has access to in the widgets' title bars.
  • applicationMenus permission, allowing to control what menus the user has access to in the application header.
  • tools permission, allowing to control what tools (previously called "drawers") the user has access to in the application left panel.
  • Ability to show values as text on charts. This can be done using the Data labels switch in the Style editor.
  • WidgetPlugin.attributesDrivingColors: indicates which mapping attributes can be used to apply custom colors using the Colors editor.
  • Ability to pass an AbortSignal to asynchronous operations which do not have side effects. This includes many methods of ActivePivotClient and ContentClient.
  • Support for nested measure folders in the Content editor.
  • createCalculatedMember, createKPI, deleteCalculatedMember and deleteKpi methods in ActivePivotClient

Changed

  • New widgets and saved widgets can be added by opening the Insert -> Widgets menu in the application header (shortcut W), then selecting them from the panel that appears over the Data model.

  • Saved filters can be added by opening the Insert -> Filters menu in the application header (shortcut F), then selecting them from the panel that appears over the Data model.

  • Saved calculated measures are persisted to the cube instead of the /ui folder on the Content Server. This has the following implications:

    • Saved calculated measures appear directly in the Data model.
    • They can be renamed/deleted only globally from the Data model, as opposed to locally on a widget.
    • Calculated measures saved with Atoti UI 5.0 are not usable out of the box in Atoti UI 5.1, but you can migrate them using atoti-ui-migration.
    • Calculated measures created and saved with Atoti UI 5.1 are usable in Excel.
  • The Drawers previously located on the left of the dashboards are renamed Tools and moved to the right of the Data model.

- import { Drawer, drawerQueryEditor } from "@activeviam/activeui-sdk";
- const myDrawer: Drawer = {};
- configuration.drawers.push(drawerQueryEditor, myDrawer);
+ import { Tool, toolQueryEditor } from "@activeviam/activeui-sdk";
+ const myTool: Tool = {};
+ configuration.tools.push(toolQueryEditor, myTool);

The following exports are also renamed:

- const hierarchy = cube.dimensions.find(dimension => dimension.name === myDimensionName)?.hierarchies.find(hierarchy => hierarchy.name === myHierarchyName);
+ const hierarchy = cube.dimensions[dimensionName].hierarchies[hierarchyName];
  createActivePivotClient({
url,
+ serverVersion: "6.0.0",
+ serviceVersion,
- version: serviceVersion,
requestInit,
}),
-  import { MenuItemCreateFolder } from "@activeviam/activeui-sdk"

- <Menu {...menuProps} onClick={props.onClick}>
- <MenuItemCreateFolder {...menuItemProps}>
- </Menu>

+ import { useMenuItemCreateFolder } from "@activeviam/activeui-sdk"

+ const menuItemCreateFolder = useMenuItemCreateFolder(menuItemProps)
+ <Menu {...menuProps}
+ onClick={props.onClick}
+ items={[menuItemCreateFolder]}
+ />

The API to define your own menu items is changed accordingly:

- const MenuItemFoo = (props) => {
- return (
- <MenuItem onClick={props.onClick}>
- <div>
- <FooIcon />
- Foo
- </div>
- </MenuItem>
- );
- };

+ function useMenuItemFoo(props) {
+ return {
+ onClick: props.onClick,
+ icon: <FooIcon />,
+ label: <div>Foo</div>,
+ };
+ }

To use in a plugin:

  const pluginMenuItemFoo = {
key: "foo",
- Component: MenuItemFoo,
+ useMenuItem: useMenuItemFoo,
};
  • Node.js >= 18.12.1 is required to use @activeviam/activeui-scripts and @activeviam/content-server-initialization.
  • UserGroupNamesProvider is renamed UserRolesProvider.
  • The canShare permission controls the ability to share content. The user role ROLE_SHARE is no longer supported.
  • The key of the Save widget as menu item is changed from save-as to save-widget-as. The pluginMenuItemSaveWidgetAs must be explicitly added to each applicable widget's menu items.
  • The MeasuresFolderNode accepts both measures and measure folders as children.
  • addFormula is renamed addCalculatedMeasure.
  • Minimum required version of the supported browsers.
  • pathToFolder is renamed pathToParentFolder in the arguments of the following ContentClient methods: fetchThumbnails, fetchThumbnail, fetchFile, createFile, createFolder, deleteFilesAndFolders, updateFile, updateFolder, updateFilePermissions and updateFolderPermissions.
  • getMeasures is renamed getMeasureNames and returns an array of strings.
  • Filters are no longer typed as Mdx. Instead, they are typed as:
  • Properties canRead, canWrite, isDirectory, lastEditor, and timestamp are required in ContentEntry by default. If you want to type entries that are meant to be sent in PUT/POST requests, use ContentEntry<"request"> instead.
  • Query context values used in query.context and queryContextEntry.value are typed as string.
  • pluginWidgetPlotlyComboChart is renamed pluginWidgetPlotlyColumnsAndLinesChart. Its plugin key plotly-clustered-column-and-line-chart is renamed plotly-columns-and-lines-chart.
  • The cube argument is mandatory in getMeasure.
  • The name property of AMetaData is mandatory.
  • Property levelIndex on FilterOnTopBottomMembers is replaced with levelName.
  • The key property of ApplicationMenu is mandatory.
  • The parameters of the onTileMovedFromExtraSection function in DataVisualizationContentEditorProps:
    • The item parameter is renamed dragItem.
    • The toSection parameter is replaced with toPosition, of type TilePositionWithinWizard.
  • The version property of WidgetMetaData is mandatory.

Removed

- import { activeUIOverlayRootId } from "@activeviam/activeui-sdk";
- const getPopupContainer = () => document.getElementById(activeUIOverlayRootId);
+ import { useContext } from "react";
+ import { ConfigProvider } from "antd";
+ const { getPopupContainer } = useContext(ConfigProvider.ConfigContext);
  • SelectionListenerPlugin type.
  • pluginSelectionListenerFilterOtherWidgets plugin.

Fixed

  • Member unexpectedly expanded down to its children in its own hierarchy when the user expands it down to a different hierarchy, collapses it and then re-expands it.
  • Missing tooltips on corrupted tiles (highlighted in red) in wizards.

5.0.37

2024-04-30

Added

Fixed

  • Tree table widgets not rendering kpi status icons in the cells.

5.0.36

2024-03-29

Added

  • Support for hierarchy folders in the Data model.

Fixed

  • Ignored new cells in realtime query updates.
  • Chart not displaying traces correctly when the query contains tuples expanded across several hierarchies.
  • Retrieving members is sometimes slow when creating or editing a filter on a slicing hierarchy that is already in the axes of the widget to filter.

5.0.35

2024-02-21

Added

  • Ability to filter on the n most recent dates in the Advanced tab of the Filter on hierarchy popover.

Fixed

  • Tables unexpectedly scroll all the way back left when users click a cell.
  • The text is truncated on Bullet charts with vertical subplots.
  • Pasting cells into Microsoft Excel after copying them from an Atoti table unexpectedly squashes them into a single cell and joins them with ",", instead of adding them to the Excel sheet as distinct cells.
  • Long titles within the Edit filter and Edit calculated measure popovers are not truncated and take too much vertical space, causing the popover footer buttons to be hidden.

5.0.34

2023-12-29

Deprecated

Fixed

  • Missing caption for sort-pivot-table-ascendingly and sort-pivot-table-descendingly plugins when used on other widgets than pivot-table (e.g. tree-table).

5.0.33

2023-11-30

Added

  • Ability to show/hide totals on charts when the MDX contains levels expressed with the Members function, e.g. [Booking].[Desk].[Desk].Members.

Fixed

  • The error "Warning: Cannot update a component (CellSetTable) while rendering a different component (Table)." when integrating pluginWidgetPivotTable or other table Components into a React application.
  • The text in table column headers sometimes disappear when scrolling horizontally to the right.
  • "Unknown measure: My Measure" error when drilling through a table cell which involves a calculated measure.
  • "One of the members to compare does not exist in this cube" error sometimes thrown when comparing the current date to the previous date in a KPI widget.
  • After a query error happens in a drillthrough widget, editing the query has unexpectedly no effect.
  • The previous data unexpectedly disappears in the KPI widget while new data is being loaded.
  • Long error messages lack scrollbars.
  • The KPI widget displaying "+NaN %" when a member is missing in a comparison.
  • Glitch when making a search in the Filter on hierarchy popover.
  • Typing in the search bar of the Filter on hierarchy popover does not narrow down the results when smart filtering is globally disabled (= when smartFiltering.isEnabled is set to false).
  • Drillthrough columns that are configured to be invisible on the server are unexpectedly visible in the Drillthrough widget.

5.0.32

2023-10-31

Added

  • The Style editor tool allows to configure the number formatting on KPI widgets.
  • The option "Current date to previous date" under Comparison in the Content editor of KPI widgets allows to compare values across the last two dates of the dataset.
  • Ability to show/hide totals on table widgets when the MDX query contains levels expressed with the Members function, e.g. [Booking].[Desk].[Desk].Members.
  • A toggle in the Style editor tool of the KPI widget allowing to display the difference between the two members being compared in percentage change, if the widget has a comparison.

Changed

  • The layout of the KPI widget is made to emphasize comparison values and their changes from the reference values.
  • The Show/hide grand total menu item labels are more descriptive for each chart.

Fixed

  • The home page sometimes appears to load forever.
  • The text in tooltips is cut off when it contains very long words (typically when it contains underscores instead of spaces).
  • When the query of a KPI widget yields no data, the hint to inform the user is unexpectedly not visible when the widget lacks space.

5.0.30

2023-10-10

Fixed

  • Errors such as "Cannot read properties of undefined (reading '1')" when using filters with custom MDX.
  • Visual glitch when attempting to show the grand total on radar charts containing horizontal subplots.
  • setFilters unexpectedly adds some filters in a subselect instead of a slicer, when the filter's hierarchy appears on the expression of an axis without contributing to its dimensionality.

5.0.29

2023-09-29

Added

Changed

  • When a widget's query takes time to load, a loading bar is displayed above the widget's title. The default pulsating animation has been removed, but any custom configuration.widgetLoadingOverlay is still applied.
  • The Query context editor icon is "X:Y".
  • The State editor icon is "{...}".

Fixed

  • The text in tooltips is cut off when it is too long.
  • When using custom MDX, expanding a table cell can sometimes unexpectedly change the query-scoped calculated members.
  • When using custom MDX, the user is sometimes unable to collapse table cells.
  • When using custom MDX, some hierarchies are not recognized as fields in the Content Editor.
  • Click listeners on cell plugins are not triggered on empty pivot table header cells.
  • Removing a level from the Content Editor can unexpectedly change the query-scoped calculated members and sets in which it is expressed.
  • The part of the query representing filters is unexpectedly modified when the user submits a manually edited query in the Query editor.
  • Unexpected warning when using the Rgb function in the Query editor.
  • When the user hides the grand total row in the Tree table widget, the row becomes empty but unexpectedly remains on screen.
  • Visual glitch in search results in the Filters editor drawer.
  • When clicking the Export to CSV menu item on a table, hidden columns are unexpectedly made visible in the generated file.
  • Visual glitch on the right border of the tree column of Tree table widgets, when they are resized and made so narrow that only the tree column fits on screen horizontally.
  • search.maxResults setting not being applied to the data model tree.
  • The Refresh menu item is not available for Drillthrough widgets.
  • Unexpected "Failure to execute 'atob' on 'Window': The string to be decoded is not correctly encoded" error when starting the application.
  • In tables, header cells representing totals sometimes lack their caption.

5.0.28

2023-08-31

Added

  • Markdown tables in the Text editor widget have borders between rows.
  • Ability to display tooltips on tables.
  • Folder paths are displayed in the results of the dashboard and folder search at the top of the home page and in the Open dashboard modal.
  • KPI properties can be styled in the Style editor.

Changed

  • When a dashboard is shared with a user as reader, they have access to the Data model and Tools on this dashboard (reverts a change made in 5.0.22).
  • In the KPI widget, values of measures are evenly spaced.
  • The About modal displays the version of each Atoti Server that the application is connected to, not just the first one.

Fixed

  • Unexpected "The page or dashboard filters were changed. If this is intentional, do it from the filters editor" error while editing the query of a widget in the Query editor.
  • Cannot submit valid MDX in the Query editor when it contains complex expanded members.
  • Chart legends sometimes fail to show the trace names.
  • CSV exports containing [object Object] for some cells.
  • The application freezes for a few seconds when the user opens the Edit filter popover on a level containing many members.
  • "Expression cannot be resolved as a member of cube" error when accessing a widget whose query contains a query-scoped named set.
  • When multiple KPI properties are added to a chart, only the first one actually appears on the chart.
  • Filters on date ranges saved in Atoti UI 4.3 unexpectedly appear as "custom" after migration.
  • Broken link to documentation in Help submenu.
  • Cell font colors don't work on the first few columns when the table containing them is resized and made so thin that the frozen columns become larger than the whole width of the table.
  • The order of the colors and labels of bar charts does not match the order of their corresponding bars when the chart is sorted and has a conditional style.

5.0.26

2023-08-01

Fixed

  • Charts sometimes not resizing.
  • Number formatting discrepancies for users with a browser locale different than "en-US" after they adjust the number of decimals of a measure through the Style editor.
  • KPI widget values ignoring the color specified in the MDX query result.
  • The Export to CSV menu item unexpectedly generates multiple rows for the header row, and treats cell values containing the CSV separator as multiple values.

5.0.25

2023-06-30

Added

  • When searching for a hierarchy in the data model, its child levels are displayed among the results.

5.0.24

2023-05-31

Added

  • Share context menu item allowing to share saved widgets.

Changed

  • Drillthrough tables dragged and dropped from the widgets ribbon into a dashboard do not have any columns, until the user selects some.

Fixed

  • Errors such as "The level index 5 is greater than the number of levels in the hierarchy [Booking].[Desk] (5) in cube EquityDerivativesCube." when pasting custom MDX in the query editor.
  • Translations for the sorting menu items in the context menu of table widgets are not properly displayed unless the pluginMenuItemSortPivotTableDescendingly and pluginMenuItemSortPivotTableAscendingly plugins are registered.
  • Expand/collapse carets are unexpectedly shown in the search results tree of the Filter on hierarchy popover.

5.0.23

2023-04-27

Added

  • The Tree table widget supports lazy loading.
  • Table size option in the Style editor of the Pivot table, Tree table, and Table widgets, allowing to make these widgets more compact.
  • table.defaultSize setting, allowing to control the default value of the table size for a user or a group of users.
  • table.animations.areEnabled setting to toggle whether or not to animate changes in tables.
  • table.animations.duration setting to set how long animations for changes in tables take place.
  • table.animations.threshold setting to set the threshold per measure before animating changes in tables.
  • Non contiguous ranges of cells can be selected in tables by holding Ctrl / Cmd or Shift while clicking or dragging.
  • Show all totals menu item under the Totals submenu of the table widgets context menus, allowing to show or hide all totals at once.

Changed

  • The Export to CSV menu item generates a CSV table that corresponds exactly to the table on screen instead of pivoting the hierarchies it has on columns onto its rows.
  • The Export to CSV menu item allows to export full tables, even when they are lazy-loaded.
  • The items in the Totals submenu in the context menu of table widgets are accessible on the whole table, with no condition on the cell from which the menu was opened.

Fixed

  • Unable to remove all decimals from a measure in the Style editor.
  • The Filter on popover loads for a long time when it is opened on a hierarchy containing many members.
  • Saving dashboards in a folder with edit rights sometimes does not work if the folder was created by a different user.

5.0.22

2023-03-31

Added

  • Ability to add named sets to a widget by clicking on them in the Data model.

Fixed

  • When a dashboard is shared with a user as reader, they unexpectedly have access to the Data model and Tools on this dashboard.

5.0.21

2023-03-01

Fixed

  • Rows with an index bigger than the lazy loading chunk size not loading in tables with a wide row header.
  • Drillthrough table widgets lack columns when their MDX query is custom and contains the MemberValue for these columns but not their Caption.
  • Tooltips are in the wrong order on line chart points.
  • "Cannot read properties of undefined" error thrown after deselecting a member using the Select all checkbox of the Filter on popover when the hierarchy is virtual.
  • Nothing happens when clicking on the Try again button after a query error in a widget.

5.0.20

2023-01-11

Fixed

  • Switching widgets to a Donut chart results in the measure name unexpectedly being shown in legend.

5.0.19

2022-11-25

Added

Deprecated

Fixed

  • Unexpected warning when using the ActiveMeasure function in the Query editor.
  • The search of the Edit filter popover does not work when the target hierarchy is part of the smartFiltering.ignoredHierarchies setting.
  • Missing scrollbar in the Content editor and the Filters editor.
  • Widgets fail to call their onLoaded prop when their query fails.
  • Leave the page? prompt displayed when saving a dashboard.
  • Navigating from an unsaved dashboard to a saved one does not work.
  • "Cannot destructure property 'hierarchyIndex'" error sometimes thrown when scrolling a pivot table horizontally.

5.0.18

2022-10-28

Added

Changed

  • Empty dashboards are not saved automatically when users click the Create new dashboard button.

Fixed

  • Context menus containing long dashboard names extending to full screen width.
  • The Query editor sometimes does not recognize valid MDX generated by expanding a member in a pivot table.

5.0.17

2022-10-06

Added

  • Support for virtual hierarchies.
  • Ability to open an existing dashboard via a new Open Dashboard menu item under the File application menu.
  • Ability to type/paste members to filter upon through a text area in the Filter on hierarchy popover.

Changed

  • The initial UI folder in the content server is updated in order to grant the permission to share content to all users with the role ROLE_USER.
  • In Tree table widgets, the header above the tree displays the name of the last level, instead of the names of all levels.

Deprecated

Fixed

  • Calculated measures can be styled under Measures in the Style editor drawer.
  • Calculated measures are unexpectedly interpreted as corrupt tiles in the Content Editor when the "Measures" identifier in their name is not capitalized (e.g. [measures].[myMeasures]).
  • The loading overlay is not shown when updating a table which had no data to display.
  • KPI widgets with no data to display don't notify the user.

5.0.16

2022-08-31

Added

  • Ability to filter hierarchies of type "TIME" on Month to date, Quarter to date and Year to date in the Calendar tab in the Filter on hierarchy popover.
  • Conditional styles section in the Style editor, allowing to control the colors of charts. The styling can be applied conditionally, based on the measure's numerical value.
  • Ability to apply background colors to a KPI widget's values through the query editor, thanks to the MDX BACK_COLOR property.

Deprecated

Fixed

  • Clicking on an application menu sometimes opens two menus at the same time.
  • Using the Export to PDF item under the application File menu when the dashboard contains a Text Editor does not trigger the browser's print prompt.
  • Dashboard search may run slowly when there are thousands of dashboards.
  • When a user follows a link to a missing dashboard, this useless link is unexpectedly added to the list of recently visited dashboards in their home page, still leading to a missing dashboard.
  • "Expression is not a compound identifier representing a member" error when using MDX with custom sorting logic.
  • "The 2 objects do not have the same dimensionality" error when expanding a member down to a different hierarchy, if it has already expanded siblings.
  • Tiles cannot be removed from the Filters editor any more after a tile was removed while the Edit filter popover was open.

5.0.15

2022-07-29

Added

  • Tooltips indicating how to add measures, hierarchies, and filters to a wizard section.
  • Hide columns menu item, allowing to hide columns in a table widget.

Deprecated

Fixed

  • In the Filter on hierarchy popover, the user can not select more than one search result.
  • Members of multilevel slicing hierarchies cannot be expanded in the Pivot table and Tree table widgets, because they are missing their expand carets.
  • Adding a calculated measure to an empty pivot table has no effect.

5.0.14

2022-07-04

Added

  • Permissions, allowing to control what users can see and do in Atoti.
  • unsavedChangesPopup.isEnabled setting, controlling whether a warning popup is displayed when users leave a dashboard with unsaved changes. It is set to true by default, but setting it to false will prevent this popup from appearing.

Changed

  • The dashboard title is displayed in the center of the Header on dashboard pages.
  • Left application menus defined by configuration are displayed in the home page.
  • When the user navigates from the home page into a dashboard and then back to the home page, the folders they had expanded in the tree on the left remain expanded.
  • Context menu items on the home page have been rearranged so that Share is at the top and Delete is at the bottom.

Fixed

  • The user is unexpectedly allowed to edit the style of a non-numeric measure, under Measures in the Style editor drawer if this measure was the first one added to the widget.
  • In Firefox and Safari, unexpected error when one of the target ActivePivot servers is down.
  • Missing dashboard thumbnails in the Recent view on the home page.
  • Unexpected horizontal scrollbar at the bottom of the dashboard when it contains multiple widgets and the user resizes a drawer.
  • Resizing a table column unexpectedly highlights its text in Firefox.
  • "Uncaught TypeError: Cannot read properties of null (reading 'elementType')" error when trying to collapse a table cell that had been expanded several times.
  • Using the Export to PDF item under the application File menu sometimes prompts multiple print dialogs.
  • Using the Export to PDF item under the application File menu sometimes does not trigger the export if the dashboard contains an empty chart.
  • Widgets from inactive dashboard pages are not rendered when using the Export to PDF item under the application File menu.
  • Users can unexpectedly increase the size of an empty left drawer when no drawer is open.
  • In tables, the values for measures which are selected as filters are sometimes not displayed.

Removed

  • Measures tree from the Filters editor.

5.0.13

2022-06-10

Added

  • Synchronize widget menu item, allowing to synchronize a widget with the latest version of the saved widget it is based on.
  • Save widget menu item, allowing to update a saved widget on the Content Server.
  • Support for ActivePivot 6.0.

5.0.12

2022-06-01

Added

  • Support for Left() and Right() functions in the Query editor.
  • Spinner when a drillthrough query takes a long time to resolve.
  • The theme setting supports custom themes.
  • Ability to drag a tile from the Comparison section to another section of the Content editor drawer of the KPI widget.

Changed

pluginWidgetTable.contextMenuItems = [
pluginMenuItemSortTableAscendingly.key,
pluginMenuItemSortTableDescendingly.key,
];
  • When the user searches for measures, hierarchies or levels, the results are presented as a tree instead of a list. This makes them more useful, especially when several hierarchies contain a level with the same name.

Deprecated

Fixed

  • Switching to a Bullet or Gauge chart is unexpectedly disabled when the origin widget contains 2 hierarchies.
  • "The dimension [dimension] was not found in the data model of cube" error thrown in the Filters editor if a dashboard or page filter impacts a widget targeting a cube which does not contain the hierarchy of this filter.
  • Adding a dashboard or page filter with the Exclude selected members checkbox checked in the Filter on popover unexpectedly impacts KPI comparisons.
  • Widgets in dashboard pages that are not on screen unexpectedly send queries to ActivePivot when dashboard filters are updated.
  • When resizing the Query editor or State editor, the action buttons can sometimes become unreachable.
  • When switching from a KPI widget containing measures to another type of widget, a duplicate Measures tiles unexpectedly appears in the wizard.
  • The tooltip for the widget ribbon sometimes displays incorrect information regarding the selected widget.

5.0.11

2022-05-02

Added

  • The KPI widget supports the Show/hide totals, Drillthrough, Filter on and Exclude menu items.
  • Ability to see the full name of measures and hierarchies on mouse over, when it is too long to be entirely visible otherwise.
  • Axis titles switch in the Style editor drawer of charts with axes, allowing to control the visibility of the axis titles.
  • Saved filters menu item under the File menu, allowing to add saved filters to the selected widget.
  • Saved measures menu item under the File menu, allowing to add saved calculated measures to the selected widget.

Fixed

  • Logging out sometimes does not work correctly.
  • "Cannot read property captionPath of undefined" error thrown by tables with measures on rows and a filter on a single member of a hierarchy which is not displayed in the table.
  • Switching back and forth between a chart and a table results in a chart with a single remaining point.
  • Hierarchies flagged as invisible in Atoti Server are unexpectedly visible in Atoti UI.
  • The Drillthrough widget always targets the first cube, even when opened from a widget targeting a different cube.
  • In the Content editor of the Drillthrough widget, the user can only choose from the columns defined in drillthrough.defaultSelectedColumns when this setting is set.
  • The Select all checkbox in the Filter on hierarchy popover does not enable the Apply filter button.

Removed

  • "+" icon from all filters sections in the Content editor and the Filters editor, replaced by the Saved filters menu item (see above).
  • "+" icon from all numeric sections in the Content editor, replaced by the Saved measures menu item (see above).

5.0.10

2022-04-07

Fixed

  • Closing a drawer in the application does not work. The drawer becomes empty and remains open.

5.0.9

2022-04-01

Added

  • Widget filters section added to Content editor of the Drillthrough widget.
  • The Turn on real-time titlebar button can be used on quick filter widgets.
  • Ability to move several dashboards and folders from one folder location to another on the home page.
  • Support for HTTPS when running the Atoti UI starter in dev mode. To enable it, set the HTTPS environment variable to true:
  • Calendar mode added to the Quick filter widget, accessible under the Display as item in the top-right menu of this widget. This new mode allows users to quickly filter a dashboard page on levels of type "TIME".
HTTPS=true yarn start

Changed

  • The amount of whitespace below charts is reduced.
  • Support for connecting to a prerelease version of ActivePivot.

Fixed

  • Running yarn start in the starter opens Atoti at https://localhost:3000 even if the HTTPS environment variable has not been set to true.
  • Folders with long names overflow, in the left bar of the homepage.
  • In the Content Editor, selecting a cube in a catalog other than the first one does not show that cube's content.
  • When opening a dashboard, the initial active page is sometimes not the first one.

5.0.8

2022-03-01

Added

  • configuration.storeEnhancers, allowing extensions to hook into the state of Atoti UI.

  • Ability to move dashboard folders. To move a folder, right click it in the homepage and click Move.

  • Ability to create a secondary Y axis on Line chart, Area chart and Columns and lines chart widgets. To create a secondary Y axis, drag and drop a measure into Secondary values or Line values, in the Content Editor drawer.

  • moveFiles method on ContentClient, allowing to move several files at a time into a different folder on the content server.

  • advanced-extension, an Atoti UI extension, published alongside Atoti and containing all plugins developed by us but not part of the application by default. Namely:

    To activate it, edit the extensions.json file as follows:

      "@activeviam/starter": "extensions\\@activeviam\\starter\\@activeviam\\starter.js",
    + "@activeviam/advanced-extension": "extensions\\@activeviam\\advanced-extension\\@activeviam\\advanced-extension.js"
  • Conditional styles section in the Style editor, allowing to control the background color of cells within table widgets. The styling can be applied conditionally, based on the measure's numerical value.

  • Tooltip containing a selection summary at the top of the Filter on hierarchy popover allowing to quickly view (and deselect) selected members without needing to scroll to them.

  • Calendar tab in the Filter on hierarchy popover, providing filter controls specific to levels of type "TIME".

Changed

  • In the Filter on hierarchy popover, selected nodes are not deselected when the user collapses their parent. This is also the case in the Quick filter widget (when it is in Tree mode).
  • The CellSetSelection that is passed to any MenuItemPlugin for the WidgetPlugins representing tables includes empty cells.
  • Client's url property is public.
  • Data visualization widgets that refer to an unknown ActivePivot server display a list of known servers to switch to.

Fixed

  • Selection of files and folders on the homepage is not cleared when browsing to another folder.
  • The locale is ignored when adjusting the number of decimals of a measure through the Style editor.
  • Lower or greater value filters rounding decimal numbers to the nearest integer.
  • The Content editor fails to recover from errors: if it displays an error at a point in time, then it never stops doing so until the page is reloaded, even when the cause of this error is fixed (for instance when the data model is reloaded or the user selects a different widget).
  • The source map is not generated when running yarn start in the Atoti UI starter after setting the GENERATE_SOURCEMAP environment variable to true.
  • In a single server setup where the first catalog has a single cube, the cubes from the other catalogs are not shown in the cube selector.
  • Hovering on a Radar chart sometimes displays an empty tooltip.

5.0.7

2022-01-21

Changed

  • Search results are displayed as a tree of checkboxes in the Filter on hierarchy popover and in the Quick filter widget (when it is in Tree mode).

Fixed

  • Potential security vulnerability in activeui-scripts build and activeui-sdk-scripts build:host-application.

5.0.6

2021-12-29

Added

  • userQueryContext.isEnabled setting. When set to true, users can create a global query context, which applies to all dashboards they visit.
  • Style Editor drawer, allowing to control the number formatting for the selected widget.
  • Tree mode added to the Quick filter widget, accessible under the Display as item in the top-right menu of this widget.

Fixed

  • The homepage is inaccessible because replaced by a "JSON.parse: unexpected character..." error message, in case of malformed thumbnails.
  • In the homepage, dashboards that were just edited are mistakenly subtitled "You edited 0".
  • Warning icons are not displayed in table cells representing KPI statuses when they should be.
  • Boolean query context entries cannot be removed in the Query context editor.
  • The Filter on hierarchy popover becomes unusable when another hierarchy or level is dropped while it is open.
  • Infinite "Loading data model" error message, in the case of a slow server response.

5.0.5

2021-12-01

Added

Changed

  • Improved loading view for the home page.

Fixed

  • Chart tooltips are sometimes in an incorrect position.
  • After displaying the dashboards as a list in the home page and sorting it, right-clicking in the list opens a context menu targeting the wrong item.
  • In the home page, dashboards selected within a given folder unexpectedly remain selected when browsing into another folder.
  • Error thrown when selected cells are being removed from a table, e.g. when removing a hierarchy.
  • Error thrown when copying and pasting the "Measures" table header cell, when measures are set on rows.
  • MDX errors thrown when calling setFilters with several filters on the same hierarchy.
  • Widget filters in the Content Editor cannot be re-ordered.
  • The Show/Hide totals menu items are unexpectedly unavailable for slicing hierarchies followed by non-slicing ones.
  • The default measure is unexpectedly visible when a pivot table has hierarchies on columns and no measure selected.
  • Some points in radar charts have empty tooltips.
  • Sorted bar charts have unhelpful error message Cannot read properties of undefined (reading 'y') when given an empty query.
  • Rgb and Abs functions unexpectedly marked as invalid in MDX editor.
  • Drillthrough wizard will repeatedly fetch drillthroughHeaders on the ActivePivot server until a change is made to the drillthrough columns.
  • The widget top-right menu fails to close itself when the Duplicate widget menu item is clicked.
  • The "Measures" tile is sometimes missing when the user adds KPI properties to a widget, preventing them from moving them to other sections of the widget's content editor.

5.0.4

2021-10-22

Added

  • The AFilter type accepts an isExclusionFilter property allowing to create filters that "invert" inclusion logic. e.g. If a filter shows the top 3 values, when isExclusionFilter is set to true the filter will show everything except the top 3 values.
  • Support for multiple filters on a same hierarchy.
  • Ability to configure the initial set of columns used when opening a drillthrough table. This can be done with the drillthrough.defaultSelectedColumns setting.
  • pluginMenuItemFilterOnEverythingButSelection, a menu-item plugin allowing to filter a widget and/or its siblings by showing everything except what is selected.

Changed

  • The Edit/Present button at the top right of the application when on a dashboard is renamed to always read "Present" and is highlighted when presenting.
  • Copies of dashboards saved using the Save as... popup are only accessible to the current user by default. If the user has the role ROLE_SHARE, then a "Share" button allows to share this copy and an "Include destination folder permissions" checkbox allows to easily share it with all users with access to the folder in which the copy is being saved.

Fixed

  • Blank screen and "Missing theme. Remember to add <ThemeProvider /> at the top of your application." error in the console when an unhandled rejection occurs.
  • "Hide subtotals" table context menu item incorrectly present on columns representing a member of the last level of the last non-measure hierarchy expressed in the table, when this hierarchy is followed by measures.
  • The "Last editor" and "Last edited" columns in the home page sometimes show incorrect values.
  • Sometimes unable to remove a hierarchy from the content editor if the tile representing all the measures had been removed.
  • A "No plugin of type "widget" was found" error replaces the whole dashboard in case it contains a widget referring to an unregistered widget plugin. With this fix, the error message only replaces the problematic widget while the rest of the dashboard remains usable.

5.0.3

2021-10-05

Added

  • The application menu can be configured by modifying the values of the leftApplicationMenu and rightApplicationMenu attributes in the configuration.
  • The name input is automatically focused when the user creates a new folder from the home page.
  • The "Rename" menu item was added to the folders visible in the home page (in both list and grid layout). It used to only be accessible in the tree on the left of the home page.
  • smartFiltering.ignoredHierarchies setting allowing to ignore some hierarchies from the smart filtering context. It can be used to produce a more user-friendly behavior when the default list of members shown when adding a filter appears as empty or incomplete. This can typically be needed when analysis hierarchies or factless hierarchies are involved in the filtering.
  • setDrillthroughColumns function, allowing to set the columns in an MdxDrillthrough.

Changed

  • When the user adds a new drillthrough table widget plugin to a dashboard, all columns are initially selected instead of none.

Fixed

  • Sorting a stacked charts alphabetically based on the captions on the axis unexpectedly sorts numerically instead.
  • Sorting charts on a time dimension does not work.
  • Smart filtering does not work when the user expands members in the Filter on hierarchy popover.
  • The context menu fails to appear when the user right clicks on a widget. This bug only occurred on widgets displayed outside of a dashboard (for instance in an atoti notebook).
  • An infinite "Loading your dashboard…" message is displayed instead of an error message, when the user:
    • clicks a link to an inexistent dashboard,
    • tries to access a folder she is not allowed to see.
  • A different folder is unexpectedly displayed instead of an error message when the user clicks a link to an inexistent folder.
  • The Content Editor throws when a dimension, hierarchy, or measure is not found in the cube: "The hierarchy was not found in the data model of cube." This is frequently due to them being renamed on the server side.
  • The word "Total" fails to be copied when the user presses Ctrl+C on a pivot table.
  • Widget error message persists even though the error has been fixed.
  • Table static headers show the technical name of the corresponding level instead of its caption.
  • Copying and pasting a table static header yields the corresponding hierarchy name instead of the level caption.
  • The All dashboards section of the Filters Editor is unexpectedly visible when the setting userFilters.areEnabled is not set, or turned to false.

5.0.2

2021-09-03

Added

  • Confirmation message after using the Copy query to clipboard menu item.
  • The application name can be set in the configuration.
  • traverseMdx, a function useful to iterate over an Mdx AST.
  • Multiple folders and dashboards can be selected and deleted at the same time on the home page.

Changed

  • pluginWidgetPivotTable and pluginWidgetTable are lazy-loaded. Only a small chunk of data corresponding to the top-left corner of the table is initially loaded into the client. New chunks of data are then loaded as the user scrolls. You can configure the size of these chunks by updating pluginWidget.lazyLoading.chunkSize, as follows:
    pluginWidgetPivotTable.lazyLoading.chunkSizes = {
    rows: 10000,
    columns: 100
    }
    You can turn off lazy loading for a given widget by deleting pluginWidget.lazyLoading.

Fixed

  • Selecting a folder from the home page search fails to expand this folder's ancestors in the tree on the left.
  • Inability to collapse nested expanded members in a table, logging error: "Uncaught Error: The compound identifier does not represent a member".
  • Inability to collapse an expanded member in a table after expanding another one, logging error: "Uncaught TypeError: Cannot read property elementType of undefined".
  • Nothing happens when clicking the Retry with 30s button, displayed when widgets queries timeout.
  • Endless flooding of ping endpoint when the server is down.
  • Incorrect links in the API documentation when the URL contains a trailing slash.
  • Deleting the current folder in the home page throws an error.
  • Unexpected usage error thrown when using the State Editor drawer.
  • Sorting a pivot table column from a non-leaf header yields a wrong order.

5.0.1

2021-08-04

Added

  • Smart filtering: in the Filter on hierarchy popover, only the members contributing to the view are displayed for selection.
  • Ability to easily create calculated measures. Note that to see this feature, you must set the calculatedMeasures.areEnabled setting to true.
  • Ability to save and reuse calculated measures. Note that to see this feature, you must:
    • Set the calculatedMeasures.areEnabled setting to true.
    • Add the calculated_measures folder and its content and structure subfolders on the content server, under /ui. See how to initialize your content server.
  • State Editor drawer, allowing to view and edit the state of the selected widget. In particular, this drawer can be handy in order to manually update the configuration of charts. Note that this drawer is not part of the Atoti UI starter. To see it, you must add the following to your activate function:
    configuration.drawers.push(drawerStateEditor);

Changed

  • More specific icons in the Widgets drawer.
  • Menu icon on the top left corner of dashboard cards in the home page, hinting that these cards have a context menu.

Fixed

  • Using wrong permissions when creating a thumbnail while updating an existing dashboard.
  • Button to create a dashboard sometimes does not appear on empty folders.
  • Tooltip for disabled move action has incorrect caption.
  • Useless expansion carets are unexpectedly displayed on grand totals in pivot tables after users use the Expand by menu item.
  • Error: [409] An entry already exists at /ui/dashboards/thumbnails/[dashboard-id] when saving a dashboard.
  • The Create new dashboard button sometimes does not appear on empty folders, in the home page.
  • Users are unexpectedly able to create folders under saved widgets.
  • The Copy link button wrongly produces a link to an unexisting dashboard, when the user attempts to share a folder.
  • Empty folders in trees are not sorted correctly.