New Features and Enhancements in V9 Service Pack 2
In this release, the following features have been introduced to provide an enhanced Volt MX Iris experience.
- Performance Improvements
- Create and Use Form Templates
- Component Updates
- Component Versioning Enhancement
- Update Existing Components
- Tooltip for Properties of a Component
- Support to Add Components Within a Segment
- Reorder Properties and Groups
- Generate getters and setters of a custom property
- Define Conditional and Dependent Properties for Components with Contract
- Support for JSON as a Property Type for Components with Contract
- i18N as a Pass-through Property for Components with Contract
- Expose Component Event as a Pass-through Event in a Component with Contract
- Data and Services Panel Enhancements
- Test Automation Enhancements
- Responsive Web Enhancements
- Android Enhancements
- Support for Android Target SDK 30
- 5G Network APIs
- In-App Update APIs
- In-App Review APIs
- Battery Optimization APIs
- Google Play Update and Error Handling APIs
- Auto-Reset Permissions
- Disable Auto-Reset Permissions
- Security Provider Patching
- Suggest Hints for Text Fields
- Launch Settings
- Install Source Details
- Background Location Access
- GeoLocation API Enhancements
- Package Visibility Updates
- Authenticate using Device Credentials
- Cryptography API Enhancement - Base 64 String Support
- 2G and 4G Network Updates
- Biometric Authentication Enhancements (Beta)
- Support for Widget Extensions
- Sign In With Apple
- ARRenderer Widget Enhancements
- Video Widget Enhancement - Closed Captions Support
- ListBox Widget Enhancements
- zIndex Support for Map Methods
- Text Widget Enhancement -
- Calendar Widget Enhancements
- Modify Skin Properties at Run time
- Haptic Feedback Support - watchOS
- Accessibility Enhancement
- Security Enhancements
- Component to Integrate Vector Animations - HCL Forge
PERFORMANCE IMPROVEMENTS
In the V9 Service Pack 2 release, several enhancements have been made at the core of Volt MX Iris to improve the performance. Volt MX Iris has implemented an on-demand approach to load assets that reduces the time taken to load and refresh a project. This enhancement is especially noticeable in larger projects. In addition, users will also notice faster Form saves and rectification. The memory footprint of Volt MX Iris has also been significantly reduced.
Create and Use Form Templates
In the V9 Service Pack 2 release, Volt MX Iris introduces a feature that provides an easy way to reuse a form as a template across the project. Using Form Templates, you can display the same UI pattern across multiple forms, platforms, and projects. To use Form Templates, you must first create a form with the required UI elements and add it to a Collection Library. You can then drag-and-drop the template from the collection library onto a form or import the template into your project.
For more information on this feature, click here.
Component Updates
Component Versioning Enhancement
In the V9 Service Pack 2 release, Volt MX Iris introduces support to view the version number and store multiple versions of a component under the My Libraries section. Components from the libraries can be directly added to a form or to the Project Components.
For more information on viewing and storing multiple versions of a component, click here.
For more information on adding multiple versions of collections from Templates, click here.
Update Existing Components
In the V9 Service Pack 2 release, Volt MX Iris introduces support to update an existing component to a desired higher version. You can view all the higher versions of a component in the Update Component dialog box, and then select the version that you want to update to.
For more information on this feature, click here.
Tooltip for Properties of a Component
In the V9 Service Pack 2 release, Volt MX Iris introduces the Tooltip feature for the custom properties of a Component with contract. Developers can provide detailed information about the functionality of the property that appears when a developer using the component hovers over the property in the component.
For more information on this feature, click here.
Support to Add Components Within a Segment
In the V9 Service Pack 2 release, Volt MX Iris introduces support to add components (with contract) within a Segment Template.
For more information on this feature, click here.
Reorder Properties and Groups
In the V9 Service Pack 2 release, Volt MX Iris introduces the Reorder Properties option that enables developers to re-order or re-arrange the properties or groups of a Component (with Contract).
For more information on this feature, click here.
Generate getters and setters of a custom property
In the V9 Service Pack 2 release, Volt MX Iris supports the automatic generation of the getters and setters of a custom property. When you create or modify a custom property through the Manage Properties dialog box, the getters and setters of the property are automatically added to the initGettersSetters function in the controller file of the component.
For more information on this feature, click here.
Define Conditional and Dependent Properties for Components with Contract
In the V9 Service Pack 2 release, Volt MX Iris introduces the conditional rendering of properties feature allows you to define conditions and dependencies between properties for a component with contract. For example, using this feature, you can update the visibility of a dependent property based on the value of another property.
For more information on this feature, click here.
Support for JSON as a Property Type for Components with Contract
In the V9 Service Pack 2 release, Volt MX Iris introduces support to provide JSON as a Property Type for custom properties in the Manage Properties section for components with contract.
For more information on this feature, click here.
i18N as a Pass-through Property for Components with Contract
From Volt MX Iris V9 Service Pack 2 release, you can add i18N properties as a Pass-through property for Components with contract. This helps users support Internationalization more easily in the components with contract. You can add the property from the Manage Properties section of the Components or add the property directly from the Properties panel.
For more information on this feature, click here.
Expose Component Event as a Pass-through Event in a Component with Contract
In the V9 Service Pack 2 release, Volt MX Iris enables the capability to expose an event in a component with contract as a pass-through event. The pass-through event at the instance can then be used to modify the existing functionality in the event or to extend the functionality of the event.
For more information on this feature, click here.
Data and Services Panel Enhancements
-
Support to Add Custom Verbs to a Form
From Volt MX Iris V9 Service Pack 2, you can drag and drop a Custom Verb from the Data and Services panel onto a form. Custom Verbs along with the fields and attributes of the custom verbs appear in the Data and Services panel. When you add a Custom Verb to a form, Volt MX Iris generates a popup that allows you to select templates for both the Request and Response UI generation.
For more information on this feature, click here.
-
Support to Add Child Objects to a Form
From Volt MX Iris V9 Service Pack 2, you can drag and drop Child Objects from the Data and Services panel onto a form. When you add a Child Object to a form, Volt MX Iris generates a custom UI for the Child Object and sends the metadata to the Volt MX Foundry Console.
For more information on this feature, click here.
-
CRUD Forms will now automatically ignore the Child Objects when you select a form from the Data and Services panel at the service level. For more information on this feature, click here.
Test Automation Enhancements
Configure Timeout for a TestCase
Prior to the V9 Service Pack 2 release, there was no option to configure the timeout for individual test cases, and a default timeout of 5 seconds was applied to all test cases. In the V9 Service Pack 2 release, Volt MX Iris has introduced the Timeout feature in the Testcase Recorder window that allows you to configure the timeout value for each test case. This feature enables developers to identify the timeout value for each test case and then configure the timeout value.
For more information on this feature, click here.
View Screenshots of Failed Expectations
From Volt MX Iris V9 Service Pack 2, you can view the details of all the failed expectations of Jasmine Test Automation in the Results window of the Automator. The Results window displays a list of all the failed expectations along with the name of the test case, line in code, column number, test message, stack trace, and the screenshot of the failure.
For more information on this feature, click here.
Add Assertions in Test Case Recordings
The Test Recorder in Volt MX Iris now supports all the assertion types provided by Jasmine Test Automation.
For more information on this feature, click here.
Automatically Add WaitFor for a New Test Case
From Volt MX Iris V9 Service Pack 2, when a user performs an action to Navigate to a new form, the Test Case Recorder automatically adds the waitFor statement during the recording to ensure that the test execution considers the wait time for the form load.
For more information on this feature, click here.
Responsive Web Enhancements
Custom CSS Splash Screen
In the V9 Service Pack 2 release, Volt MX Iris introduces support to implement CSS and HTML capabilities in the splash screen for Responsive web apps, by using Custom CSS and Custom HTML code. Prior to the V9 Service Pack 2 release, you could only use images to implement the splash screen for Responsive Web apps.
For more information on this feature, click here.
Protected Mode CI Build
In the V9 Service Pack 2 release, Volt MX Iris introduces support to build web applications in the Protected mode by using the CI (Continuous Integration) build feature.
For more information on this feature, click here.
Android Enhancements
Support for Android Target SDK 30
Support for the Android R (API level 30) Target SDK has been added in Volt MX Iris.
For more information on this feature, click here.
5G Network APIs
As the Android Framework has provided support for 5G network connection, Volt MX Iris has introduced support for the following 5G Network APIs
In-App Update APIs
On devices that use target SDK API version 21 (and later), the Google Play Core library allows in-app updates. By using the In-App Update APIs, developers can notify the user (while the user is using the app) that an app update is available for download.
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the following in-app update APIs
- voltmx.application.checkForAppUpdate
- voltmx.application.completeAppUpdate
- voltmx.application.registerAppUpdateListener
- voltmx.application.requestForAppUpdate
- voltmx.application.unRegisterAppUpdateListener
In-App Review APIs
From the Android 5.0 (API level 21) release, the Google Play Core library supports the in-app review feature that provides users with an option to provide a review for the app (while the user is using the app).
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.application.requestReviewFlow API that provides information required to launch the in-app review flow for an app.
In addition, the voltmx.application.requestReview API has been enhanced to accept config as an input parameter.
Battery Optimization APIs
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the following Battery Optimization APIs:
- voltmx.application.isIgnoringBatteryOptimizations
- voltmx.application.launchBatteryOptimizationSettings
- voltmx.application.requestIgnoreBatteryOptimizations
Google Play Services Update and Error Handling APIs
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the following APIs that can be used to check the status of the Google Play Services:
- voltmx.gms.getStatusString
- voltmx.gms.isBaseLibraryAvailable
- voltmx.gms.isGooglePlayServicesAvailable
- voltmx.gms.isUserResolvableError
- voltmx.gms.makeGooglePlayServicesAvailable
- voltmx.gms.raiseGooglePlayErrorResolutionIntent
- voltmx.gms.showCustomErrorNotification
- voltmx.gms.showErrorNotification
- voltmx.gms.showResolutionDialog
Auto-Reset Permissions
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.application.isAutoRevokeWhitelisted API that helps users determine whether an application is exempt from having its permissions be automatically revoked when the app is unused for an extended period of time.
Disable Auto-Reset Permissions
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.application.launchAutoRevokeSettings API that helps users navigate to the application permissions page in the system settings. In the permissions page, the user can configure the system's ability to automatically revoke the app permissions.
Security Provider Patching
The Android Framework relies on Security Providers to provide secure network communications. To protect against intermittent vulnerabilities with the default security provider, Volt MX Iris introduces support for the voltmx.gms.getSecurityProvidersList, voltmx.gms.installSecurityProvider, and voltmx.gms.installSecurityProviderAsync APIs. By using these APIs, developers can ensure that the device has the latest security provider updates that protect against security exploits.
Suggest Hints for Text Fields
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.gms.requestHint API that provides appropriate text suggestions as hints in situations where users need to fill text input fields (such as the email address or phone number fields in a sign-up form).
Launch Settings
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.application.openSettings API that launches the specified settings screen.
Install Source Details
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.application.getInstallerSourceInfo API that returns the package name from which the application was installed. The package name helps in identifying the market that the application was downloaded from.
Background Location Access
Apps that run on Android 11 (API level 30, or later) devices must already have access to foreground location before requesting for background location access. If the user denies permission for background location access, you can provide an educational UI to the user by using the voltmx.application.getBackgroundPermissionOptionLabel API. The API provides the text for the option that educates the user to grant background access permission.
GeoLocation API Enhancements
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.location.checkLocationSettings API that allows you to check whether the current location settings meet the desired accuracy settings. In addition, support for the accuracyMode, requestModifyLocationSettings, and improveBGLocationUpdateFrequency parameters have been added in the positionoptions parameter of the voltmx.location.getCurrentPosition and the voltmx.location.watchPosition APIs.
Package Visibility Updates
Android 11 introduces restrictions on how apps query and interact with other apps installed on a device. Apps must use the <queries>
element to define other packages that the app can interact with. In addition, you must add the <queries>
element in the Android Manifest Entries to view a filtered list of email applications while using the filterEmailAppsOnly parameter of the voltmx.phone.openEmail API. Further, when you build an app in Protected Mode, you must add the donotAddQueryAllPackages = true
entry in the androidbuild.properties file to disable the automatic addition of the QUERY_ALL_PACKAGES permission in the Android Manifest file.
For more information on this feature, click here.
Cryptography API Enhancement - Base 64 String Support
In the V9 Service Pack 2 release, the voltmx.crypto.createHash, and voltmx.crypto.createHMacHash have been enhanced to accept an additional input parameter, options. The options parameter is a data dictionary that contains the returnBase64String key.
Authenticate using Device Credentials
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the constants.LOCAL_AUTHENTICATION_MODE_DEVICE_CREDENTIALS as an Authentication Mode constant has been added in the voltmx.localAuthentication.getStatusForAuthenticationMode API. This constant determines whether the device has either PIN, PATTERN, or PASSWORD configured as the authentication mode.
2G and 4G Network Updates
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the requestWithPermission key in the optionsConfig parameter of the voltmx.net.getActiveNetworkType and voltmx.net.isNetworkAvailable APIs. By using the requestWithPermission key, developers can obtain information on whether a 2G or 4G Network is used for network communication. In addition, the voltmx.net.getActiveNetworkType has been enhanced to accept a callback function that is invoked when the value of the requestWithPermission key is set to true
.
Biometric Authentication Enhancements (Beta)
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the voltmx.localAuthentication.requestBiometricsEnroll API that requests users to set up biometric authentication. In addition, enhancements have been made to the Local Authentication APIs based on a Beta version of the Android Library to provide more security and a better user experience.
Support for Widget Extensions
In the V9 Service Pack 2 release, Volt MX Iris introduces support to customize existing Flare Volt MX widgets by using the voltmx.ui.defineExtendedWidget API to create a new widget with additional functionality. Once you create the custom widget, you can use it as a regular widget across your project.
Sign In With Apple
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the SigninWithApple widget that enables application users to sign in to apps and websites by using their Apple ID. Use the voltmx.ui.signInWithApple to create the SigninWithApple widget. You can then use the voltmx.signInWithApple.evaluateCredentialStateforUserID to get the current state of an opaque user ID that was specified previously.
For more information on this feature, click here.
ARRenderer Widget Enhancements
Save and Retrieve Real World position
In the V9 Service Pack 2 release, Volt MX Iris introduces support to save the real-world position or planes, and then add a 3D object to that area. In addition, developers can also retrieve the same object when they scan the same plane.
To support this feature, the following properties and methods have been added to the ARRenderer widget:
- canSaveExperienceCallback property
- enableCloudAnchors Property
- clearExperience Method
- hostCloudAnchor Method
- loadExperience Method
- resolveCloudAnchor Method
- saveExperience Method
Real-time Image Recognition and Overlays
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the startARImageDetection and stopARImageDetection methods for the ARRenderer widget. Using these methods, developers can scan an image and overlay another image or a video on top of the scanned image.
VIDEO WIDGET ENHANCEMENT - CLOSED CAPTIONS SUPPORT
In the V9 Service Pack 2 release, Volt MX Iris introduces support to display Closed Captions in the Video widget. Developers can add captions tracks and enable the captions.
To support this feature, the following properties and methods are added to the Video widget:
- enableCaptions property
- tracks property
- setTracks method
ListBox Widget Enhancements
Enhancements have been made to the ListBox widget on the Desktop Web channel to provide the same capabilities as a ListBox widget on the Mobile Native channel. In the V9 Service Pack 2 release, Volt MX Iris introduces support for the following properties to enable the addition of Skins to the ListBox items on the Desktop Web channel:
zIndex Support for Map Methods
In the V9 Service Pack 2 release, Volt MX Iris introduces support to provide the zIndex for the pins and shapes added to maps. While using the Map widget, you can add the zIndex parameter to the following methods:
Text Widget Enhancement
-
Support for textCopyable property
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the textCopyable property for the TextBox and TextArea widgets. By using this property, you can enable or disable the cut, copy and paste actions on the text entered in the TextBox and TextArea widgets.
-
The Desktop Web platform now supports the following properties of the TextBox and TextArea widgets:
- autoCapitalize Property
- restrictCharactersSet Property
- textInputMode Property
Calendar Widget Enhancements
Enable or Disable Dates
In the V9 Service Pack 2 release, Volt MX Iris introduces the enableOrDisableDates property for the Calendar widget. Using the enableOrDisableDates property, developers can enable or disable the list of dates for the Calendar widget to display.
Repeat Events in Intervals
In the V9 Service Pack 2 release, the voltmx.phone.addCalendarEvent API is enhanced to accept Interval as an input parameter. By using the Interval parameter, developers can configure an event on the calendar to repeat on a biweekly, quarterly, or semi-annual basis.
Calendar Enhancements for Responsive Web
Prior to the Volt MX Iris V9 Service Pack 2 release, you had to click the Calendar icon, and then click the month or year from a grid view, and then confirm the selections. From Volt MX Iris V9 Service Pack 2, the Calendar widget has been enhanced with a new look that lets you select the month and year from drop-down lists. Additionally, support for the following attributes has been added in the viewConfig property of the Calendar widget:
In addition, the calendarMonthYearSelectionDropdownView parameter has been added in the voltmx.application.setApplicationBehaviors API. This parameter allows you to enable or disable the new look of Calendar widget.
Modify Skin Properties at Run time
In the V9 Service Pack 2 release, Volt MX Iris introduces the voltmx.theme.setSkinsProperties API. By using this API, developers can dynamically configure the Skin properties for a widget. In addition, support for the following properties is added for a few widgets (such as Button, Calendar, Camera , CheckBoxGroup, FlexContainer, Label, ListBox, RadioButtonGroup, RichText, TextArea2, and TextBox2 widgets):
- backgroundColor
- backgroundColorMultiStepGradient
- backgroundColorTwoStepGradient
- backgroundImage
- borderColor
- borderColorGradient
- borderStyle
- borderWidth
- cornerRadius
- disabledStateSkinProperties (available on the Android platform)
- focusStateSkinProperties
- fontColor
- fontFamily
- fontSize
- fontStyle
- fontWeight
- hoverStateSkinProperties (available on the Responsive Web platform)
- pressedStateSkinProperties (available on the Android platform)
- shadowColor
- shadowOffset
- shadowRadius
- textShadowColor
- textShadowOffset
- textShadowRadius
Haptic Feedback Support - watchOS
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the following events that can be used to provide haptic feedback on the watchOS:
Accessibility Enhancement
In the V9 Service Pack 2 release, Volt MX Iris introduces support to provide 0 or -1 as a value for the tab order . Prior to the V9 Service Pack 2 release, developers could only set values that were greater than zero.
For more information about this feature, click here.
Security Enhancements
The following security enhancements have been made in the V9 Service Pack 2 release of Volt MX Iris:
-
Enable Android Verify Apps
Support for the following set of SafetyNet APIs has been added as part of the Volt MX Iris V9 ServicePack 2 release:
-
Attestation API
For more information on this feature, click here.
-
-
Prevent Android Tapjacking
In the V9 Service Pack 2 release, Volt MX Iris introduces support for the filterTouchesWhenObscured parameter in the voltmx.application.setApplicationBehaviors API to protect Android apps against Tapjacking mechanisms.
Component to Integrate Vector Animations - HCL Forge
In the V9 Service Pack 2 release, a new component has been added to HCL Forge that can be used to integrate vector animations in Volt MX apps. This component simplifies the integration with Lottie and provides the necessary tooling that enhances the user experience of integrating vector animations into apps.
For more information about this feature, click here.