New Functionality and Changes Introduced with FICO Xpress Executor 4.1
Summary
- The Web Client has been re-designed to improve layout and usability.
- Integration with FTS file management system for uploading and downloading large data files by https or sftp.
- 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.
Web Client
- A revised layout increases the available space for Views.
- Scenario Explorer is now dialog based and is opened by clicking on the Selection Shelf.
- View groups are now supported. Views can be assigned to groups. The View Navigator drop-down displays all available views in their groups.
- The 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.
- A new scenario icon indicates when a Scenario load or run action completes with errors.
- A 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.
FTS integration
- Optimization Modeler can be configured with the credentials for a FTS account through the DMP user interface.
- The facfiletransfer mosel package provides functions to transfer files to and from the FTS file system.
- Account access to the Chicago FFTS service should be requested through mailto:support@fico.com for existing customers.
JavaScript API 2.0
- Scenario data access and modification is fully asynchronous. Synchronous constructs removed.
- Scenario properties such as name, notes, owner, and so on, are obtained through view.getScenarioProperties().
- Scenario entities and summary data (entities, hasResults, isLoaded, and so on) 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 automatically and asynchronously. For example:
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 have been introduced to contain and observe local view data (as opposed to persisted scenario data). View Properties are set with view.setProperty(), observable through 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. The 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
- 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.
- VDL 2.0 is implemented on JS API 2.0. VDL 2.0 is required to adopt the performance 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.
- a new VDL 2.0 custom runner template is provided in the Quick Start project.
- 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).
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 (for example, reduced costs, and constraint type) are no longer mirrored by default.
© 2001-2019 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.