Profitbase InVision 2.0 Released!

Hi all,

We’re happy to announce the release of Profitbase InVision 2.0! The primary focus for 2.0 has been porting the End User Client from Silverlight to HTML5. We’ve also added many new features to the platform and enhanced existing functionality.

Business Modules

Loan Portfolio Manager has been ported and enhanced to run on 2.0 and is ready for deployment. Check out the demo here.

The Finance Reference Solution (FRS) is currently in “operational beta”, meaning we’re still adding some nice-to-have features, polishing things up and fixing some bugs. We’ll make a separate announcement for FRS when it reaches its final form, but you can start using it in customer projects now.


The software, including the installers for Loan Portfolio Manager and FRS, can be downloaded from \pbsndfileInstallsD – SoftwareProfitBaseProfitbase InVision2.0Release

NEW FEATURES – End User Client

The End User client has been ported from Silverlight to HTML5. This means that users no longer have to install a plugin to run the application, and that it runs in all browsers including

  • IE10 and IE11
  • Microsoft Edge
  • Chrome
  • Firefox
  • Opera

Additionally, the application starts faster, uses significantly less memory and runs smoother.

NEW FEATURES – Spreadsheets

  • Much faster scrolling and rendering. Having many columns is no longer a problem.
  • Easier and more flexible syntax for writing formulas
  • Faster and more powerful formula engine (Eaze) – 10x faster than version 1
  • Autofill-drag and paste in dropdown primary columns now update secondary columns accordingly
  • Automatically reloads configuration to Workbook during development
  • Dynamic row and cell styling – cell and row appearance changes based on the contents of the spreadsheet
  • Workbook variables can be used in spreadsheet formulas (Worksheets and Settings)
  • Ability to dynamically specify the initial read only state of a column when the spreadsheet configuration is loaded from the server
  • Support for individually specifying the summary function (sum, average, count, min, max, none) for each column when the Summary Row function is enabled


  • New charting component with more flexibility, the same component used by InFront
  • Automatically reloads configuration to Workbook during development
  • Support for raising Workbook events when the user interacts with a chart component, for example when a point is clicked. This raises the new ChartInteractionEvent that can be subscribed to by other Workbook components.
  • In addition to a wide range of built-in formatters, there’s support for custom point, axis and label formatters. Use the new JavaScript Solution object to write custom formatters.


  • New scripting language and runtime used for writing spreadsheet formulas, cell validation, conditional styling and Workbook component interaction expressions.
  • Much faster and more powerful than the scripting engine in version 1
    • Support for logical and equaltity operators in expressions and cell address definitions
    • Support for creating JSON objects and arrays
    • Object member access using “.” and “?. ” (null conditional operator).
    • Support for calling native methods on objects
    • Support for the null coalescing operator “??”


  • New functions
    • IsHostPageActive() – Can be called from an Action to check whether or not the calling component is hosted within the currently active page
    • HasFilterChanged() – Can be called from the LoadData action of Worksheets, Settings and Reports to check whether or not bound filters have changed since the last time data was loaded
    • GetActivePage() – Returns information about the currently active page
    • ExecuteIf(…) – Can be used to conditionally start Progress, SQL Script and Data Flow components, and conditionally execute the LoadData operation of Worksheets, Settings and Reports

NEW FEATURES – Business Logic support

  • Data Context Delegation.
    • Data Context Delegation enables delegating the Data Context information to different columns than those associated with Data Context Slicer Repositories. A use case for Data Context Delegation is when Department is part of the Data Context, and the Spawner is set up to emit transactions from one department to other departments.

NEW FEATURES – Development / Platform

  • Support for creating Workbook plugins (visual and non-visual).
  • Styling and theming using CSS and LESS. Styles are automatically reloaded when they are compiled from the designer if the user runs the Workbook(s) in dev mode.
  • Support for exporting SQL Scripts and View queries with Directive resolution, and import back in with reversed Directive resolution.
  • Support for filtering by type in the Solution Explorer using type:<typename> as the filter condtion, for example : type:view

