Initializing help system before first use

Xpress Insight 4 Release Notes

New in Release 4.54.1

Back to top
  • New Scenario Manager replaces the Scenario Explorer for repository management operations. Improvements include:
    • Multi-item actions. Multiple scenarios and folders can be selected and cloned/moved/deleted/shared/owned. Multiple scenarios can be added to the shelf and removed from the shelf in a single action.
    • Progress dialog with success/error counts for multi-item actions.
    • Folder tree for current folder navigation.
    • Sortable items listing with global search.
    • Scenario type is displayed in the items listing. For more information see section on custom scenario types below.
    • Keyboard shortcuts.
    • Clear shelf option to remove all scenarios from the shelf.
  • Workflow integration with FICO Decision Central for asset approval workflows
    • Integration with on premises Decision Central version 7.2 and later is supported.
    • Mapping of an Insight app to Decision Central workspace can be configured by an administrator with SYS_SERVER authority.
    • A Decision Central workflow process can be initiated for a scenario and the scenario mapped to a Decision Central asset.
    • Scenarios placed under workflow are automatically relocated to system managed folders for active, approved, rejected and failed approval state.
    • A "My Tasks" link on the masthead will take the user to their open tasks list in Decision Central. A badge next this link shows the current number of open tasks for the user.
    • The workflow process name, category and current stage can be observed and queried by an Insight custom view.
    • An Insight custom view can have buttons to initiate and terminate a workflow.
    • On workflow initiation for a scenario, a single file attachment tagged with a "workflow_asset" tag will be uploaded as a file attachment to the associated Decision Central asset.
  • Fix: VDL Action <vdl-action-attachment-upload> wasn't honouring app scope.
  • Upgraded to the latest Xpress 8.11.
  • Database upgrade to PostgreSQL 11.8.
    • Database upgrade is performed automatically during installation on Windows. On Linux the migration steps in the Xpress Insight Installation Guide must be followed.
    • Database upgrade will upgrade a database from Insight 4.7.2 or later. Insight 4.7.1 or earlier must be upgraded to Insight 4.53.4 before upgrading to 4.54 or later.
  • Tableau 2020.1 and 2020.2 support
    • Tableau 2020.2 is the recommended Tableau version for Insight 4.54.1. As per Tableau support policy, we no longer support Tableau versions 10.5 and earlier.
    • The Tableau Dynamic parameters feature, introduced in Tableau 2020.1, is not compatible with Insight reporting.
    • Note with Tableau 2020.2 the way data sources are created using Tableau Desktop has significantly changed. Please see the latest Tableau Desktop documentation for more details.
  • Support for additional Mosel types
    • Any Mosel module type that has tostring and fromstring operators can be marshalled to the Insight string type and managed as string entities in the scenario data e.g.!@insight.marshal.types text string !@insight.marshal.types datetime string
    • The marshalling can be defined per type as above, or per entity e.g.public declarations !@insight.marshal.value string t2: array(range) of text end-declarations
    • Where used in a set, the set must be declared as containing constant e.g. 'set of constant datetime'
    • For date, time and datetime types the default datetime format is used and is not configurable.
  • Companion file version 3.1 adds support for defining custom scenario types which the end user can pick from when creating a new scenario.
    • A custom scenario type has a configurable display name and can optionally provide alternative scenario pill icons.
    • Custom logic in the Mosel scenario code and custom view code can be conditional on the type of the scenario, allowing for different behaviours per scenario type.
    • The user interface actions available for the end user to perform on a scenario can be customized per scenario type. All UI actions can be disabled to create a scenario type that can only be instantiated programmatically.
    • The display name and available UI actions of the default scenario type can be customized.
  • Python Interface v1.1.1
    • Improved error message when Insight cannot start Python because of security restrictions.
    • Minor updates to documentation and examples.
  • Cloud enhancements
    • An Insight scenario can invoke a Data Pipelines job when deployed on the Decision Management Platform.
    • An Insight scenario can invoke the API of the Analytic Data Mart when deployed on the Decision Management Platform.

Fixed in Release 4.53.4

Back to top
General
  • Xpress 8.10 support
  • Cloud only - Insight mirror table improvements to aid query Tableau query performance
Cloud only
  • Sets and arrays of strings are now represented as column type of varchar instead of text in the mirror database for improved Tableau reporting performance. The length of these strings is now truncated:

    • to 1024 characters for 0-15 arrays + set indexes of type string in a mirror table.
    • to 512 characters for 16-30 arrays + set indexes of type string in a mirror table.
    • to 150 characters for >30 arrays + set indexes of type string in a mirror table.
  • An additional composite table index of scenario_id and all string index set columns in the mirror table is now created automatically for tables which have 7 or fewer string index sets, for improved Tableau reporting performance.

Fixed in Release 4.53.1

Back to top
  • General
    • The missing functions update and reset_progress have been added to the Insight Python interface.
    • Changed Python standard output to unbuffered mode to improve responsiveness of output messages.
    • Issue with Insight Mosel function insightdispatch not correctly detecting execution mode to procedures mapping has been fixed.
    • Insight Mosel function insightpopulate now logs an information message instead of exiting with an error when used outside of the Insight application.
  • VDL 4.7
    • An issue with buttons not reverting to the unclicked style after being clicked has been fixed.

New in Release 4.53.0

Back to top
  • General
    • New VDL and JS API 4.7 versions.
    • New mminsight functions for querying the app schema and setting entity values by string name.
    • Windows Server 2019 has been added to the list of supported platforms.
    • Tableau 2019.4 support
      • Tableau 2019.4 is the recommended Tableau version for Insight 4.53.
      • As per Tableau support policy, we no longer support Tableau versions 10.4 and earlier.
  • VDL 4.7
    • New vdl-set-sorter component. This allows you to configure the sort order of Set entities used in the view. You can specify either a built-in comparator, a JavaScript array of ordered values or a custom comparator function. You can also set the sort direction.
    • The following components honor the new set sorters: vdl-chart, vdl-table and options-sets used in forms or editable cells. The index columns will be sorted using either custom sorters defined within a view or default sorting based on the set entity data type.
    • New disable-set-sorting attribute for vdl-table-column and vdl-chart-series to allow the new set sorting behaviour to be disabled on a per- column/series basis. This allows the additional data sorting to be bypassed for large datasets where performance may be affected.
    • New VDL Action tags that allow chains of operations to be defined and linked to user interface events. These new tags should eliminate the need to do custom JavaScript coding for many use cases.
      • vdl-action-group tag is a container for a sequence of one or more VDL Actions and gives the group of actions a reference that can be used in vdl-event attributes.
      • vdl-action tag enables an expression or JavaScript function to be called.
      • vdl-action-message tag shows a toast message.
      • vdl-action-confirm tag triggers a confirmation dialog to be shown to the user and waits for the user's response before proceeding.
      • vdl-action-set-var tag enables a VDL variable to be set.
      • vdl-action-execute tag executes a scenario with a specified execution mode.
      • vdl-action-update-entity and vdl-action-remove-entity tags enable entity values to be set or removed.
      • vdl-action-attachment-* tags enable create, update, edit, edit properties, download and manage actions on attachments.
    • vdl-field no longer requires an entity or parameter to be bound to it. In addition there is a new attribute, value, that can be specified to provide an initial value for an unbound field. An unbound field can be useful to enable functionality within the view that doesn't directly modify the model, such as index or row filters on tables and charts.
    • vdl-field, when displaying as an options dropdown, uses a new component that enables searching and multi-select.
    • New vdl-button is a button that can be used to trigger VDL actions on a click event. A value can be supplied to be passed into the vdl-action-group.
    • New vdl-header tag. This tag is used as a container for any vdl elements that are not part of the page layout or VDL component configuration.
    • Deprecated the vdl-if-results attribute. Use vdl-if="=scenario.summaryData.hasResultData" as a replacement. You can also use vdl-if="=!scenario.summaryData.hasResultData" to provide an alternative section of VDL if there is no result data.
  • JS API 4.7
    • All set data loaded into a view is now sorted by default using one of the new build-in comparators. This is based on the element type of the Set entity.
    • Added the set comparator API, insight.addSetComparator. This replaces the insight.addSetSorter API. It accepts either a JavaScript comparator function, an ordered array of values or the enum of a built-in set comparator.
    • Added built-in set comparators defined as enums in insight.enums.Comparators. The comparators are: NUMERIC, STRING, BOOLEAN, MONTHS, DAYS.
    • Added sortKeys argument to InsightArray#toObjectArray. This allows you to call toObjectArray and specify whether the keys should be sorted. It will use any defined set comparators or fallback to sorting based on the index set data types.
    • Added optional parameter disableSetSorting to the AutoTable column configuration object.
    • Deprecated the set sorter API, insight.addSetSorter. This API will still work but any usage should be migrated to the new insight.addSetComparator API.
  • mminsight API
    • New function insightgetschema to get the list of the entities in the schema of the app.
    • New package 'xreflect' provides reflection methods for setting entities by string name. For more information see the Xpress Insight Mosel reference document.
    • New procedure insightdispatch invokes the procedure that has been associated with the current execution mode.
    • New procedure insightpopulate(baseidorpath:string) initializes the scenario schema entities with the input data of a different scenario.
    • New parameter insight_capture_inputs which controls how input data is captured after load and run type execution modes.
    • The following annotations, relating to features that are no longer supported, have been removed from the interface:
      • insight.defaultsort
      • insight.descr
      • insight.editors.tree.enable
      • insight.transform.labels.sortby
      • insight.unit
      • insight.units
      • insight.units.*

Fixed in Release 4.53.0

Back to top
  • LDAP
    • Added ability to configure ldap timeout to improve feedback from Insight when LDAP connection is unreliable. Two new properties can be configured in standalone.xml: com.fico.xpress.insight.ldap.connect.timeout (default 30s) and com.fico.xpress.insight.ldap.read.timeout (default 30s).
  • VDL 4.7
    • attributes now honour their expression setting in the metadata and will only be dynamic if expressly defined as such.
    • vdl-event attribute now quotes the event name to cope with events that have dashes.

New in Release 4.52.2

Back to top
  • General
    • Windows 7, Windows Server 2008 and 2008 R2 are no longer supported platforms.
  • Security
    • Attachment file extensions are now validated against a blacklist of extensions that are considered potentially harmful to an end user's computer. An error message will be shown if an attachment with a blacklisted extension is either uploaded or downloaded. If a blacklisted attachment is accessed or created during model execution it will cause the execution to complete with errors and write an error message into the run log. The blacklist of file extensions can be customized in the server standalone.xml by setting the property com.fico.xpress.insight.FileExtensionBlackList to a comma-separated list of extensions. See the Insight Installation Guide for a list of the default blacklisted file extensions.
    • An Insight installation can now be configured with its hostname to protect against host header attacks. See the "Securing Xpress Insight" section of the installation guide for more information.

Fixed in Release 4.52.2

Back to top
  • VDL 4.6
    • vdl-table content which extends beyond the width of the parent vdl-column is now correctly truncated.

New in Release 4.52.0

Back to top
  • VDL & JS APIs 4.6
    • Important. A number of 3rd party libraries included by the VDL/JS APIs have been updated to include the latest available security fixes. The latest version of the LoDash library is not fully backwards compatible with previous versions. Custom view developers who have coded against the LoDash library shipped with Insight are advised to re-test their view. This impacts existings 4.0, 4.1, 4.5 and 4.6 APIs.
    • The release notes for LoDash 4.0 are available here: LoDash 4.x release notes
    • VDL/JS API 3.x and earlier versions are now deprecated. It is recommended that views are updated to use the latest VDL/JS API versions to benefit from the most recent security improvements
  • Attachment tree editor
    • Updated user interface. Note: The tree editor now requires a license. Please contact FICO on how to license and enable this feature.
    • New features include support for percentage split, extended list of export formats.
  • Tableau 2019.2 and 2019.3 support
    • Tableau 2019.3 is the recommended Tableau version for Insight 4.52.
    • As per Tableau support policy, we no longer support Tableau versions 10.3 and earlier.

Fixed in Release 4.52.0

