Profitbase InVision 4.1 released!

We’re happy to announce that InVision 4.1 (along with Planner 4.1) is released with a lot of new features and improvements!

New features

User management and Permissions Workbook components

This feature enables creating Workbooks for administrators and power users to manage users, user groups and permissions to resources (data access and Workbooks) in the Solution. This means that administrators and power users no longer need to install or use the Designer (developer tool) to manage access to Workbooks and data.

User management and Permissions

Integrated PowerShell support

Built-in PowerShell support lets you create, manage and execute PowerShell scripts directly from InVision without having to deploy and execute them from disk on the server.

We have built-in support for PowerShell Gallery and NuGet, and if you need to use modules from other sources, you can easily do that as well.

Because the PowerShell scripts are executed by InVision and not an external process, you get access to InVision APIs and resources such as Directives and SQL Execution Services that makes it easy to use PowerShell as a tool to define custom business logic and automate processes in InVision.


New Homepage design with Grouping support

We have changed the design of the Homepage and added support for grouping of Workbooks so that Workbooks that belong to the same business processes can be grouped together. The Homepage now works better when there are many Workbooks, and it scales better to different screen sizes and form factors.


Workbook Quick Navigation Menu

We added a (sidebar) navigation menu to Workbooks so that you can quickly navigate between Workbooks without having to go to the Homepage. The grouping, captions and icons in the menu comes from the Homepage configuration.
InVision 5 will have support for defining Workbook Menus that has their own configurations instead of relying on the Homepage configuration.

Workbook menu

Homepage configuration included in Package

The Homepage configuration is now included as part of Packages, so that when business modules are deployed, the original Homepage configuration from the export is restored at the deployment site.

Custom images are included in Package Deployment

We now include custom images in Packages so that business modules can be restored without having to manually import custom images afterwards.

Form Schema – support for DataChangeHandler to listen for changes to objects in arrays (SetModels)

Previously, if you wanted to listen for changes to specific properties in array items, for example array items in a custom Model or items in a in a SetModel, there was no easy way to do this. You could set up a listener binding {Binding Path:Model.*}, but you could not distinguish between an array item and a property directly on the model so you did not know what object the change happened to – an array item or the Model itself.

The following example will listen for changes to all properties of all items the OrderLines array.

<DataChangeHandler Value="{Binding Path:Order.OrderLines.*.*}"> do something </DataChangeEventHandler>

New Directives

The following new user info directives has been added, and can be used wherever @CurrentUserName currently can be used (SQL Scripts, custom queries, SQL reports, etc)

  • @CurrentUserUID returns the ID or the user account from the identity provider (Windows or Azure AD) that is currently logged in. If the system is set up to use Windows AD, the SID will be returned. If the system is set up to use Azure AD, the OID will be returned.
  • @CurrentUserFullName returns the full name (first and last name) of the logged in user.
  • @CurrentUserEMail returns the email of the currently logged in user.


SELECT '@CurrentUserUID' AS UserUID, '@CurrentUserFullName' AS UserFullName, '@CurrentUserEMail' AS Email

Misc changes

Changed font
We have changed the font from Segoe UI to Roboto. This change should not cause any problems, but it’s always a good idea to check your custom screens to ensure they still look good.

New look for Popups
We have increased the height of the header bar and font size and added rounded corners to make the Popup look better.

Popup style


Spreadsheet (Worksheet, Sql Report and Table) – Raise events from custom cell renderer.

This feature makes it possible to raise events from custom cell renderers so that actions performed by users (for example clicking a button or link) can be acted upon in the Workbook.

Checkout Objects in the Designer

If you have a Solution Object open for edit when performing a checkout, we now automatically reload the configuration to ensure that you get the latest server version. Note that any changes you have made before checkout is discarded.

Simplify Azure AD redirect URI handling

#183 This enhancement makes it easier to set up the correct redirect URI in the Azure App Registration because the application will always use a lowercase redirect URI, not the casing entered by the user.

Add collapse() API to Form Schema controls

#137 The collapse API makes it possible to hide a Form Schema control and NOT have it take up any space in the DOM. The current hide() API hides the control, but does not collapse the space occupied by the control.

Db object references in Data Flow Activity arguments will be set during Package Deployment

#123 This feature enables Solution Developers to use Table parameters instead of Value parameters to pass database object names as parameters to Data Flow Items. By specifying a parameter as a Table parameter, Solution Developers can use the Table Picker instead of the @Object[…].DbObjectName directive to specify the database object name to pass as an argument.

Form Schema – added raiseCustomEvent() API

This API replaces the current raiseWorkbookComponentEvent(…) API which raises the Custom event on the Form Schema component. raiseWorkbookComponentEvent(…) is still supported, but should be considered obsolete. The reason for this change is not a functional one, but rather for naming consistency between the APIs in the Workbook – it makes sense that the raiseCustomEvent(…) raises the Custom event.

Form Schema – make it easier to style Label using the global styling system

The Form Schema Label had a default system style applied that was hard to override from a Stylesheet style because of a high CSS specificity. We changed the default CSS rule to make it easy to apply a custom CSS style from a StyleSheet instead of having to use the !important property or other “hacks” to get the CSS style to apply if it was defined outside the Form Schema CSS style.

Bug fixes

#193 @Language directive is not evaluated in SQL Script

#180 Form schema CSS classes registered multiple times

#165 Handle format strings with 0 decimals correctly

#163 Linked Dimensions cannot be applied

#162 Hover effect for Filter items

#160 Export spreadsheet with undefined name to Excel

#159 Spreadsheet filter did not display when hosted in popup

#157 Form Schema Init Event runs multiple times

#156 Designer Azure AD Login cache pr user

#149 Dropdown text cropped

#145 Enable data binding for Form Schema Input Disabled property

#144 Form Schema Input control did allow entering 0 or negative values

#141 Designer crash when trying to use a view that has not been materialized as a Filter source

#132 Duplicate summary rows in spreadsheets

#131 Workbook Page Navigated To event is not raised if page is already open

#127 Designer crashes when Data Store with ghost references are opened

#126 Data Store reload fails when comments are enabled on columns

#94 Spreadsheet validation warning is treated as validation error

#29 Typing letters into numeric spreadsheet cells causes freeze

#17 Add column name validation to spreadsheet dropdown configuration

#28 Do not try to save Form Schema Models when no source or SaveQuery is defined

#50 Table List Data Modified event is not raised

#51 Issue with compiling ranked input tables when columns have been removed from referenced dimensions

Internal: Options dialog can be opened multiple times. This bug let the user open multiple instances of the Workbook Options dialog.

Internal: Listbox and Checkbox Select All and Clear buttons should affect the items visible in the list (from search criteria), not all items in the filter.