Profitbase InVision 4 Released!

We’re happy to announce the release of Profitbase InVision 4.0!

For InVision 4.0 we’ve made a significant effort in moving from .NET Framework to .NET Core on the backend, and from AngularJS to React on the frontend. 
We made these changes in order to ensure that we can continue to innovative and deliver the best possible products and features to our customers and partners on the most modern and flexible technology stack that will stay with us for years to come.

Installing InVision 4.0

To install InVision 4.0 on your local PC or on a server / VM, you need to do the following

  1. Contact Profitbase to get a license id.
  2. Make sure you have PowerShell 5.1 and IIS .Net core hosting bundle installed.
  3. Download and install Profitbase Installation Manager 4. 
  4. Follow the instructions in the installation guide or view this video

You can download Profitbase Installation Manager 4 from here or run the following Powershell command
Invoke-WebRequest -Uri “ v4.0.0.0.exe” -Outfile “ProfitbaseInstallationManager v4.0.0.0.exe”; Start-Process ("ProfitbaseInstallationManager v4.0.0.0.exe") 

Upgrading to InVision 4

Because we’ve moved to a new technology platform, you cannot automatically upgrade to InVision 4.0 from previous versions just by clicking the “Upgrade” button in the installer. Depending on which features you have used in your Solution(s), there are a few manual steps involved.

Read the detailed steps about how to upgrade to InVision 4 here.

New features

The focus for this release has been on moving to a new, modern technology platform. We have, however, found the time to add a few new features to please y’all.

Time Dimension

We’ve added support for creating and managing Time Dimensions directly in InVision without having to use Profitbase Studio.

Monitoring and diagnostics through Application Insights

We’ve added support for sending telemetry information to Application Insights to enable IT departments to include InVision in their standard operations and monitoring tools and processes.
This feature is enabled by default, and sends telemetry information to Profitbase unless you change the instrumentation key during installation or manually at a later point by editing the appsettings.json configuration files.

Change Workbook Title dynamically

You an now dynamically change the Workbook Title at any time after the Workbook has been loaded by calling the SetWorkbookTitle(…) command in Execute actions on the Workbook object.

Bug fixes

Version 4 contains more than 50 bug fixes from version 3. Many of them were reported through our support site / user forum, and we appreciate all feedback that help us improve the product.

Here’s a list of all bug fixes reported through the support site that were fixed in version 4.

What’s next

Now’s where the fun begins! The last year+ has been spent on porting our entire software platform from “legacy” to a modern technology stack. This has prevented us from delivering new features and capabilities to partners and customers that help them unleash business value faster. For the next year, we’ve lined up a range of exiting new features that we know will provide great value and help you exceed your customers expectations.

– The R&D Team


Profitbase InVision 3.0 Released!

After a long wait, we’re happy to announce the release of InVision 3.0! As you can see below, we’ve been busy adding new features to the platform and improving what’s already there. Creating the new Designer has been a major effort, but the new platform opens up new possibilities that we plan to take full advantage of in the future. Please read the entire blog post to discover the new and enhanced capabilities of the platform, and make sure to read the upgrade instructions carefully. Hope you like what we’ve done!

Continue reading

Profitbase InVision Access Control

Profitbase InVision Access Control is a module that provides a workbook for managing user mapping to roles with access to solution items and data items.

1        Functions, limitations and recommendations

The concept for access control in Profitbase Invision are based on roles: Roles can be solution or data roles with access to solution items and data items respectively. By associating users with one or more roles the user will get access to the solution and data items that the role(s) got access to.

Access Control module covers the following functions related to manage user access for InVision Solutions:

  • Add and remove users
  • Add and remove user access to roles

What is not covered by this solution and hence needs to be managed using the built-in functions in Profitbase InVision Designer:

  • Create new and remove roles
  • Add and remove role access to solution items such as workbooks
  • Add and remove role access to data items such as an organization hierarchy

Each installation needs to be set up with solution roles and data roles such that:

  • Solutions roles exists with access to Workbooks
  • Data roles exists with access to data items

It is strongly recommended to separate roles in solution roles and data roles because these are independent. The only exception to this is typical administrator groups that will have access to “everything”.

This way there will be a conscious granularity for the solution items and data items that is required when setting access. It is recommended to create a solution role for each Workbook and a role for a sufficient set of data items – items in an organizational hierarchy. This solution is anticipating elements from one hierarchy.

2        Using Access Control

Here is a few typical tasks involved with managing user access.

The picture below shows the main screen for managing access. The left is a filter to select users. Selected Users will appear under the Show Users. Likewise, there is a filter for selecting roles where selected roles will be listed in Show Roles.

When selecting roles with users selected a role count will be updated to show the number of roles that the use has access to of the selected roles.

To the far right you can see the details on which access is set for the selected roles.