Back to top
  • VDL 4.6
    • Added missing VDL expression object scenario.summaryData to allow access to ScenarioSummaryData properties.
  • VDL 4.5+
    • Fixed a rendering issue with VDL Table and JS API AutoTable that would cause the table header to be misaligned with the table body when updating the app or when using column filters. The scrollable table extension is only supported in Chrome and Firefox.

New in Release 4.51.0

Back to top
  • General
    • Execution modes that do not invoke the Xpress solver no longer require and consume an Xpress solver license.
    • Attachment size limit increased from 150MB to 300MB.
    • New VDL and JS API 4.6 versions.
    • Insight no longer dictates the strategy for the order in which variables are loaded into the solver. The default Mosel ordering is now used. This may affect the solve path for some models. To restore solver behaviour for affected models, the model should set parameter "XPRS_COLORDER" to 2.
  • VDL 4.6
    • Strict rules for content layout are now enforced to align with View Designer and provide predictable view layouts.
    • vdl-page, vdl-section, vdl-column now consistently stack content vertically.
    • New vdl-container flows inline elements (text, buttons, images etc.) horizontally and wraps at right hand edge.
    • vdl-column hides content that is too wide to fit the column width
    • Strict rules for which vdl tags are valid children/descendents of a vdl tag to align with View Designer
  • JS API 4.6
    • Added View#replaceSelection. This can be used to ignore the scenario selection on the shelf and use an alternative set of scenarios within the view. Must be called before the view is initialized.

Fixed in Release 4.50.1

Back to top
  • insightcmd utility fails to import / export apps and repositories
  • vdl-charts have incorrect size following app upgrade

New in Release 4.50.0

Back to top
  • Mosel 5 and Xpress 8.6 support
    • Support for new Mosel 5 models
    • mminsight is now a dynamic package
    • Existing apps must be recompiled in Mosel 5, execution of Mosel 4 models is no longer supported
    • Apps requiring an upgrade are highlighted on the Insight home page
    • See migration guide for further details.
  • Java 11
    • Xpress Insight now requires Java 11, Java 8 is no longer supported
    • Xpress Insight supports OpenJDK 11 and Oracle Java 11
    • Xpress Insight installers configure the mosjvm module to use Java 11, see xpressmp/bin/xprmsrv.cfg
    • Server updated to use WildFly 15 for Java 11 compatibility
    • Installation guide updated with steps to configure https and password obfuscation in WildFly 15
  • Java execution from Mosel
    • Execution Worker installation configures Mosel to use Java 11 for Java execution, see xpressmp/bin/xprmsrv.cfg
    • Default configuration no longer restricts Java execution by package name. User supplied java code executes in the security manager sandbox.
  • LDAP full integration mode
    • LDAP integration can now optionally be configured so that users are created or updated based on their LDAP records during logon.
    • Users are granted access to Insight and Tableau by defining LDAP groups which indicate access should be granted. Users attempting to access insight are checked for membership of these groups during logon.
    • Authority Groups and Applications can be mapped to LDAP groups. Users which are members of the LDAP groups are granted the corresponding Authority Groups and app membership on logon.
    • On the users page, clicking the 'UPDATE FROM LDAP' button will update the user details, app and group membership for all of the non local users. Individual, non-local users can be updated individually by clicking on the link for the user to view their details and then clicking on the 'UPDATE FROM LDAP' button on the displayed page.
    • No impact on existing installations using LDAP. Integration defaults to partial mode which is backwards compatible (authentication only).
    • See the updated Insight Administrator Guide for details on how to configure LDAP.
  • Tableau 2018.3 and 2019.1 support
    • Tableau 2019.1 is the recommended Tableau version for Insight 4.50.
    • As per Tableau support policy, we no longer support Tableau versions 10.1 and earlier.
  • User administration rights are no longer required to manage execution workers or system configuration.
  • VDL 4.5
    • Project references renamed to App
  • Database server upgraded to PostgreSQL 9.5.16 on Windows. The Insight Installation guide for Linux gives details on how to install the latest PostgreSQL 9.5 release.

Fixed in Release 4.50.0

Back to top
  • Progress spinner sometimes overlays the scenario properties dialog.
  • App Upgrade slow when entity is deleted from model and the app contains many scenarios.
  • System error when App Upgrade performed on app containing a scenario which has failed to load.
  • Intermittent issues causing App Upgrade spinner to either fail to appear to fail to disappear.

New in Release 4.12.1

Back to top
  • Decision tree editor
    • Decision tree editor includes weighted columns by default in profile view when data uses a sample weighting.
    • Minor UI improvements including best split action when right clicking a node and some changes to the split dialog.

Fixed in Release 4.12.1

Back to top
  • Decision tree editor
    • Decision tree editor "Download as FSML" action incorrectly downloading FSML 2.0. Downloads are now FSML 2.5.
    • Profile, leaf and treatments views now remember column customizations when the user switches between views within the same editor session.
  • Refreshing the browser caused the execution status of scenarios to be lost. This could cause users to think they could interact with the views for those scenarios even though the scenario was still locked. The execution status of scenarios is now re-instated correctly when the browser is refreshed.
  • The text attachment editor was incorrectly enabled for files with .adb extension. It is now no longer available for files with this extension.

New in Release 4.12.0

Back to top
  • Xpress Insight
    • Log out inactive user
    • Test harness for field solutions
  • Mosel
    • Allow user defined Java code to be called from Mosel
    • Module for calling components and DMP Manager
    • Executor module support for >1 hour runs
  • Tableau
    • Tableau 2018.2 support
    • Tableau Global Filters changed to handle Tableau sending change events for Dashboard worksheets that do not use the filter that has changed.

Fixed in Release 4.12.0

Back to top
  • DO Project Import fails to upgrade scenario parameters
  • DO Project Upgrade fails on 4.12
  • Unable to edit worker which has a jobCapacity > 32
  • Component logout returns 500 server response and does not log out
  • Tableau Global Filters are not being stored properly with mixed data sources
  • Incorporate rest-client-example into the dev guide 4.12
  • Importing a scenario results in parameters being reset to default values
  • It is possible to delete a worker on a DMP component
  • views appear in vertical order when user navigate to Job-queue and come back on app page.
  • dmp-rest-test, need to add body in header to connect to component on dmp
  • Concurrent scenario completion can fail with errors while capturing attachments when using MySQL
  • VDL Table - Setting column-filter=true should not show table filter
  • VDL Table - column filter doesn't filter values when table configuration has show-filter="false"
  • Logging in to webadmin sometimes fails with an UnknownSessionException stacktrace

New in Release 4.11.3

Back to top
  • Web Client
    • File Attachments dialog now shows the user's full name instead of their username.

New in Release 4.11.2

Back to top
  • General
    • Xpress Insight is now available for use with the FICO Xpress Community License. This license grants perpetual rights to use the Insight software for both academic and commercial purposes. The following restrictions apply:
      • Limited to one administrator user account with fixed authorities
      • Limited to one local execution worker
      • No support for Tableau integration
      • No support for LDAP/AD integration
      • Login is restricted to local browser access, no remote access.
      For more information go here: http://subscribe.fico.com/xpress-optimization-community-license
  • Tableau
    • Support for Tableau 2018.1
  • Web Client
    • Jobs now can be cancelled by a user with SYS_SERVICES authority.
    • Decision Tree editor now supports enum type predictors.
  • Web Admin
    • The Tableau User Status report has been updated to indicate when the Tableau username stored in Insight differs in case with the username stored in Tableau. This is important where a user filter has been added to the data source(s) defined in the Tableau workbook(s).
    • When LDAP is enabled and Insight manages the Tableau users, the Tableau username stored against the user will be the username obtained from LDAP or AD rather then the username entered when creating the user. When in this mode of operation, editing the user will automatically update this information for that user, clicking on the UPDATE FROM LDAP button on the users page will update all users. When LDAP is enabled and Tableau users are managed manually, then the administrator will have to manually edit each user.

New in Release 4.11.1

Back to top
  • Web Client
    • If a user can only access one app, and has none of the authorities listed below, they will automatically be taken to that app's page on login, and the HOME link in the web client will be hidden:
      • APP_DELETE
      • APP_EDIT
      • APP_IMPORT
      • APP_NEW
      • DEVELOPER
      • SYS_IMPORTEXPORT
      (Previously this only applied to the APP_NEW authority.)

New in Release 4.11.0

Back to top
  • Decision Tree editor
    • Can now create, update and save decision trees in FJDT (FICO JSON Decision Tree) format
    • Updated UI for adding and removing predictors and profile variables
    • Added support for defining a target for a tree and then building a target driven tree
    • Custom colors can now be assigned to treatments
  • Tableau
    • Support for Tableau 10.5 has been added. Note: This release of Tableau includes the 'Viz in Tooltip'. When using this feature please be aware that you will need to apply the scenario id filter to the tooltip view using the 'Apply to worksheets' right mouse click menu option.
  • JS API and VDL
    • VDL 4.1: Updated attachment upload functionality and styling to match latest FICO standard
    • JS API 4.1: scenario.createAttachment and project.createAttachment now support the ability to pass the extension of the attachment to be created.
  • Mosel (mminsight) interface
    • New parameter: insight_is_scenario. This parameter indicates whether the model is running as the master model of an Insight scenario. See the Xpress Insight Mosel Reference for more information.

Fixed in Release 4.11.0

Back to top
  • Insight Server
    • Scenario data manipulation performance has been improved under certain conditions such as a large sets or arrays.
  • Custom Views
    • Performance of rendering and interacting with VDL, autotable and tables containing moderate to large amounts of data significantly improved

New in Release 4.10.1

Back to top
  • REST API
    • Breaking change To improve security, the following REST endpoints have changed the Content-Type of their input to application/json (relative to /insightservices/rest/v1/data/):
      • project/{id}/attachments/new
      • scenario/{id}/attachments/new

Fixed in Release 4.10.1

Back to top
  • Insight Server
    • Fixed an issue with email address validation in the user administration screens.
  • REST API
    • Endpoint to login on DMP (auth/loginsso) has changed to require a content-type of application/json instead of application/x-www-form-urlencoded.
    • Endpoint to create a new empty attachment (scenario/{id}/attachments/new and project/{id}/attachments/new) changed to require a content-type of application/json instead of application/x-www-form-urlencoded.

New in Release 4.10.0

Back to top
  • General
    • All documentation for the FICO Xpress Optimization products is now available as an integrated, searchable online library at fico.com. Installer packages will include PDF and JavaDoc manuals only.
    • The Web Client now integrates with the online documentation.
    • Support for Tableau 10.4.
  • Insight Server
    • Removed unnecessary warnings on app upload and update
    • A job is now re-queued when the connection to the Optimization Worker is lost or the optimization process terminates unexpectedly. If the optimization process continues to terminate unexpectedly then the job is completed with errors as in previous versions.
    • A job's progression through the job queue is logged to insight-jobs.log in tab separated format.
    • Runlog indicates when the Optimization Worker disconnected or the optimization process terminated unexpectedly
  • Custom Views
    • New VDL and JS API 4.1 version updates visual styling to latest FICO standard

Fixed in Release 4.10.0

Back to top
  • Web Client
    • Job queue showing incorrect execution time when view loads.
    • Model Upgrade results in OutOfMemoryError when loading parameters.
    • [mminsight] scenariodata: driver displays wrong set name in error message
    • [VDL] - vdl-validate doesn't stop unique value, although allow-save is "false"
    • [VDL Language] - vdl-table[width=500px] doesn't create table with correct width
    • User list in scenario and folder properties can now display up to 10000 users
    • [VDL] Allow class to be applied to vdl-attachment-button
    • IE 11 attachments -Tag dropdown list doesn't show vertical scroll bar
    • Column manager prevents any edits to columns if one or more column names contain a space
    • webclient-tags : remove tag doesn't work, same tag get assigned back when open attachment dialog again.
    • webclient- scenario explorer showing scrollbars per scenario,on latest chrome browser
    • [mminsight] Injection performance issue for arrays indexed by sparse integer sets
    • Xpress Insight component fails to start if mirror table names contain whitespace
    • [webclient] - (Firefox) - View tabs are not appearing when user refresh the browser, only view-group appears.
  • JS API
    • User list in from Project.getUsers() can now return up to 10000 users

