The CXR 17.13 release encompasses both New Features and Bug Fixes/Behavior Changes. New Features that were completed in this version revolve around improving some of our controls within Airkit Studio, specifically in supporting more variable references and metadata.  Many of the bug fixes and behavior changes improve visibility into error messaging, Airscript variable references and behaviors within controls that were not working properly.

New Features

Ability to set minimum and maximum days out for the Date Picker Control.

The date picker control now supports “minDaysOut” and “maxDaysOut” properties. These allow you to specify date ranges from which dates can be picked. 

In the example below, you see a Date Picker for the future, with minDaysOut = 5 and maxDaysOut=10. This was done on Aug 5th, 2021 so the valid date ranges are from Aug 9th - Aug 15th.

image11.png

Credit Card control now support Stripe description and metadata.

The Credit Card control now allows you to pass custom metadata to the Stripe API. This enables you to pass metadata to associate with a particular charge. Metadata must be formatted as an object of keys and values. All keys and values alike must be strings.

image2.png

Airscript supports variable references

Airscript now supports variable references.  In the past, variables were always passed “by value” where they were essentially copied anytime you wanted to use them somewhere else in Studio.  Limitations of this were that you were unable to change the value of an “item” in controls and also not able to “data bind” properties to controls.

Now you are able to update values in more places and get modified data back to the activity without needing to create an event for each piece of data change.  In the first image below, you can see that you can pass writable variables to Custom Controls.  Additionally, in the second image, you can mutate variables with an alias, such as “item”.

organizing info

image9.png

 

Custom controls have internal state

Custom Controls now allow you to drive your own internal variables where previously they were reliant on inputs and events to pass data.  This will help with validation and making more concise inputs for Custom Controls.  In the image below, you can see validate through a App Preview for the viewState for a Custom Control. 

image8.png

Bug Fixes and Behavior Changes

Airscript will "successfully" evaluate an expression with a non-existent function.

Resolved an error situation when a user tries to run a transformation using a function that does not exist within Connection Builder. Previously, when a user attempted to run a function that was non-existent, it would return with a “Successfully ran step” message within Connection Builder, which waswould be confusing.  As you can see below, now when a user tries to run a non-existent function, then it will return an error.

organizing info

Simplified options for the Date Picker Control.

The “duration” option for the Date Picker control was never properly supported and may have confused users on how it works.  The option was presented within the “Period” field in the Inspector area.  Now users only have to configure the “Date Picker Layout” field and the “Date Range” field for the Date Picker control.  The image below shows the two configuration fields.

organizing info

Fixed behavior of Airscript functions used in Drop Down selector.

We resolved a bug where the Airscript function within Drop Down selectors properties where attempting to compare 2 seemingly identical objects would always return FALSE.  The example here: { foo: “bar” } = { foo: “bar”} would return FALSE.  We have updated Airscript equality checks to use a value equality that will now return TRUE.

 Note: while rare, this could lead to more equality checks returning true now.

Fix status reporting of periodic tasks.

Periodic tasks that took advantage of async data flows would erroneously report as “successful” before all async tasks finished executing, leading to more difficult debugging to find out if the task actually failed. The success/failure status for a period task will now be reported after all async tasks complete, so the status should be more accurate.

Fix behavior of URI_TO_ASSET.

We resolved a bug for the URL_TO_ASSET function that would return null when there would be an improperly formatted asset URL. We have improved this where it now should throw an Application Error. Screenshot below.

image1.png

Renamed FACT_FLOAT function to FACTDOUBLE.

We resolved a bug with the function for FACT_FLOAT which was an erroneous name.  We corrected it now so that the function is called FACTDOUBLE.  This function is used within Airscript when a user wants to use double factorial calculation for a value.

Map Controls now work in custom controls.

We improved the Map Control by building the capability to work inside custom controls.  Previously, this control was not able to work inside custom controls due not having the ability to store its variables.  We addressed this by allowing the control to write internal variables within the custom control where users can use those as data binding to the Map input. 

organizing info