Version 26.06.2.1
What's new
Control access to projects
A project can now be shared with specific people at a defined level, so it only appears for the users who are meant to work in it. A new Project manager role sits between Developer and Company admin: project managers can create projects and have full control over the projects they own, while Developer, Analyst, and Viewer users see only the projects they have been granted access to. Company admins see every project in their company, superadmins see projects across all companies. Every project has an owner — the user who created it — and the projects list shows both the owner and your own access level for each project.
Access is managed from the projects list through the Manage access action, available to the project owner, company admins, and superadmins. It opens the Project users dialog, which lists everyone who currently has access together with their first name, last name, email address, global role, and project role; the owner and the administrators are always included and cannot be edited or removed. From this dialog you can add several company users at once and give each of them the Developer, Analyst, or Viewer access level, change the level of a user you added earlier, or revoke access. An access level can never exceed the user's global role — a higher level is rejected with "Exceeds global user role". The Change owner action hands the project over to another user with the Project manager, Company admin, or Superadmin role; a previous owner who is a project manager automatically keeps developer access to the project. Access records are copied when a project is cloned, every access change and ownership transfer is written to the Audit log, and the public API applies the same rules — it returns only the projects the key's user can reach and adds endpoints for reading and changing project access and for transferring ownership.
Freeze columns in the RMD tables
You no longer have to scroll sideways to keep an important column in view while working on another one. A right-click on a column header in the Measures, Dimensions, and Facts tables now offers Freeze to this column, which pins every column from the leftmost one up to and including the column under the cursor, and Unfreeze columns, which returns the table to normal horizontal scrolling. Frozen columns stay in place while the rest of the table scrolls, a distinct vertical border marks the freeze boundary, and click, drag, and keyboard selection keep working across that boundary; frozen columns can still be resized, and sorting and search continue to apply to the whole table. Freezing is a display preference available to every role and is set independently for each of the three tables. It is kept for the current session only and resets when the page is reloaded, and the Reset table view action clears it along with column visibility and row and column sizes. Column freeze relies on browser support for scroll-driven animations; in browsers that do not support them the freeze options are not shown.
Faster loading of fact tables and data marts
Screens that work with many measures and dimensions now open noticeably faster. RMD storage has been reworked so that each measure, dimension, and fact is kept as a single record instead of dozens of separate cell records, and the application requests all attributes of a fact table or a data mart in one call instead of one call per attribute. Opening a data mart with 30 attributes is at least three times faster than before, and measure verification, the lineage view, Excel export, file import, project and version cloning, and the public APIs all benefit from the same change. The interface, roles, validation rules, and error messages stay exactly as they were. One behaviour is also better than before: when a text column is converted to a column with a list of values and some existing values do not match any option, those values are now kept as text and flagged for manual reassignment instead of being discarded.
Improvements
- Constant facts are fully usable in formulas: the formula of a constant fact can be a complete expression that references other RMD elements, it is validated as such, and it is resolved before SQL scripts are generated from the formulas that use it (IMP-2757)
Bug fixes
Manage data marts
- Fixed: the position of elements in the configuration area is now preserved when a data mart is cloned (IMP-2646)
Manage fact table details
- Fixed: dimensions that belong to a dimension group but are not part of the fact table are no longer offered in the selection list when creating a filter in the data model (IMP-2507)
- Fixed: the prompt to save changes in a fact table no longer appears when switching between tabs on the "Configuration" screen without editing anything (IMP-2708)
- Fixed: populating fact tables after switching the project or version no longer pulls extra values into the fact table (IMP-2732)
- Fixed: removing the link between a fact or dimension and its database table inside a fact table is no longer undone after clicking the [Save] button (IMP-2751)
Manage lineage and dependencies for elements
- Fixed: changing the selected layers in "View lineage" no longer redraws the entire canvas (IMP-2731)
Manage product data import/export and API
- Fixed: importing into a cleared or already filled version now links formulas to element identifiers (IMP-2748)
- Fixed: import and export no longer break when the server is low on free disk space (IMP-2826)
- Fixed: the public API no longer throttles normal use — the rate limit is now 100 requests per minute instead of 5 (IMP-2882)
Product UI and UX
- Fixed: small tooltips now point at the text they refer to (IMP-2549)
- Fixed: the spacing between buttons and the bottom and right edges of modal windows now matches the product design throughout the application (IMP-2663)
- Fixed: tooltips no longer freeze when adding values to a data mart from the configuration screen (IMP-2705)