New in Release 4.9.1

Back to top
  • Web Admin
    • A new area in Web Admin to give system administrators the ability to download logs and audit files for Insight server. This includes the ability to download archived logs.

Fixed in Release 4.9.1

Back to top
  • Web Client
    • App tiles are sorted alphabetically on the Insight Home screen.

New in Release 4.9.0

Back to top
  • Summary
    • This release omits the Analyst Client application, which is no longer included in the product. Patches for critical defects will be made available for the Insight 4.8 version until end July 2019. Existing users of the Analyst Client should contact support@fico.com to discuss migration options.
    • Tableau 10.3 is now supported. Note: This version of Insight Server will no longer support Tableau 9.2 and below.
    • Web client login page now shows license validation failure messages
    • Performance improved when publishing apps from Xpress Workbench
    • Command line tool for import and export
    • Import/export of a folder and its contents
  • Web Client
    • New options in the Scenario Explorer to export folders and import scenarios and folder structures into the current location.
    • Web client login page now shows license validation failure messages
  • Web Admin
    • Tableau Health Check - extended the information shown in the report
  • Custom Views
    • AutoTable and Table now persist active cell and active row on redraw
    • Option to allow selection and active cell to be displayed on inactive table
    • Table selection events allow connectivity with other VDL components
    • Table paste operations into a larger selection cause the clipboard contents to be repeated
  • Miscellaneous
    • REST endpoint to import scenarios (POST /v1/data/scenario) now accepts files with exported folder structures.
    • Command line tool "insightcmd" enables advanced users to import and export Insight apps and the entire repository
    • Insight Worker on Linux will delete the contents of the working directory after running a model, even in the event of a model crash
    • Jobs executed on an unlicensed Xpress installation will complete with errors, the cause visible in the run log. Previous releases would have re-queued the job.
  • Defects Fixed
    • Fixed an issue where Tableau health check was leaking mirror datasource connections
    • Fixed an issue where the Job Scheduler could block indefinitely when connecting to Mosel
    • Fixed an issue where the Mosel tmp folder was not cleaned up after a Mosel crash
    • Fixed an issue where an Xpress Worker would crash when compressing data after using MySQL
    • Fixed an issue where running an execution mode would clear the table preservation
    • Fixed an issue where the post mirror analyze action would not be performed when configured
    • Fixed an issue where execution would loop forever when a scenario reads from itself

Fixed in Release 4.8.2

Back to top
  • Improved performance when looking up values in large, sparse pivot tables in Analyst Client

New in Release 4.8.0

Back to top
  • Summary
    • FICO Optimization Modeler has been renamed to FICO Xpress Insight.
    • Table enhancements
      • Keyboard and mouse cell/row/column selection
      • Copy and Paste
      • Undo last action
      • High performance with very sparse data arrays
      • Support for data arrays that are indexed by the same set multiple times
    • VDL based charts with support for bar, line, plot and pie charts.
    • VDL and JavaScript API 4.0 (see notes below on changes required to migrate from API 3.2)
    • FSML decision tree viewing, editing and profiling capabilities
    • Annotations now use the insight. namespace. The om. namespace is supported for existing compiled apps but apps needing to be compiled against this version of the product will need to migrate to the new namespace.
  • JavaScript API 4.0
    • Upgraded to jQuery 3.1.1 which has removed previously deprecated APIs. See https://jquery.com/upgrade-guide/3.0
    • Removed the Chart component and the RGraph library. These have been replaced with vdl-chart.
    • Added support for AutoTables to use arrays that have repeated index sets. The following properties can now be an array (a non-array value is still valid, as before, and is treated as a singleton array):
      • AutoTable~Config#indicesOptions
      • AutoTable~Config#columnOptions#filter
      • ScenarioObserver~BindAutoTableOptions#columnOptions#filter
      • ScenarioObserver~BindAutoTableOptions#indicesOptions
    • Added onError callback to ScenarioObserver~BindAutoTableOptions, which will be called in event of invalid AutoTable configuration.
    • AutoTable#EditorValidateCallback arguments have changed. The cell element is no longer passed in. The new call signature is: new cell value, row data and row key (value, row, key).
    • AutoTable#editorOptionsSet and AutoTable#editorOptions no longer used to render cells.
    • The AutoTable~RowFilterCallback signature has changed. The rowNumber and tableData arguments have been removed.
    • AutoTable and Table columns can be hidden with a new visible property.
    • table render callback parameter type can now have the value 'copy' to enable returning an alternative value for copy operations.
  • VDL 4.0
    • Added support for arrays with repeated index sets to be used in a <vdl-table>, by adding optional set-position attribute (to disambiguate occurrences of the same index set) to <vdl-table-column> and <vdl-index-filter> elements.
    • the <vdl-table>row-filter attribute has changed. The scope variables position and tableData are no longer passed in to the expression or callback.
    • Table columns can be hidden using the vdl-visible attribute, which must be an expression. This method of hiding columns should be used in place of any CSS styles or classes applied to columns.
    • Added support for basic charting. See the VDL reference app for more information and examples.
    • vdl-table-column will not accept the editable="true" attribute when bound to a result entity (as they are read-only).
  • Decision Tree editor
    • Visual editor and profiler for decision trees
    • Supports FSML version 1.0, 2.0, 2.5
    • Add and remove decision keys
    • Modify splits
    • Assign outcomes/treatments
    • Execute trees against a provided data file and calculate profile counts for specified variables
  • Miscellaneous
    • Username of user who requested scenario execution is now available to Mosel with the function insight_getusername
    • The server encryption key is now located in a file named .xpress-insight-key. If you are upgrading from a previous version your encryption key will be moved to a file with the new name.

Fixed in Release 4.7.3

Back to top
  • Windows Installer
    • Fixed an issue where the installer might be prohibited from launching standard system applications, when running in the presence of certain restrictive third-party security environments.

New in Release 4.7.2

Back to top
  • Summary
    • Tableau 10.2, 10.1 and 10.0 compatibility.
    • Database upgraded to PostgreSQL 9.5 from PostgreSQL 9.1. Migration is performed automatically during installation on Windows. On Linux the migration steps in the Optimization Modeler Installation Guide must be followed.
    • Linux installers now support unattended installation. Options are passed via the command-line. See the Optimization Modeler Installation Guide for more information.
    • The database and server now use UTC time zone whereas previous versions used the operating system's local time zone. When upgrading an existing database, scenario data is unaffected by this change. However the scenario creation timestamp and attachment last modification timestamp will shift by the time zone difference between UTC and local. To avoid timestamps being shifted, export the repository before upgrading, perform a clean installation and then import the repository.
    • Support for Xpress-Mosel S3 integration. See the Developer Guide for further details.

Fixed in Release 4.7.2

Back to top
  • Fixed an issue where custom view Javascript API files were incorrectly presented as minified while in debug mode.

Fixed in Release 4.7.1

Back to top
  • OM server
    • Database tables are analyzed after mirroring to ensure optimal Tableau query execution.

New in Release 4.7.0

Back to top
  • Summary
    • Built in attachment editors for the following file types
      • Text files
      • Decision tables
      • Decision trees (FSML 1.0, 2.0, 2.5)
      • Decision impact model graphs
      New attachments can be created for some attachment types
    • Projects have been renamed to apps. Home page now displays app name and version information
    • VDL and JavaScript API 3.2, includes attachment creation and editing capabilities.
    • Support for Tableau Parameters
  • VDL 3.2
    • Added attachment creation actions, "create-project-attachment" and "create-scenario-attachment", to the vdl-attachment-button tag.
    • vdl-attachment-button elements are disabled if bound to virtual scenario or if the logged in user doesn't have the required attachment edit authority. A detailed reason for an attachment button being disabled is given in the button tooltip.
    • Added actions (edit-project-attachment and edit-scenario-attachment) to vdl-attachment-button to open an existing file attachment in the relevant editor for the corresponding file ending.
    • vdl-table display state (page size, page number, sorting and filtering) are preserved during a user's web session. This means that table redraws or moving between views and projects within the same browser window will retain table state.
    • vdl-table will combine the index set values from all scenarios used by the array entities in the table.
  • JavaScript API 3.2
    • Added View#createProjectAttachment, View#createScenarioAttachment, Project#createAttachment and Scenario#createAttachment methods.
    • Added Attachment#getEditor and AttachmentEditor#open for triggering editing an attachment.
    • AutoTable and Table display state (page size, page number, sorting and filtering) are preserved during a user's web session. This means that table redraws or moving between views and projects within the same browser window will retain table state.
    • AutoTable will combine the index set values from all scenarios used by the array entities in the table.
  • REST API
    • When updating an app via a POST operation to /data/project/{id}, the displayName property can also be updated.
      • This in addition to the notes property, that was already available.
      • If a settable property is not defined, it will be left unchanged on the app, rather than deleted.
      • See the "fixed" section below for changes to handling of the notes property.
  • Tableau Parameters An app can now expose Tableau parameters for use when a Tableau report is displayed. Before displaying the report, the user will be prompted to select the value for the parameter.
    • Parameters are configured for use with OM using in the tableau section of the companion file.
    • The configuration includes the definition of which entity to obtain the possible parameter values from. These are then presented to the user for selection.
    • The configuration allows for the parameter to be restricted to a particular workbook and / or view using inclusion and exclusion rules.

Fixed in Release 4.7.0

Back to top
  • VDL 3.0+
    • Fixed an issue with addrow-autoinc where new rows would disappear immediately after adding if a vdl-validate was referencing the extended index set entity.
    • The vdl-attachment-button enabled attribute now evaluates correctly when given an expression.
    • Fixed an issue where contents of vdl-if and vdl-visible attributes could be mis-interpreted if they contained low-precedence operators such as ||.
  • VDL 3.1+
    • Fixed an issue where attribute expressions on vdl-execute-button would only be evaluated once, at startup, rather than on each time the button was pressed.
  • JavaScript API 3.0+
    • Fixed an issue that was causing Table, AutoTable and vdl-table components to render very slowly when the end-user sorts a numeric column that contains null (empty) values.
  • REST API
    • Updating an app via a POST to /data/project/{id} no longer erases the notes if the notes property is not set; to achieve that, set the notes property to the empty string.
      • Prior to this release, only the notes property could be set this way; now the displayName property can also be set, it became necessary to clarify the behaviour when some properties are defined in the POST operation and some are not.
  • Web Client
    • Fixed missing search box in entity explorer

Fixed in Release 4.6.4

Back to top
  • Web Client
    • Fixed an issue where project update would be rejected when the companion file referred to model resources.
    • Fixed an issue where the view navigator would sometimes appear empty until the browser was resized.
  • JavaScript API 2.0+
    • Fixed an issue where the JavaScript API could fail to initialize on a slow network.
    • An error message is displayed if the JavaScript API takes longer than 30 seconds to initialize.

Fixed in Release 4.6.3

Back to top
  • Tableau
    • Fixed an intermittent issue where Tableau views could take significantly longer to display.

Fixed in Release 4.6.2

Back to top
  • Web Client
    • Fixed an issue where an unexpected error message appeared intermittently when reloading or unloading a Tableau view.

Fixed in Release 4.6.1

Back to top
  • Mosel interface
    • Fixed an issue where the response to insightgetiteminfos includes details about scenarios and folders which the user does not have read access to. Inaccessible items are now no longer returned.
    • Fixed an issue where insightgetiteminfo raises a Mosel ERROR when attempting to access information about a folder or scenario the user does not have access to. An IOERR is now raised instead, allowing the model to trap the error.

New in Release 4.6.0

