OpenFin, SAML2 authentication, improved dashboard layout tools & more

Release Notes May 2020

We are introducing many new features and performance improvements in AMI this month. See below for all of the features and enhancements.


• Support for OpenFin
AMI Dashboards can now seamlessly publish/subscribe to message buses, and utilize the request/response interface. Additionally, there is a full API to interface with OpenFin’s Window Management.
• Support for the Security Assertion Market Language v2 (SAML2)
Authentication can be delegated to an identity service provider.
• Enhancements to the Command Line Interface and AMIDB database session.
Local variables can be defined. Ability to set session level timezone and time formatting options.
• Dashboard Object Browser for searching/managing all elements within a dashboard.
A new tool has been added to provide a consolidated view of all resources within all actively loaded layout files. This includes Panels, Relationships and Datamodels. Quickly search for dependencies, etc.
• Improved SCM
Ability to view changes to individual Objects, such as a datamodel, etc.
• A new scroll panel for a smarter way of reacting to Changes in window size
Any number of panels can be combined together and share a single scroll panel, instead of scrolling individually.

Datasource Adapters

• URL configuration
JDBC Adapters now support the OVERRIDE_URL=url option to allow manual configuration of URL in more complex configurations.
• Customizable file format
Flat file Adapter can write files now when the WRITE_ENABLED=true option is set. The file format is customizable using a series of options.

GUI Framework Integrations

• Added OpenFin Adapter
19 functions and 5 callbacks have been added to provide support for OpenFin integration.
• Added to Finsemble: maximizeWindow
Call to maximize a Finsemble embedded window.
• Added to Finsemble: minimizeWindow
Call to minimize a Finsemble embedded window.
• Added to Finsemble: moveWindowTo
Call to Move Finsemble window to a location on a multi-monitor configuration.

Command Line Interface

• Added setlocal string_template=on/off
If enabled (on) then ${…} will be interpreted as a string template, otherwise it’s considered literally.
• Added setlocal unprintable_chars=print
If set, then unprintable chars will be sent to the terminal.
• Added setlocal password_encrypt=on/off
If true, then the password supplied at LOGIN should be encrypted, set strEncode/strDecode methods.
• Added setlocal timezone=…
Set the timezone for this session only.
• Added setlocal datetime_format=…
Set the datetime format for this session only, controls how UTC and UTCN variables are displayed.
• Non-SQL expressions
Command line will now evaluate non-SQL expressions, ex: 5 * 3.


• Added SAML support
• AmiClient SSL connection Support
The class can be supplied with a certificate for connection to the relay.


• Added option
If set, print out various environment conditions at startup, including java version and class paths.
• Added amiscript.db.variable.xxxxx to AMI Center properties
Set global variables that can be read within the AMIDB sessions.
• Added ami.port.keystore.file and ami.port.keystore.password
See Security -> AmiClient SSL Connection.
• AmiClient has DebugMessages option
If set debug messages are they sent/received from the AMI Relay.

AMI Script

• Added Class Methods
» Datamodel::processSync()
Requery a datamodel, returns true on success.
» FormSliderField::resetRange()
If the min or max values have been set via amiscript, this resets to default config.
» FormRangeSliderField::resetRange()
If the min or max values have been set via amiscript, this resets to default config.
» FormSelectField::resetOptions()
If options have been manually set using amiscript, this resets to default values.
» FormMultiSelectField::resetOptions()
If options have been manually set using amiscript, this resets to default values.
» FormField::setCssClass()
Set css Class. Empty string for no css.
» FormField::resetCssClass()
Reset css class to default (as configured in AMI editor).
• Add new classes for amiscript
» DevTools
» FilterPanel
» TreePanel
» HeatmapPanel
» ChartPanel
» ChartPanelAxis
» ChartPanelPlot
» ChartPaneLayer
» SurfacePanel
» SurfacePanelAxis
» SurfacePanelLayer
» ScrollPanel
• Added Methods
» strClassName(…)
Get class name of the selected value.
» strCharAt(…)
Get a single character from a string at a given position.
» percentDiff(…)
Returns diff(a,b) / avg(a,b).
» percentChange(…)
Returns (new-old) / old.
» roundNearestDown(…)
Round down to the closest multiple of bucketSize.
» roundNearestUp(…)
Round up to the closest multiple of bucketSize.
» RoundNearest(…)
Round to the closest multiple of bucketSize,
ties round down.


• Multiple tables
USE …. EXECUTE can return multiple tables.
Show all variables in scope.
Show running processes available in the AMIDB.
Show all static and member methods in scope.
• Added __SESSIONID to ImdbSession
Read-only Variable that stores the ID of the current session.
• Added __USERNAME to ImdbSession
Read-only variable of the username for the current database session.
• Support SHOW … LIMIT …
SHOW command is now consistent with SELECT command in supporting LIMIT clause.


• Added Help to FormFields
Labels of fields in a dashboard can have hover over text for providing additional help/information to the user.
• Active tab
When a tab is popped-in / redocked it becomes the active tab.
• Tab Style tabPaddingStart – Number of
• Added Table Header Divider color via cell border color
• Newly styled desktop bar (colored logo, thin border)
• Enhanced menu styling (border styling)
• Choose Excel formatting from user settings
Users can now choose personal preference of how Excel files are formatted when saved.

Developer Tools

• Resource MANAGER
When right clicking on a resource, conveniently get the relative and absolute URL.
• Visualization panels
Added setting to disable the clearing of Visualization Panels when underlying data models are actively running.
• Dashboard search
View/Search dashboard objects (relationships, datamodels, panels) from a tool.
• Python errors
Improved handling of errors in embedded Python script.
• Version control
Add support for version control (viewing history) for dashboard objects.
• Better support for GIT Scm
Modified vs Changed Files.
• Panel styling
When Styling Container Panels, you can choose to cascade the change to inner Panels.

If you have any questions about these
new features or would like a demo,
please email