In the middle there is a column with buttons:

Show Users Selected Only – this will ensure that only selected users will be present in “Show Users” table

Show Users with Access to Selected Roles – this will show the users that have access to the roles selected. This button and the button above will toggle the content in Show Users between selected users only and users with access to selected roles.

The next pair of buttons toggles which roles are shown in Show Roles.
Show Roles Selected Only – shows only the roles selected in the tick-box filter.
Show roles for Selected Users – shows the roles that the selected users have access to.

Set Access for Selected Users and Roles – this will create the mapping between selected users and selected roles. This mapping is what will provide the selected users access to the solution and data items that the selected roles got access to.

Remove Access for Selected Users and Roles – this will remove the mapping between selected users and selected roles.

Note: Access is changed only for users and roles that are selected by “ticking” the users and roles in their respective filters. This is not necessarily the same set shown in “Show Users” and “Show Roles”.

Publish – this will deploy all access changes done in Access Control.

Note: Access changes will not have any effect until Publish is completed.

Add / Remove Users – this is the place to add new users and remove users. When removing users, the role mapping will also be removed.

Below is a description of some central workflows to users access management.

Add a new user:

  1. Click Add / Remove Users to bring up the popup where you can add users
  2. Right-click and select “Insert row” and fill in as shown below
  3. Save any changes (also when deleting users)
  4. Close and Reload Users for new users to appear in the filter to the left.

Note: The content in UserID column is critical be get correct and depend on which solution is used for authenticating users: Azure Active Directory or Active Directory (AD). In case of AD the UserID must be the SID (looks like: S-1-5-21-839522115-920026266-725395543-3303). If it is Azure AD it is likely to be the UPN (Unique Principal Name) which often is equal to the email address. This is however configurable for each installation. Getting this wrong will cause users to not get access.

Set (and remove) access:

  1. Select the user(s) to get access
  2. Select the role(s)
  3. Push “Set Access for Selected Users and Roles”. This will present a confirmation popup for you to inspect the settings before confirming or canceling the operation. The table will also show is the role is providing access to data and/or solution items. You will also be able to see if the user(s) already got access through the role.
  4. Push “Confirm” for the access changes to be saved to Access Control. Use Cancel or the X to close the popup.
  5. Publish the access changes to the system for changes to be effective. During publishing, notifications on progress will be posted to your screen and buttons will be disabled during the process.

Removing access is performed the same way except that you use the button: “Remove Access for Selected Users and Roles”.

Note: Setting access to users that already have access will not do any harm but will be ignored. Likewise removing access for non-existing access will have no effect.

The page titled “Show Access” will help you to investigate which users has access to selected solution and data items. For example, selecting the Finance Reports workbook will show the users and which roles have access (see picture below).

Similar for data items when selecting the department “Bergen”, the Users, roles and accesss rule will show.

Access Control should be helpful managing user access. Please contact Profitbase if you need more help.

Remember that if you find that there are solution items or data items missing due to lack of roles, these are easily added using the designer. Profitbase should be consulted to ensure that such changes does not conflict with existing set of roles being used.

InVision 2.7.0 released!

InVision 2.7 marks the beginning of a series of releases that will focus on making the platform cloud native. Although InVision runs fine in the cloud today, we can do even better. We aim to integrate closer with cloud platforms  and services, and utilize cloud features smarter to provide better solutions to our customers. It is important to note that even though we’ll focus on cloud platform features, we will still support on-premise solutions 100%, and all features will be available on both configurations.
As a side note, this release contains 11 new features and 7 fixes or enhancements 🙂

Continue reading

InVision 2.6.1 released!

InVision 2.6.1 introduces 23 new features and enhancements. The most interesting new feature in this release is probably the support for macros in SQL Reports and SQL Scripts. Macros enables you to use C# to dynamically generate SQL queries at runtime, before they are executed. You no longer need to concat a string using SQL and then execute it using sp_executesql. For details about how to use macros, you should read this blog post, which goes into details on the subject.

Continue reading

Macros in InVision

Macros can be used in Reports and SQL Scripts to dynamically create and execute SQL queries at runtime without using SQL string concatenation to construct them and sp_executesql for execution. Macros are written in C#, which offers great flexibility for creating both simple and very complex macros.

Continue reading

InVision 2.6 Released

Hello world! The focus for version 2.6 has been about improving filtering capabilities and adding support Form Schemas, which provides a new way to build complex data entry forms.

Form Schemas enable you to quickly create complex data entry forms. While it is possible to create forms in previous versions of InVision, it is inflexible and too time consuming because each Form Element is an isolated entity with its own load, save and validation logic. With Form Schemas, you can create complex forms with automatic data persistence, validation, custom calculations and business logic, styling and layout. Form Schemas are displayed in Workbooks, and have actions and events like all other Workbook component.

Continue reading