Back to top
  • Summary
    • Integrates with new Optimization Designer IDE which provides a rich set of development tools for authoring and debugging Optimization Modeler projects.
    • Explicit support for custom execution modes
    • Expanded configuration of Execution Services with thread based scheduling. New web based configuration UI replaced the Analyst Client dialog.
    • Support for Mosel annotations. A number of configuration options previously set in the companion file (most notably the schema settings) are now set in the model source using annotations. Some configuration options have been removed in v3 of the companion file, see below for more details.
    • Tableau data sources can now be defined in the companion file.
    • Boolean values now rendered with checkboxes in tables.
    • Improved filtering tables. Search and column filter now support "exact" matching by prefixing search term with an =
  • Execution Modes and Execution Services
    • Custom Execution Modes defined using annotations in the model source.
    • The Execution Servers available to the system can be partitioned into Execution Services.
    • Jobs of a given Execution Mode can be configured to route to a designated Execution Service.
    • Webadmin interface to define and manage Execution Modes, Execution Services,Execution Workers and the mapping between them
    • Because of these changes, the contents of the job queue will not be preserved when upgrading to this version of Optimization Modeler. Any pending jobs will need to be re-qeueued once the upgrade is complete.
  • Companion File Version 3
    • Companion File version 3 introduced. This introduces a number of changes and requires applications to migrate to using annotations. Existing applications using companion file version 2 will be unaffected. For more details refer to the Developer Guide.
      • Added datasources tag within database-mirror tag
      • Moved mirror-table tag beneath new mirror-tables tag within database-mirror tag
      • Removed Schema tag and its contents. These are now read from Mosel model annotations.
      • Removed useNameAsAppTitle tag. This is now always enabled.
      • Removed name tag. This is read from the Mosel model name.
      • Removed project-version tag. This is read from the Mosel model version.
      • Removed change-log tag. This is controlled at the OM server level, rather than per application.
      • Removed resultdata tag. This is read from the om.resultdata annotation.
    • Mirror database datasources can now be specified directly in the v3 companion files. Optimization Modeler uses these to automatically define and publish Tableau datasources for use with workbook authoring. For more details refer to the Developer Guide.
  • VDL 3.1
    • VDL 3.1 and JS API 3.1 include compatibility with custom execution modes.
    • vdl-table-column: Boolean arrays now rendered with checkboxes in display mode.
    • vdl-table-column: filter-by-formatted now defaults to true if the column's entity has a label entity. Otherwise it defaults to false as before.
    • vdl-table: Search and column filter now support "exact" matching by prefixing search term with an =
  • JavaScript API 3.1
    • Added getExecutionModes() method to Project type.
    • Added error handling for data responses that don't contain expected entities.
    • An error is logged to the console if attempting to create a scenario observer with the same entity both filtered and unfiltered. The scenario observer will fail to start.
    • Table / Autotable: Boolean arrays now rendered with checkboxes in display mode.
    • Table / Autotable: Search and column filter now support "exact" matching by prefixing search term with an =
    • Autotable: filterByFormatted now defaults to true if the column's entity has a label entity. Otherwise it defaults to false as before.
    • Added method View#promptToClearInputData that will (by default) show the user a confirmation dialog only if executing the model with the given execution mode would cause the input data to be replaced; this behaviour can be customized. See API docs for details.
    • The VDL execute button and Autoform run and load buttons now use the View#promptToClearInputData mentioned above.
  • JavaScript API 3.0
    • Added error handling for data responses that don't contain expected entities.
    • An error is logged to the console if attempting to create a scenario observer with the same entity both filtered and unfiltered. The scenario observer will fail to start.
  • REST interface
    • Expanded the EXECUTION_STATUS type with properties relating to Execution Services
    • Added EXECUTION_MODE type, and executionModes property to the PROJECT type
    • The /v1/data/execution/ endpoint now takes an EXECUTION_REQUEST type, to allow specification of execution modes. (Passing an id and objectType of SCENARIO or EXECUTION_STATUS is still accepted for compatibility.)
  • Mosel interface (execution modes and annotations)
    • The insightgetmode function now returns the execution mode of the model.
      • To reflect this change, the INSIGHT_MODE_* constants have new values:
        • INSIGHT_MODE_RUN now has value "RUN"
        • INSIGHT_MODE_LOAD now has value "LOAD"
        • INSIGHT_MODE_NONE now has value ""
      • Code should continue to compare the result of insightgetmode against the relevant INSIGHT_MODE_* constants, but it may now also return custom execution modes instead.
      • Code compiled with previous versions of mminsight will continue to have the old function behaviour, and the odl values of the constants.
    • Support for definition of model schema and execution modes via Mosel annotations. For more details of the supported annotations refer to the Mosel Interface Reference Manual.
    • Default rmt: node resolves to the master scenario model when compiled with 4.6 and above.
  • Analyst Client
    • The Admin menu, with its associated Optimization Services dialog, has been removed; this functionality has been migrated to the Execution Services tab of the Web Admin user interface.
    • The Job Queue table now lists the Execution Service and Exceution Worker for a job.
    • Login username is now case insensitive
  • Web Client
    • Login username is now case insensitive
    • Job Queue has extra columns to support Execution Modes

Fixed in Release 4.6.0

Back to top
  • JavaScript API 3.1
    • Fixed an issue where filtering / searching for a decimal number (eg 12.0) fails to find the equivalent integer (eg 12).
  • Web client
    • Fixed an issue which causes the entity explorer fails to truncate data on a large array in certain circumstances.
    • Fixed an issue which causes the entity explorer to display 0 rows when truncating data in certain circumstances.

Fixed in Release 4.5.2

Back to top
  • Server
    • Fixed an issue the database query statisics were going significantly out from the optimum.

New in Release 4.5.0

Back to top
  • Summary
    • VDL 3.0 introduces a powerful expression syntax for rapid specification of dynamic UIs
    • Tableau 9 support, versions 9.0 to 9.3 (recommended)
    • Powered by Xpress 8.0. See Xpress release notes for more information
    • HTTPS support for web client->server communication encryption
    • Built-in Data entity explorer view for the web client
    • Project, view, shelf content and fullscreen state are captured in the URL and will be restored from bookmarks and shared links
    • Help link and content can be customised by a project
    • Home, Project and Jobs links are now only shown when applicable
    • Performance improved when creating or updating a project with large numbers of source files
    • New mosel functions for inter-scenario attachment access and listing the contents of repository folder locations
  • VDL 3.0
    • Dynamic expressions, conditionals and looping constructs
    • Inline validation for entity, field, table and view state
    • Custom extensions
    • Dynamic attributes and user defined variables
    • VDL tags and elements are namespaced for clarity
    • Table row filters
    • Improved error reporting
    • Number formatting configurable per AutoTable column
    • User properties and authorities
  • JavaScript API 3.0
    • Validation in insight.validation.EntityValidator for isInteger, isReal and isBoolean now treats null and undefined values as valid. The validation functions can now be used with array elements where null and undefined remove the element.
    • The Table/AutoTable 'lengthMenu' override allows no 'All' option and/or two arrays to be supplied for values and labels
    • View can manipulate the contents of the shelf:
      • View.addScenarioToShelf
      • View.removeScenarioFromShelf
      • View.setShelf
      • View.clearShelf
    • Function 'showErrorMessage' added to View object to allow the raising of error messages
    • Function 'executeScenario' added to View object to allow execution of a scenario specified by its ID
    • Functions 'createScenario' and 'createFolder' added to Project object
    • Fixed an issue with AutoTable postAdd callback in addrow-autoinc mode that would call it twice per row add operation
    • AutoTable 'onDataSaved' callback is now also exposed via new 'onDataSaved' option in AutoTable Options object.
    • AutoTable 'EditorValidateCallback' column option has an additional 4th parameter pass to it which contains the row's index tuple.
    • When applying the 'selectNull' option to an AutoTable column configuration it will add a blank option to the start of the list. Previously it would add a <none> option. The behavior remains the same.
    • Autotable honors CFile entity format settings
    • New AutoTable config option 'rowFilter' allows rows to be filtered out before the table is rendered
    • AutoTable and Table components will not automatically show the table filter if the 'overrides.columnFilter' option is specified. You need to set the 'overrides.searching' DataTables option to true to show the table filter.
    • Backwards incompatible with JS API 2.x:
      • The View#applyVDL method has been removed. This was previously used within VDL 2.0 custom runners. VDL 3.0 no longer requires this functionality and VDL 2.0 views cannot use JS API 3.0.
      • AutoTable 'editorOptions' column option takes a callback function that is called to evaluate the select options for edit mode. See the JS API Documentation, 'AutoTable~EditorOptionsCallback' for details.
    • Third party library updates:
      • jQuery 2.2.3
      • DataTables 1.10.11
  • JavaScript API (all versions from 1.4 onwards)
    • The 'openView' function can now also be passed names of Tableau views instead of view titles defined in the companion file (optionally preceded by a view group title, in the same way as the existing behaviour with non-Tableau views)
  • Analyst Client
    • Analyst Client Tableau views only support Trusted Authentication mode.
  • Web Client
    • Unloaded scenarios are marked as active on the shelf when used within a view.

Fixed in Release 4.4.1

Back to top
  • Web client
    • Fixed an issue where View Navigator headings were intermittently missing in Chrome.
    • Fixed an issue where Tableau views intermittently failed to load.
    • Fixed an issue where Tableau views could be empty following an unexpected system failure.

New in Release 4.4.0

Back to top
  • Summary
    • The new Tableau Global Filters feature remembers and automatically re-applies filter options across designated Tableau views.
    • The new Partial Mirroring feature provides fine control over how mirror tables are populated for reporting purposes to deliver a more responsive experience.
      • Large mirror tables are by default populated on demand when a user navigates to a dependent Tableau view.
      • A project developer can now precisely control which mirror tables are populated post-execution and on demand when a Tableau view is opened, should the default behaviour need tuning.
      • For more details refer to the Developer Guide
    • Optimization Service support for Mosel xssh protocol provides a secure connection between Optimization Modeler Server and an Optimization Service.
    • Compatibility with Tableau in Automatic Logon mode
    • Internet Explorer 8 is no longer supported

Fixed in Release 4.4.0

Back to top
  • Web client
    • Fixed an issue where high network latency could cause two copies of a cloned scenario to be shown in the Scenario Explorer.

Fixed in Release 4.3.1

Back to top
  • Web client
    • Fixed an issue where Tableau Health Checked displayed an error when single sign-on was enabled in Tableau.
    • Fixed a XSS issue on the HTTP 401 error code page.
  • Analyst client
    • The console.log function can now be called with a JavaScript object or array parameter.
    • Fixed an issue where numbers were not being edited at their full precision in the VSG table.
    • Fixed an error, "Cannot fetch scenario data", when opening web views.
    • Fixed error messages that occasionally appeared when closing a view.
  • Mirroring
    • Fixed an issue where mirroring after job execution would fail if it took longer than 15 minutes.
    • Fixed an issue where mirroring at the same time as executing a scenario could the scenario execution to fail.
  • Job execution
    • Fixed a deadlock that could occur while processing the job queue on server startup.
    • Fixed an issue where jobs could get stuck in Queued state after cancelling a job then restarting the server.
    • Fixed an issue where jobs could get stuck in Connecting state.
    • Jobs are no longer repeatedly retried if an error occurs during execution.

New in Release 4.3.0