NEW FEATURES – Development / Tooling

  • InVision Data Migration Tool
    • Desktop application for synchronizing data from one InVision database to another. This tool should be used in the Solution development cycle for sync’ing data from production to development before the development database is pushed to production.
  • InVision Version Tool
    • Tool for upgrading an InVision Solution (database) from one version to the next. This tool will upgrade both the model schema and the metadata.


  • Dynamic filtering of filters using custom parameters in Slice expressions. This feature enables the items in a filter to change based on selected value(s) of some other filter.
  • New RecalAction for Worksheets and Settings which triggers execution of formulas. This action can be used to trigger a recalculation when Workbook variables has been updated outside the formula context, for example by a Form Element.
  • Formula support for Settings
  • Support for setting a minimum width for columns in spreadsheets. The min width applies for auto sized columns, and is useful when the computed column is smaller than what’s actually desired. The default min size of auto sized columns is 70px.
  • CSS Class property for all Workbook components which enables custom styling
  • NZ(…) function converts a NULL value to zero. Using NZ(…) rather than ISNULL(…,0) makes formulas easier to read.
  • tmpl_foreach_operand(…) function together with EVAL enables spreadsheet formulas to be dynamically created and evaluated
  • Localize(…) support for Eaze Workbook component expressions. This feature makes it possible to display dynamically composed text in Labels based on the language settings of the current user. This feature requires that the text code is registered in pbSimLangtext with Type $AppUIResource
  • You can add JavaScript Solution Objects to the solution, enabling you to write custom chart component formatters and event handlers.
  • Option for sending entire data set to the server when Worksheets and Settings are saved.
  • ISNULL and ISNULLORZERO now accepts one or two arguments. Calling the functions with two arguments, makes the functions behave as previously. Calling the functions with one argument, makes them evaluate the expression and return a Boolean value indicating whether the value vas null or zero.
  • Textbox, Drop Down, Workflow and Page Popup now supports displaying a caption.
  • AMORLINC and AMORLINCMTH now supports all calendar types
  • No longer “required” to register the license id in dfdispatche.exe.config

CHANGES – Styling and Theming

  • All styles and themes are defined globally using CSS or LESS, and can be reused throughout the Solution.

CHANGES – Setting Lists

  • TOC list has a default width of 300px. The size can be changed in the properties window.
  • Default height of each list item is 100px. The height can be changed from the properties window when an item is selected.

CHANGES – Spreadsheets

  • .NET format strings are no longer supported. Use numeraljs format strings instead. The most commonly used format strings will be automatically upgraded by running the Model Version Tool.
  • Column styling is specified using the CSS class property.
  • Headers are always centered
  • Columns can no longer be fixed right
  • Fixed left columns must be positioned in the desired order at design time. The same rules apply for stacked leaf level columns.
  • Conditional formatting is still supported, but discouraged due to performance reasons. Set conditional cell styles using formulas and the SetCellStyle function instead.
  • Stacked Columns can no longer be fixed. Column fixing must be applied to leaf level columns.
  • Stacked Column groups cannot contain a combination of fixed and non-fixed columns. All leaf level columns under a Stacked Column header must be either fixed or not fixed.
  • The Stacked Columns configuration must be a balanced tree, meaning all branches must have the same depth, and the leaf level nodes must be the actual spreadsheet columns.
  • New syntax for row styling, SetRowStyle(…). The old syntax is not supported.
  • New syntax for specifying custom rows. The old syntax is no longer supported.
  • All Workbook instructions are renamed. The Model Version Tool will upgrade all expressions that are still supported, and emit warnings for those that need to be manually converted.
  • Previewing a spreadsheet in the designer does no longer reflect how it will appear in the Workbook (look and feel).
  • Supported width types are SizeToContent and Numeric.


  • Data Flow Item Output Fields are now case sensitive
  • Transaction Pipeline Computation Source Columns are now only processed by the components in which they are registered, so the combined column set is no longer processed by every component.


-The InVision Team