Back to top
  • Summary
    • Optimization Modeler is now 64bit only and requires Java 8. See 4.2.1 release notes for more information.
    • Folder support in the web client.
    • File attachment tags.
    • VDL and JavaScript APIs to file attachment system.
    • Support for running R scripts during scenario executions.
  • Web client
    • Folder management: create, delete, rename, move, ownership and sharing.
    • Support for names containing URL reserved and unsafe characters. For example: #, ?, %, /, &.
    • Scenario export.
  • File attachments
    • Attachments can be tagged with one or more tags defined in the project, to identify them as being for a particular purpose to the Mosel model.
    • Attachments can be hidden by the Mosel model. They will not appear in the UI until the "Show Hidden" button is clicked.
    • Several attachments can be downloaded in one go, delivered as a zip file.
    • New JS API functions for managing attachments. For details see the JavaScript API section below.
    • New VDL components for managing attachments. For details see the VDL section below.
  • JavaScript API
    • 2.1
      • New methods to get information about scenario and project attachments.
        • Get all attachments with Scenario#getProjectAttachments and Scenario#getScenarioAttachments.
        • Get a single attachment by filename with Scenario#getProjectAttachment and Scenario#getScenarioAttachment.
        • Get all attachments with a given tag with Scenario#getTaggedProjectAttachments and Scenario#getTaggedScenarioAttachments.
        • Search the scenario and project for an attachment by filename with Scenario#findAttachment, and by tag with Scenario#findTaggedAttachments.
        • Download a zip file containing multiple attachments with Scenario#downloadProjectAttachments and Scenario#downloadScenarioAttachments.
      • New methods to open the attachments dialog.
        • Open the attachments dialog with View#openProjectAttachmentsDialog and View#openScenarioAttachmentsDialog.
        • Open the dialog in upload mode with View#uploadProjectAttachment and View#uploadScenarioAttachment.
      • Register for notifications about changes to attachments with ScenarioObserver#withAttachments.
      • Show image attachments inline inline in custom views with ScenarioObserver#bindImageAttachments.
      • AutoText supports a new attribute, data-text, for showing information about attachments and attachment tags, along with entity values and parameters.
  • VDL
    • 2.1
      • New text attribute inserts entity values, parameters, and information about attachments and tags anywhere in a VDL view.
      • Image tags can use the new attachment-filename attribute to show image attachments inline in a VDL view.
      • New VDL actions to upload and download attachments and to open the attachments dialog, using the action attribute on any clickable element.
  • R integration
    • Support for Mosel -> R interface.
    • R scripts can be executed in a secure environment on the FICO Analytic Cloud. See the Optimization Modeler DMP component guide for more information.

Fixed in Release 4.3.0

Back to top
  • Web client
    • Fixed an issue where the scenario "Created" field would display the wrong time depending on timezone of the client machine.
    • Fixed an incorrect message, "Scenario is already in the queue", shown when the scenario is locked in the Analyst Client.

New in Release 4.2.1

Back to top
  • Summary
    • Java™ 8 compatibility.
    • Java™ 8 64-bit is a prerequisite to the installation of Optimization Modeler client and server.
    • Optimization Modeler 64-bit compatibility with FICO Xpress Optimization Suite 32-bit and 64-bit.
    • Optimization Modeler is now 64-bit only; the 32-bit version has been discontinued.
    • IMPORTANT: To upgrade from 32-bit to 64-bit the repository MUST be exported from the previous 32-bit installation and then imported into the new 64-bit installation.
    • Upgraded to Tableau 8.2.13

Fixed in Release 4.2.1

Back to top
  • General
    • Fixed an issue where an index set entry of -1 can cause model execution to fail.

New in Release 4.2.0

Back to top
  • Summary
    • Files can be attached to projects and scenarios by users and the executing scenario.
    • Mosel (mminsight) functions have been renamed.
    • Improved LDAP configuration by web interface, and improved performance.
    • Tableau mirror options to manage the size of the mirror database.
    • Whitelists for allowed file locations accessible by Mosel during scenario execution while security is enabled.
    • Update project source from the web client.
    • Upgraded to Xpress 7.9
    • Upgraded to Java 1.7.0_80
    • Upgraded to Tableau 8.2.8
  • File attachments
    • Each project and scenario can have up to 100 files attached to it (each limited in size to 60Mb).
    • Drag and drop upload file support for IE10+/Chrome/Firefox with upload button for IE8 and IE9.
    • Attachments can be read and written by the Mosel model. See the new Optimization Modeler Mosel Interface reference for details on all of the available functions.
    • Attachments are included when cloning a scenario, and when exporting a scenario, project or repository.
  • Mosel (mminsight) interface
    • The mminsight functions have been renamed as per the list below. See the developer guide and mosel interface reference guide for more information.
      • insight_end_initializations renamed to insightpopulate.
      • insight_maximize renamed to insightmaximize.
      • insight_minimize renamed to insightminimize.
      • insight_prepare_constraints renamed to insightpreparectrs.
      • insight_reset_progress renamed to insightresetprogress.
      • insight_results_available renamed toinsightresultsready.
      • insight_update renamed to insightupdate.
      • insight_update_progress renamed to insightupdateprogress.
      • insight_use_original_data renamed to insightgetmode.
    • Legacy function names are deprecated but backwards compatibility is retained at compile and run time.
    • Parameters and IO driver names are unchanged.
    • Updated best practice for mosel model structure, see the developer guide for more information.
  • LDAP
    • LDAP integration is configured within Web Admin and changes are applied without restarting.
    • LDAP system password encrypted and stored in the database.
    • LDAP configuration persists between upgrades.
    • Option to update users from LDAP - recommended when upgrading an LDAP enabled Optimization Modeler to 4.2.
    • Local account flag causes a user to authenticate against the local repository, even when LDAP is enabled.
    • Option to disable local accounts capability to provide a pure LDAP deployment.
    • Improved performance of LDAP integration by caching the user's first name, last name and email in the local repository when a user is created or edited.
    • System property allowLocalAccountAuthentication in standalone-insight.xml can be used re-enable local account authentication to recover access when LDAP integration fails.
    • Tableau Managed Users is now supported when Optimization Modeler is configured with LDAP. Tableau must also be configured to authenticate with Active Directory. Local users will not be synchronized because they are not using the same LDAP/AD account.
  • Performance
    • Mirroring is performed in multiple transactions to improve scalability. Note, querying a scenario in the mirror database from Tableau Desktop while it is being populated may return incomplete results. Transaction timeout reduced from 60 to 15 minutes.
    • Performance improvements in the locking, events and data storage subsystems of the Optimization Modeler service.
    • Tableau view load time improved.
  • File location whitelists
    • The MOSEL_ROPATH setting in the xprmsrv.cfg file can be set to a list of paths that can still be accessed for reading when restriction WDOnly is active.
    • The MOSEL_RWPATH setting in the xprmsrv.cfg file can be set to a list of paths that can still be accessed for reading and writing when restriction WDOnly is active.
    • The MOSEL_EXECPATH setting in the xprmsrv.cfg file can be set to a list of paths (both executables and directories can be specified) from which programs can still be executed by the system command when restriction 'noExec' is active.
  • Developer tools
    • Select Update Project in the web client to provide an updated project zip file. The zip file can include an updated bim file, companion file, client/model resources, attachments or Tableau workbooks.

Fixed in Release 4.2.0

Back to top
  • JavaScript API
    • 2.0
      • Fixed an issue that would cause the setting of view properties in IE9 to throw a JavaScript error.

New in Release 4.1.0

Back to top
  • Summary
    • Web Client has been re-designed to improve layout and usability.
    • Partial fetching of scenario data is now performed where possible to minimize data transfer from the server
    • JavaScript API 2.0 has been introduced. This is a backwards incompatible upgrade to the API.
    • VDL 2.0 has been introduced. Existing views may need changes to work with the new version.
    • Quick Installation guide provided with simple steps for default local install.
  • Web Client
    • Revised layout increases available space for views.
    • Scenario Explorer is now dialog based and is opened by clicking on the selection shelf.
    • Full screen mode to further increase available space for views.
    • View groups are now supported. Views can be assigned to groups. The View Navigator dropdown displays all available views in their groups.
    • Selection shelf can now be collapsed to a single row or expanded to multiple rows.
    • Scenarios can be dragged to re-order the selection on the shelf.
    • The active (accessed by the current view) scenarios in the selection are now highlighted
    • New scenario icon indicates a scenario load or run action completed with errors.
    • New scenario icon indicates when a scenario has current results data available
    • The run log for a scenario can now be viewed and downloaded.
    • A Jobs page shows the status of the job queue for the system, including the run-time metrics for each job that is visible to the current user.
    • The Upload Project option now accepts a project archive and will create a new project with one unloaded scenario.
  • Partial data transfer
    • Scenario data is now, in most cases, transferred from server to client on a per-entity basis rather than per-scenario. This delivers significant performance improvements to the operation of the Analyst Client, and moderate performance improvements when using the Web Client.
    • All built in Analyst Client views now use partial data fetching.
    • Custom html (JS or VDL) views will use partial data fetching when authored against the latest 2.0 interfaces.
    • Custom html (JS or VDL) views authored against 1.x interfaces will continue to fetch all scenario data.
  • JavaScript API
    • 2.0
      • Scenario data access and modification is fully asynchronous. Synchronous constructs removed.
        • Scenario properties, i.e. name, notes, owner etc. are obtained via view.getScenarioProperties().
        • Scenario entities and summary data (entities, hasResults, isLoaded etc.) must be read using ScenarioObserver.
        • Filtered arrays are supported by the ScenarioObserver. See ScenarioObserver.filter()
        • scenario.getScalar(), getSet(), getArray() and getParameter() can only be invoked against a scenario from a ScenarioObserver.notify() callback.
        • Modifications are performed with ScenarioDataChange. Changes are committed atomically and asynchronously. e.g. view.modifyFirstScenario() .setScalar('scalar1', 7) .setScalar('scalar2', 13) .commit();
        • Scenarios in the ScenarioObserver.notify() callback are immutable.
        • Asynchronous operations now use the ES6 Promise construct instead of success/error callback arguments.
        • The following synchronous and legacy usages have been removed:
          • View.getSelection(). Use View.getScenarioProperties() or View.withScenarios() instead.
          • View.getSelectionSize(). Use view.getScenarioCount() instead.
          • Filter and callback features of scenario.getArray(). Use scenarioObserver.filter() instead.
          • Multi-entity arguments of getScalar(['entity1', 'entity2']) and getSet(['set1', 'set2']). Use single entity arguments instead.
          • Dimensions, all data access is performed against the default dimension.
          • scenario.getArrayElement(). Use scenario.getArray().getValue() instead.
          • scenario.queryArray(), insight.getFetchSize() and insight.setFetchSize(). Use filtered arrays instead.
          • Synchronous modification methods from Scenario of scenario.setScalar(), setParameter(), addToSet(), removeFromSet(), setArrayElement(), removeArrayElement()
          • scenario.prefetchValues(). Handled transparently by ScenarioObserver.withEntities()
          • insight.onDataChanged() and insight.removeDataChangedHandler(). Use the scenario observer construct instead.
          • insight.getUser(). Use view.getUser() instead.
          • ScenarioObserver.onStateChange(). Use ScenarioObserver.withEntities() or ScenarioObserver.withSummaryData() instead.
          • ScenarioObserver.notifyLocalChange(). Use scenario.modify().commit() instead.
      • Single use ScenarioObserver now available with ScenarioObserver.once().
      • ScenarioObservers are automatically notified of local changes when scenario.modify().commit() and view.modifyScenario().commit() are invoked.
      • View Properties introduced to contain and observe local view data (as opposed to persisted scenario data). View Properties are set with view.setProperty(), observable via ScenarioObserver.withViewProperties(), and can be used in ScenarioObserver.filter() and ScenarioObserver.notify().
      • Signature of ScenarioObserver.notify(scenarios, viewProperties) has changed: viewProperties has replaced the now obsolete originator argument.
      • JavaScript API 2.0 requires Internet Explorer 9+, Firefox 23+ or Chrome 29+. Note, Internet Explorer 8 continues to be supported by the legacy 1.x JavaScript APIs and Web Client.
      • Bootstrap 3.3.2 is used for CSS and HTML markup. The 1.x APIs used Bootstrap 2.2.1. Existing views will require HTML and CSS modification to work with the new styles. See the Developer Guide for more information on the changes.
      • Third party library updates
        • JQuery 1.11.2
        • Bootbox 4.3.0
      • AutoText, AutoForm and AutoTable no longer default to using the first scenario if no scenario passed in to the constructor. The scenario argument is now required.
      • AutoTable and Table constructor only accepts a single configuration object. Multi-argument constructor has been removed.
      • Use AutoTable.destroy() and Table.destroy() to clean up the underlying DataTable.
      • Table component editorSave column option returns a Promise instead of saving synchronously and throwing an error on failure.
      • The .btn-execute CSS class has been removed. Use .btn-primary instead.
      • The .section and .bs-docs-example CSS classes have been removed. Bootstrap 3 Panels can be used instead.
  • VDL
    • 2.0
      • VDL 2.0 is implemented on JS API 2.0. VDL 2.0 is required to adopt the peformance and styling improvements of the JS API 2.0.
      • VDL files should specify <vdl version="2.0">
      • Existing VDL 1.0 and custom VDL 1.0 runners are unaffected.
      • New VDL 2.0 custom runner template provided in the Quick Start project.
      • Bootstrap 3.3.2 is used for CSS and HTML markup. Existing VDL with embedded HTML and CSS will require modification to work with the new styles. The layouts are unchanged and pure VDL will continue to work with an updated look and feel. See the Developer Guide for more information.
      • Disabled responsive layout in Bootstrap 3. See the Developer Guide for more information.
      • The default fixed width is 1170px.
      • AutoForm field elements have the new attributes size and label-size which give control over the size of the input element and label respectively. The default size for both is 2 (grid units).
      • AutoForm field elements take an additional attribute, rows, specifically for select inputs. This translates to the number of lines shown for the select input and defaults to 1.
      • Added an optional onDispose callback to View.applyVDL(). This allows you to call custom code before VDL redraws the page. It can optionally return a Promise which causes VDL redraw to be suspended until that Promise is settled.
      • VDL AutoText text elements have the new attributes size and label-size which give control over the size of the input element and label respectively. The default size for label is 2 and the default size for the content is 8.
  • Tableau
    • Support for publishing workbooks to the FICO cloud. Workbooks authored against a local Postgres mirror will automatically be converted to work with the MySQL cloud database. Workbooks developed using Optimization Modeler 4.0 or earlier and that visualize boolean data will need a manual modification.
    • Tableau packaged workbooks (TWBX) can be added to the OM Projects. See the Developer Guide for more information regarding restrictions.
    • Augmented data dimensions (e.g. reduced costs, constraint type) are no longer mirrored by default.
    • Tableau installation process has been improved with a new Tableau installer.

Fixed in Release 4.1.0

Back to top
  • General
  • JavaScript API
    • 1.3, 1.4, 1.5
      • The AutoText component will clear a DOM element bound to an array element that does not exist. Previously it would display a "0" for integer values and would not clear existing content for string values.

New in Release 4.0.0

Back to top
  • General
    • Optimization Modeler Enterprise Edition is now the standard installation, Desktop Edition has been discontinued.NB: The Desktop Edition assigned all content to the single user anonymous. After upgrading or importing a Desktop Edition repository, you can continue to use this account and its content by logging in as anonymous, with password anonymous. It is recommended to change this default password via User Administration after upgrade.
    • Opening and saving scenarios in the Analyst Client is now up to 2x faster.
    • Opening a Tableau view in the Analyst Client no longer fetches the scenario data.
    • Improved handling of multiple view tabs in the Web Client.
    • New authorities SCENARIO_OWNER, SCENARIO_SHARE, FOLDER_OWNER and FOLDER_SHARE provide granular control of ownership and share status that was previously granted implicitly by SCENARIO_EDIT and FOLDER_EDIT. On upgrade to 4.0 or a pre-4.0 repository import, authority groups with FOLDER_EDIT or SCENARIO_EDIT will be granted the appropriate OWNER and SHARE authorities.
    • The default mirror database is used for all mirror operations. The companion file datasource attribute for the database-mirror element has been deprecated and removed.
    • JavaScript 1.4 API has been introduced. For details see the JavaScript API section below.
    • The default installation no longer includes the anonymous account.
    • Showcase samples:
      • Optimization Solution for Energy Pricing - NEW
      • Optimization Solution for Alternative Deal Structures
      • Optimization Solution for Collections Placements
      • Optimization Solution for Marketing Offers
    • Model schema is now captured on project creation, and parameters can be set before loading the first scenario.
    • Real numbers are displayed with at most 4 decimal places by default.
    • Scenario path visible in tooltips in both the Analyst Client and Web Client.
    • Upgraded to Xpress 7.8
    • Upgraded to Tableau 8.2.4
    • Upgraded to Java 1.7.0_71
  • Tableau Integration
    • Much improved and simplified Tableau installation. Tableau integration is now configured from the Web Administration interface post-installation and supercedes the installer steps and configure_insight command line utility in earlier releases.
    • Tableau health check rapidly diagnoses common configuration issues.
    • Tableau authentication is now performed using named individual Tableau accounts, the shared Tableau account insight is no longer required or used.
    • Tableau accounts are now seamlessly managed by Optimization Modeler for a fully embedded Tableau deployment.
    • Tableau can be enabled per-user offering finer control of Tableau license assignment.
    • WORKBOOK_PUBLISH authority also controls publish rights in Tableau and from Tableau Desktop.
    • Tableau accounts can optionally be managed manually for a peer-to-peer Optimization Modeler/Tableau deployment.
    • Enhanced security model in the mirror database enables Tableau data sources to enforce scenario access rights.
    • Workbooks can be embedded in projects and are automatically published, deleted, imported and exported; controlled by the new companion file attribute managed on the workbook element.
    • Publish workbook capability in the web client will only publish workbooks marked as embedded.
    • Scenario path is now mirrored into the insight_scenarios table.
    • Tableau documentation has undergone a significant revision.
    • New Tableau Server and Desktop installation package.
  • Analyst Client
    • Cross Tables allow multi-dimensional data to be displayed across multiple columns.
    • Lookup columns allow arrays with different index sets to be displayed together in the same table.
    • Multi-value filters allow more flexibility when filtering tables.
    • New labels can be added to index sets, linking the label with an auto-incremented set value.
    • Index set values can be deleted, causing the corresponding array data to be deleted.
    • Sorting a table can use either the labels or the underlying data values.
    • When pasting data into a table view, values are repeated to fill the selected area.
    • Custom formatting rules can be defined for each entity.
    • Filter drop-downs are progressively updated as you filter other columns to only show values which remain visible in the table.
    • Toolbar button to reset a table view to its default layout.
    • Numbers are displayed right aligned in tables.
    • Server name shown in Analyst Client status bar.
    • Dashboards now appear in the Views pane, instead of on the repository context menu.
    • Line and area charts no longer show a marker for each data point.
  • JavaScript API
    • 1.4
      • Scenario#getArray now supports asynchronous invocation with success and error callbacks.
      • Add and remove row now support pre and post call hooks. Pre hooks may be used for validation and post hooks for event notification.
      • Tables may now be filtered by column. This is exposed through a DataTables overrides property passed in to Table or AutoTable
      • The rules around sorting of select options defined in AutoTable editorOptionsSet column options has changed. Sorting is determined as follows:
        • If a set sorter has been assigned to the options set then that will determine sorting of the select options
        • If the set has an associated labels array then the data type of that will determine the sorting
        • Else, the options will be sorted according to the set element data type
        Default sorting according to data type will either be numeric sorting or case-insensitive alphanumeric sorting.
      • Table has a new column option, 'displayType'. This is optional and it will default to the value of the existing 'type' column option. It is used to determine what styling to apply to the column. The 'type' option is used to determine sorting behaviour and fallback display behaviour.
      • AutoTable index columns are now 'td' elements rather than 'th'. They are styled in the same way as before and you can still target them as they have the .index class.
      • AutoForms can now have several run buttons, to support models with different run modes.
      • New 'tooltip' element in VDL to provide contextual information in custom views.
      • Custom views can contain hyperlinks that link to other custom views within the project.

Fixed in Release 4.0.0

Back to top
  • General
    • The scenario-id attribute of the VDL autotable tag is now passed to the generated AutoTable. Previously it was having no effect.
  • JavaScript API
    • 1.4
      • AutoTable columns containing editorOptionsSet will now be sorted and filtered correctly by their underlying values rather than the displayed values. They also respect the column options filterByFormatted and sortByFormatted.
      • Boolean data types in Table and AutoTable columns can now be sorted.
    • 1.3
      • When setting a column name in AutoTable it is cast into a string so it will now accept any type of primitive or object.
      • Using the old constructor signature for AutoTable, i.e. multiple arguments, was causing JavaScript error in some browsers. This is now fixed

New in Release 3.1.0

Back to top
  • General
    • Baselines have been removed from the product. Input data is now loaded with a Load action on the scenario itself.
      • New scenario option now creates an empty scenario.
      • Load action executes model with insight_use_original_data=true.
      • Load action can be performed on an existing scenario to overwrite input data with new.
      • Load action must complete once on new project with default model parameters (does not have to load data) to allow schema capture.
      • New Baseline with Parameters option has been removed.
    • New JavaScript 1.3 API has been introduced. For details see the JavaScript API section below.
    • VDL views will use the 1.3 JS API exclusively.
    • Examples have been updated to use the 1.3 JS API exclusively.
    • Tableau workbooks are shown in the Web Client and Analyst Client in the order in which they are defined in the companion file and Tableau workbook.
    • Companion file format has been updated to be simpler and easier to use.
    • New settings give more precise control over AutoTable and column widths.
    • Configuration options in configure_insight.bat utility has increased.
    • The configure_insight.bat utility provides a --list option to show the currently configured options.
    • Simplified integration with Tableau.
    • Audit logging capability to log every administrative change to the authorities/group/project/name/email/password of a user.
    • Added guidance on how to tune database disk usage for systems using Tableau for high volume or frequency of reporting.
  • Analyst Client
    • Pre-configured table views can be defined in the companion file.
    • Custom views can be organised into groups in the companion file.
    • All views are displayed in a new Views pane. Views are no longer present on the context menu.
    • Several rows can be deleted from a table view in one action.
    • Improved table column headers when units are displayed, e.g., "Speed (km/h)".
    • When the active view is changed, the relevant scenario(s) are highlighted in the Repository pane.
    • Scenario notes field is now a multi-line edit box.
    • Export to CrossTab and Export to image now available on Tableau views.
  • Web client
    • Scenarios can be created and loaded from the web client.
    • Tableau workbooks can be published via the web client.
  • Web administration
    • Admin report available from the List Users page describes user accounts and authorities in the system.
  • JavaScript API
    • 1.3
      • The insight api is now exposed as a global variable in the browser
      • When using the javascript api you should wrap all your code in an function passed to a insight.ready() call
      • Some third-party libraries are now exposed globally to the browser: jquery, underscore.js, bootbox, handlebars, knockout.js, rgraph
      • Upgraded to DataTables 1.10.0. This library is used for Insight.components.Table and Insight.components.AutoTable. It is also used by the VDL when using AutoTable elements. For more information the the changes to DataTables see http://datatables.net/upgrade/1.10.
      • Add and remove row functionality has been added to AutoTable. This can be enabled by setting the addRemoveRow configuration option to true when constructing an AutoTable or calling ScenarioObserver#bindAutoTable.
      • The AutoTable constructor now takes a single object that contains all configuration options, rather than multiple arguments. Using the old style constructor with multiple arguments will still work but has been deprecated an it is advised that you migrate to the new style constructor when using JavaScript API 1.3.
      • Numeric sorting in DataTables has changed. Empty cells will now be treated as the lowest value, previously they were treated as zero. This affects all instances of DataTable, such as the Table and AutoTable components and ScenarioObserver#bindAutoTable.
      • A new method to fetch users associated with a project has been added to the API. Insight.Project#getUsers, can be called synchronously or asynchronously and can optionally filter by a given authority token.
      • Support for Pause and Resume buttons has been removed from AutoForms.
  • Linux
    • The installer for Optimization modeler server now sets the $XPRESSDIR environment variable globally on the system.
    • The Linux installation now installs a configuration script, $XPRESSDIR/bin/configure_insight.sh, that can be used for configuration of the Optimization Modeler server.
    • The configure_insight.sh configuration script requires a new authentication rule to be applied to the PostgreSQL server. The installation guide for PostgreSQL, postgresql-installation.txt, that is part of the installer package shows the rules that should be applied to pg_hba.conf, please check this if you have an existing PostgreSQL install.

Fixed in Release 3.1.0

Back to top
  • The execution service now recovers correctly when a laptop/workstation recovers from Sleep state.
  • Scalars table sorted alphabetically in Analyst Client.
  • Page up key works correctly in Analyst Client tables.
  • Multi-cell table selection improved in Analyst Client.
  • Copying of single table cell to clipboard now works in Analyst Client.
  • AutoTable columns no longer resize when put into edit mode.
  • Layout of VDL AutoForm elements improved.
  • AutoForm elements now work correctly when bound to a missing value in a sparse array.

New in Release 3.0.1

Back to top

On-premise only release

  • General
    • Admin logging is available for operations such as admin login/logout, user creation/modification, changes to authority/authority groups etc.
    • User report in XML format can be generated from the Web Administration client.
    • Server logs now include the date, not just the time. This affects server.log, insight-data-changes.log and insight-audit.log
  • JavaScript API
    • ALL
      • AutoTable will HTML escape all cell values for index and data columns.

New in Release 3.0.0

Back to top

On-premise only release

  • General
    • The software now carries the name "Optimization Modeler" for on-premise installations. The "insight" name is retained in API definitions and most file names but all UI and documentation references have been updated. The process name for the Analysts Client is now optimizationmodeler.exe.
    • The capacity of the system for mirroring large scenarios in parallel has been increased. Previous versions could suffer from issues where the number of long (3 minutes+) scenario mirroring operations in parallel exceeded 5.
    • New JavaScript 1.2 API introduces data caching and improved data change handling to make authoring custom views much easier.
    • Examples have been updated to use the 1.2 API exclusively.
    • New View Definition Language markup for creating views without the need for JavaScript or HTML.
  • Web Client
    • Can now single click on a scenario in the explorer to select it for the shelf.
    • Folder properties dialog allows share and ownership status to be updated.
    • Folders can now be shared read-only or full with other users.
    • Scenario properties dialog provides an option to move the scenario to a new folder location anywhere in the project.
  • Analyst Client
    • The analyst client now implements the extra events necessary for running the Offer, Agency and Deal Pricing demos.
  • JavaScript API
    • ALL
      • The insight-api-latest and insight-components-latest module aliases have been deprecated and fixed the insight-api-1.1 and insight-components-1.1 respectively.
      • Bootbox library is now included with the JavaScript API. Previously it was only available after loading insight-components-*.
      • UnderscoreJS library is now included with the JavaScript API.
      • Insight.Array no longer uses fetchsize to limit the amount data fetched from the server.
      • Insight#setFetchSize and Insight#getFetchSize are now deprecated. Calling them will not have any effect.
      • Analyst Client receives data changed events containing the list of entities per scenario that have changed. This brings the Analyst Client in line with the Web Client and callbacks registered with Insight#onDataChanged will be compatible between the two environments.
      • Analyst Client redirects console logging to the Client Log panel. The redirected methods are: console#log, console#info, console#warn, console#error.
      • Insight.components.Table and Insight.components.AutoTable defaults include an additional pagination length option "25".
    • 1.1
      • The css class .container no longer has the property "float: left" but instead has a margin-left and margin-right of 0.
      • The css class .insight-table that is applied to tables created by the Insight API no longer has the property "table-layout: fixed".
      • All action buttons bound to AutoForm are disabled if the view is read-only (Analyst Client). Previously only the "run" and "save" buttons would be disabled.
      • Callbacks registered with Insight.components.AutoForm#onDataSaved will correctly pass through the parameters entity and the parameter name as the key when a parameter has been saved.
      • Insight.component.Chart in IE8 will now apply the excanvas shim to the target canvas element if it has not already been applied on page load. This fixes an issue trying to create a Chart against a dynamically generated element.
    • 1.2
      • Insight.components.Table and Insight.components.AutoTable default configuration does not show the paginate, filter or table info elements. These need to be enabled per table configuration.
      • Insight.components.AutoForm will pass any bound parameters through to Insight.validation.EntityValidator with the name "parameters" and the parameter name as the key.
      • Insight.components.AutoForm#clearBindings will unbind radio buttons, previous they were left bound to a scenario.
      • Insight.components.AutoForm#clearBindings will remove the callback set with Insight.components.AutoForm#onDataSaved if one is set.
      • The JavaScript API will set the logging level to WARN by default, i.e. without calling Insight#setDebugEnabled.
      • If "debug=true" is present in the Web Client or the view url then the JavaScript API logging level will be set to DEBUG.
      • A single copy of Insight.ModelSchema and Insight.Project are loaded and cached when the JavaScript API initializes. The cached of these objects will be returned from: Insight.View#getProject, Insight.Project#getModelSchema and Insight.Scenario#getModelSchema.
      • Insight.ArrayIterator has been introduced. An instance is create from an existing Insight.Array by calling Insight.Array#getIterator and provides you with an easily way to loop through its indices and values.
      • New API methods:
        • Insight.View#configure
        • Insight.View#getConfiguration
        • Insight.View#applyVDL
        • Insight.View#registerVDLModifier
        • Insight.View#withFirstScenario
        • Insight.View#withScenarios
        • Insight.View#withAllScenarios
        • Insight.View#start
        • Insight.ArrayIterator
        • Insight.Array#getKeys
        • Insight.Array#getIterator
        • Insight.Array#toObjectArray
  • View Definition Language
    • VDL provides page layout markup with sections, rows and columns.
    • Interpolation of scenario attributes, entity aliases, set values and labels.
    • Syntax for looping over scenarios or scenario sets repeating content for each.
    • Built in handling of results-unavailable and scenario-executing/queued states.
    • All configuration options for AutoTable, AutoForm and AutoText components exposed as markup tags and attributes.
    • Ability to mix in custom html and css as necessary.
    • Ability to register and reference JavaScript modifier functions which can apply custom settings to components before and after creation.
    • VDL runs on the new JavaScript 1.2 API for enhanced performance.

Known Issues in Release 3.0.0

Back to top
  • The Optimization Modeler server can lose communication with its optimization services when installed as a Windows service on a machine that sleeps. On waking, scenarios will remain queued in the job queue until the OM server (not the optimization service) is restarted. Desktop configuration users can work around this by disabling the Windows service and instead instructing the server to start and stop with the Analyst Client, using the bootstrap=true option in the clientconfig file.
  • There is a known issue with the behaviour of the update-after-execution feature which can corrupt scenario data when the index set of an array marked as update-after-execution is extended. The workaround is to mark all arrays as update-after-execution, the problem only exhibits if some arrays are marked and some arent when the index set is added to.

Fixed in Release 2.1.1

Back to top

On-premise only release

  • Fixed an issue where data transfers could possibly fail under very heavy system load

New in Release 2.1.0

Back to top

On-premise only release

  • Tableau integration with the web client. Tableau workbook visualizations and associated actions are now available as views in the web client.
  • Scenario Properties dialog displays scenario attributes and allows editing of name, notes, share status and ownership.
  • Scenarios can now be shared read-only with other users.
  • Scenario ownership can now be changed via the Scenario Properties dialog, allowing ownership to be moved between users.
  • The performance of the web client when updating a small amount of data in a large scenario has been improved.
  • The performance of the web client when loading scenario data has been considerably improved.
  • The Client and View APIs now explicitly require Java 7. Legacy code calling these APIs will need to be re-compiled.
  • Authority requirements can now be specified for Tableau views (per workbook) in the cfile in the same fashion as for custom views.
  • The memory limit for the 32bit Analyst Client has been reduced from 1000 to 800mb to avoid issues on some machines where it was not possible to allocate the larger block of memory. For instructions on modifying this memory setting please consult the last chapter of the Analyst Client User Guide.

Fixed in Release 2.1.0

Back to top

On-premise only release

  • Fixed a memory leak which could degrade performance over time for a 32bit system.
  • Fixed a defect which limited the size of data accessible via the inter-scenario data exchange feature to 256k.
  • Raised the time limit for mirroing scenario data from 900 to 3600 seconds.
  • Scalar entities in virtual scenarios are now mirrored correctly.
  • A problem with failed login when Firefox and Chrome auto-complete password information has been corrected.

Known Issues in Release 2.1.0

Back to top

On-premise only release

  • Tableau views are limited to reporting on a maximum of 32 scenarios.
  • The dialogs relating to actions on the Tableau views (Export to PDF etc.) have a close icon in the top right corner that breaks the Tableau view if used. The primary close buton on the dialog should be used instead. To recover after using the close icon, navigate away from that view and back again.
  • Users of Tableau views with IE8 may occasionally experience intermittent font corruption for some views.
  • Tableau views with scrollbars cannot be scrolled using a mouse wheel.
  • Data transfers could possibly fail under very heavy system load due, requiring a server restart

New in Release 2.0.8

Back to top

FICO Analytic Cloud only release

  • Available as a component on the FICO Decision Management Platform.
  • Integrates with FICO Analytic Cloud user management; user creation and authentication is delegated. New User function is disabled in Optimization Modeler user management. New users are assigned the Basic User authority group which can subsequently be modified using the Optimization Modeler authority management.
  • Integrates with FICO Analytic Cloud security; FAC authentication is a pre-requisite for accessing both web interfaces and web services.
  • The Analyst Client is not available on the FAC.
  • Integration with Tableau for FICO is not available on the FAC.
  • New application header in web client.
  • Styling for version 1.1 JavaScript Components has been updated.
  • All other features and functions from previous 2.0.x versions of Optimization Modeler are available.
  • Product name changed from "Xpress-Insight" to "Optimization Modeler" on FICO Analytic Cloud.

Known Issues in Release 2.0.8

Back to top

FICO Analytic Cloud only release

  • There is a file size limit on the project upload of 120mb. When this limit is exceeded a warning may be delayed or missing under some conditions.
  • The Decision Management Platform puts inactive components to sleep. OM will normally take ~ 100 seconds to wake up from this state so a user attempting to connect to an idle OM may receive a 503 service unavailable message. The workaround is to connect a second time once the OM instance has woken up.
  • Tableau for FICO is not yet supported in the FICO Analytic Cloud. However a project that is configured to use Tableau will consume additional database resources. It is therefore recommended to disable Tableau related configuration (data mirroring definitions) to avoid unnecessary resource usage.

New in Release 2.0.3

Back to top
  • General
    • Upgraded to latest Java 7 runtime.
    • Removed support for legacy JavaScript API (API from version 1.1.8 and earlier).
  • Web Client
    • New web interface for end users of enterprise installations, available on http://XXXX:8860/insight.
    • Supports custom HTML views with enhanced Javascript API. Custom HTML views authored for the Analyst Client are compatible with the Web Client but may benefit from using the latest API features to improve performance over high latency networks.
    • Drag and drop interface for managing and viewing scenarios.
  • JavaScript API version 1.1
    • Multiple data changed handlers can be registered using Insight.onDataChanged(). Data changed handlers can also be removed.
    • Automatic caching of entity values reduces server access on repeated access.
    • Entity caching can be disabled.
    • New method Insight.Scenario.prefetchValues() to asynchronously batch fetch entities and load them into the cache for later access.
    • Asynchronous versions of the following methods: Insight.View.getSelection(), Insight.Scenario.getCurrentExecutionStatus().
    • Insight.validation.EntityValidator now accepts an optional array key when checking values and passes it on to validator functions.
    • Insight.Formatter now accepts an optional array key when formatting entities and passes it on to formatting functions.
  • JavaScript Components version 1.1
    • AutoTable constructor signature has changed. An additional argument takes indices options.
    • AutoTable can now handle arrays with additional indices if given filters for those additional indices.
    • Alerts now use Bootbox rather than native browser dialogs.
    • AutoForm and AutoTable will pass array keys to validator and formatter functions.
    • AutoForm and AutoTable each have a new onDataSaved() method.
    • Chart has a new clear() method to remove a bound chart from a DOM element.
    • New component, LinkGrid, builds a link section based on provided configuration.
    • AutoForm and AutoTable will remove an array element if an empty string value is set in the input element.

Fixed in Release 2.0.3

Back to top
  • Problem status now captured only on insight_minimize/maximize. Not captured for mmxprs.minimize/maximize calls unless insight_minimize not used in model.
  • Now displays the correct licensing error message when license contains wrong hostid.
  • Fixed an issue where if the user configures an array A with a labels transformation, then tries to mirror the array in a table with another array B where B contains values for tuples that are not in A, the mirroring will fail with a NullPointerException.
  • Fixed an issue where incorrect handling of finalizatrion in the model could lead to an error on populating a scenario with input data during execution.
  • Fixed an issue where if the user modifies and saves values in very large arrays while Insight is generating the mirror tables, after about 1minute and 20 seconds, Insight sends a "PSQLException ERROR"message.
  • Fixed an issue where under some conditions system would allow only half of the number of concurrent users specified by the license file.
  • Fixed an issue that could limit the maximum number of concurrent scenario executions to 16.

New in Release 1.2.14

Back to top

  • Major feature enhancements
    • Change logging feature records each time a user edits a data entity for a scenario to a server log. Change log can be enabled per project and log rotation/management is configurable.
  • Analyst Client
    • Undo/Redo history for single scenario table view.
    • Improved Run Log pane now displays very large log files and supports keyboard and mouse navigation.
    • Support for unit conversions in single scenario table view. Conversion functions based on scale factor, offset and lookups into array data can be defined. The end user can switch between units in the UI.
    • Frozen header rows for tables.
    • A default sort order is now applied when the table view is opened. This can be disabled per entity in the companion file as it can be expensive for very large arrays.
    • Pasting data into a filtered table is now fully supported.
    • Pasted/imported data is now highlighted for ease of identifying where the data was inserted in the table.
    • Pasting boolean values is now case-insensitive for compatibility with Excel.
  • Misc
    • A filter that reduces the number of unique values in a index column to 1 now counts as reducing the dimensions of the data for the purposes of charting.

Fixed in Release 1.2.14

Back to top
  • Removed redundant second fetch of scenario data on saving changes to the server.
  • Copying from a table that has read-only columns and then pasting the data back into the table now functions as expected.
  • An issue with the data mirror that can prevent a project being deleted has been fixed.
  • An issue where pasting into a table with data that contains column header information can lead to data being pasted into the wrong column has been fixed.

New in Release 1.2.8

Back to top
  • Major feature enhancements
    • New Dashboard feature: The layout and configuration of an open set of views can be saved as a named dashboard and recalled later for a new selection of scenarios. Multiple dashboards can be created. Dashboards are private the user that created them.
    • New Tableau feature: This version of Insight can be integrated with Tableau Server such that Tableau vizualizations are presented as Insight views. The Flowshop example demonstrates a Tableau view is action.
    • New Mirroring feature: Insight can now be configured to mirror its repository as an uncompressed postgresql database to aid third party reporting tools in querying the data.
    • Significantly enhanced modular JavaScript View API for adding custom html views (legacy compatibility for versions prior to 1.1.9).
    • Updates to the JS component methods, especially constructors. These changes are not compatible with the draft edition of the components (1.1.9-1.2.3), see examples for a demonstration of the minor upgrade changes required.
    • The viewing, filtering and sorting of very large (1M+ rows) tables has been significantly improved, particularily on multi-core machines.
    • The Analyst client tables views have been upgraded to include copy/paste and csv import/export.
    • Scenarios can access the data of other scenarios (even across projects) from within the Mosel model using the new mminsight.scenariodata IO driver. Scenarios are referenced by their location (path) in the Insight repository.
    • New REST web service API for directly accessing the Insight Server.
  • Analyst Client
    • SetOwnerTo action from menu in Analyst Client to transfer ownership of a repository object to another user in the project.
    • Export/Import scenarios independent of the project.
    • Table filtering supports wildcards, comparison operators and regular expression matching.
    • Copy and Paste support in Table view.
    • Export/Import CSV content in Table view.
  • Custom HTML Views
    • JavaScript UI components are provided for forms, tables and charts that are designed to intergate seamlessly with the JavaScript API.
    • Best practice CSS styling provided, based on Bootstrap.
    • JavaScript API and components are now modular and versioned, and should be loaded into custom views with Require.JS. This change is not compatible with the first edition of the new JS API (1.1.9-1.2.3), see examples for a demonstration of the minor upgrade changes required.
    • Includes a basic web-client for demonstration purposes, available on http://<insight-server>:8860/insight.
    • Components and Bootstrap styling are now IE8 compatible.
  • Tableau and Mirroring
    • The Insight Installer now includes a component "Tableau Connect" which if installed (default is not installed) will configure a previously installed local Tableau 8 installation for use with Insight.
    • Option to use entity names or aliases(default) as the column names in repository mirror tables.
  • Administration
    • Insight Server can be installed as a Windows Service.
    • Port for management UI and REST API is now 8860, moved from 8080.
    • Management UI now allows new users to be added whilst LDAP/AD authentication is enabled. Authentication provider is displayed on the About box of the Management UI.
  • Misc
    • Lock holders username reported in error messages when there is a conflict.
    • Insight Server now bundles its own JRE.
    • Previous shortcuts (e..g those pinned to start menu) will no longer work as there is a new argument "-vm" required.
    • Custom authorities required by a project can now be specified in the cfile and will be created on project load if they dont already exist.
    • Repository import/export now includes custom authorities.
    • Entity hidden status is now tri-state true/false/always. True and false settings determine default visibility which can be overrdiden with a "show hidden" option on the UI. This enhancement now allows previously permanently hidden entities such as sets and label arrays to be made visible.
    • Authority requirements can now be specified for view interfaces in the Cfile XML. Users without the necessary authorities do not see the view interfaces as menu options in the UI.
    • Mosel model version now recorded and reported on project properties view.
    • Web content for custom HTML views is now served exclusively from the server and not copied to the local client filesystem.
    • Calls to exit in the mosel model with a non-zero value are now interpreted as scenario execution failure.
    • New project option to defer results deletion until either a. scenario is queued for execution or b. scenario executes. If one of these choices is selected then any input data modifications cause the results data to be marked as dirty but not deleted.
    • JS API errors in production (with the API debug setting turned off) will cause a message to be shown to the end user "This view has encountered an error and must close" followed by the view closing. This avoids a malfunctioning view causing performance issues in the client.
    • Custom views can now specify the user-defined authorities that they require before being available to the user. Java-based custom views can access the user authority list by API call. HTML-based custom views can specify required authorities in the companion file configuration section for the browser view interface.
    • Scenarios and VSGs now have an editable notes field available on the scenario properities view.
    • The scenario summary view is renamed to scenario properties view, accessible from the "Properties" menu option.
    • New properties view for a project lists all visible entities in the project model schema and the descriptions or entity type if available.
    • Project properties view now shows recorded model version for project.
    • Improved tooltips are now displayed against entities in the entity explorer and constraints in the model table. HTML or textual content from the entity description field of the companion file is displayed in the tooltip and can contain hyperlinks which open other views. The width and height of the tooltip can be specified by description element attributes.
    • The admin menu in the analyst client is now only accessible if the user has at least one administrator level authority.
    • The developer menu in the analyst client is now only accessible if the user has the DEVELOPER authority and starts the client with the developer command line argument or equivalent start menu option.
    • The JavaScript API had an undocumented feature that implicitly saved the scalar values in the HTML form called 'mainform'. This is no longer supported and the view must now set the scalar values explicitly.
    • ViewData methods have been removed from the XPRIServerModel interface. Any data previously stored using XPRIServerModel.setViewData will be deleted from the repository when Insight 1.2 is installed.

New in Release 1.1.9

Back to top
  • Multiple JavaScript API enhancements:
    • Insight is now a singelton, use Insight.getView(), not new Insight().getView().
    • New Entity.isHidden() method.
    • New Insight.ready() function, implements a reliable means of executing page code only once JavaScript API becomes available.
    • New Scenario.getScenarioType() to differentiate Scenario, Virtual and Baseline types of Scenario object.
    • New executionStatus.isExecuting(), executionStatus.isQueued() methods.
    • Scenario creation and modification dates now return JavaScript Dates.
    • Improved return values for Scenario.getShareStatus() and Scenario.getModelStatus().
  • New Query Schema example.
  • Developer Guide, examples and templates updated to reflect new API features.
  • Additional parameters exposed in LDAP configuration for ActiveDirectory support.

Fixed in Release 1.1.9

Back to top
  • JavaScript API fixes:
    • Correct handling of scenario.currentExecutionStatus() if scenario has not ever been executed.
    • Fixed IE8 compatibility issue with Autotext and Autoform draft components.
  • Fixed an issue caused by client resource files >256K in size.
  • Fixed an issue with aggregation operation in Table view.
  • Fixed an issue where JavaScript code in the custom view page was being executed by the browser before the Insight API was available. See Insight.ready() for more details.
  • Fixed an issue with XML selection criteria options for custom views whereby custom views were appearing against the wrong type of selection.

New in Release 1.1.8

Back to top
  • New JavaScript API providing increased functionality for custom HTML views.
  • Previous JavaScript API is deprecated but a compatibility mode is included in this release.
  • Custom HTML views now support multiple scenario selections.
  • New JavaScript Components (beta) providing reusable objects, css styling and page layouts to quickly build custom HTML views.

Fixed in Release 1.1.8

Back to top
  • The client will no longer fail to connect when there are multiple active network adapters.
  • A problem where missing update events might cause a multi-scenario view to partially/incorrectly update has been fixed.
  • The Model table now correctly updates across multiple clients.
  • When an multi-scenario chart is opened from a table view, the sort order of the scenarios is replicated in the chart view.
  • The objective value is only displayed in the core views if at least one feasible solution has been found.

New in Release 1.1.5

Back to top
  • Support for multiple clients (real time syncronisation between clients).
  • Support for multiple optimization services.
  • Enterprise configuration supports remote clients and optimization services.
  • Multi-user, authority based access control.
  • User management web interface for managing users, projects and authority groups.
  • Object/scenario ownership and sharing (private, readonly, full).
  • Option for LDAP based authentication.
  • Repository supports per-project nested folder structure for organising scenarios.
  • Folder scoped actions including viewing (multi-scenario views), move, delete and scenario execute.

Fixed in Release 1.1.5

Back to top
  • Failure of the Analyst Client to connect to the Server is now reported correctly, previously the client would hang with no feedback.
  • Scenario sort order now propagated from multi-scenario table to chart.

New in Release 1.0.9

Back to top
  • Updated, cleaner default styling for charts.

Fixed in Release 1.0.9

Back to top
  • When creating a chart from a filtered table, the chart now displays the filtered rather than unfiltered data.
  • Reset layout now correctly restores the window layout if panes are hidden.
  • A problem with column header menus not being accessible after scrolling the table has been corrected.
  • The edit menu is now available the first time the insight analyst client is run for a new installation.
  • Setting the default view for all object types now works as expected.
  • The x-axis data selector on the chart settings dialog now functions correctly in all cases.
  • The default data selection for the series dimension is now consistent between pie chart and other chart types.
  • The To Chart option now behaves as expected for tables with one or more columns of string data.
  • Index groups added as columns into a table can now be removed again.
  • Column ordering is now consistent for the model table.
  • Custom axis scale settings are now applied correctly when chart type is changed.
  • Empty selection list removed for aggregations on a single dimension array.
  • A warning is now shown if an exported repository, project or job will overwrite an existing file of the same name.
  • Deleting a project now deletes all associated jobs from the job queue.
  • Table views are now rendered correctly when the related scenario is executing.
  • Parameter values are now expanded with the {param_name} syntax in the html view.
  • Changing the name of a scenario is now reflected in all open views.
  • An issue with not being able to edit boolean data correctly has been fixed.
  • The x-axis selector option on the chart settings dialog for selecting the x-axis to be per-scenario is now labelled "scenarios" rather than being a blank entry.
  • A number of product documentation corrections have been made.
  • The facility location example referenced in the user guide is now included.
  • The source to the example from chpater 5 of the developer guide is now included.
  • A problem with the installer executing the setup.exe from another program if it is found in the downloads directory has been fixed.

New in Release 1.0.8

Back to top
  • New software Xpress-Insight for rapid deployment of optimization applications to business users (seperate download, contact your sales office for more information).
  • Creation, editing and persistence of Optimization scenarios (mosel model, input data, results data) and groups of (virtual) scenarios.
  • Managed execution queue based on Distributed Mosel technology.
  • Automatic relaxation of model constraints when infeasibilities are encountered with user controlled violation costs and limits.
  • XML files for configuring exposure and presentation of model terms to users.
  • Configurable tabular views for editing and comparing scenario data with sorting, filtering and aggregation.
  • Configurable chart views for data exploration and visualisation with bar, line, scatter, area, pie charts.
  • Public API for adding custom views using web or java technology.
  • Public API for adding custom client applications.