V6.23 upgrade 7-27-18

  1. “Get service by id” and “Get contract by id” actions have been added for Mindbody.

  2. Fixed the Extension - Server-Side Script module so that XML datastreams inserted into the PHP code now have dollar signs escaped, so PHP doesn’t interpret them as variable declarations.

  3. The Action module has a new checkbox setting that lets the automation engine iterate the action if the mapped input data contains array values. The iteration only occurs if all arrays have the same size. If the action assembly contains an Action Output module, it will emit arrays of output values containing the output for all iterations of the action.

  4. Fixed the OAuth v2.0 Workflow module so that unchecking the “append state parameter” option functions correctly.

  5. The 500px integration has been deprecated b/c their API is no longer public.

  6. The Google Talk integration has been deprecated b/c they have a different API for Hangouts.

  7. The baseline docker-compose.yml now includes a Tomcat volume /home/data/apiant/appResources:/usr/local/tomcat/webapps/apiant/appResources so that image resources are persisted.

  8. Fixed the parsing of the query string sent by the Execute Automation action such that the receiving automation can access the first parameter’s value in the query string.

  9. The Trigger - Emit New Items, Trigger - Emit New Items (Gated), and Emit New Items modules now all perform case-insensitive comparisons of item identifiers. The primary reason is that is it common to use email addresses as unique identifiers, for which case should be ignored.

  10. The Admin Console’s “Automations” page now correctly reports the “total tasks this month” for all tenants when the “view all” checkbox is checked, rather than reporting just the total tasks for the master system and not the tenants.

  11. Added “Unary Protocol Thread”, “Get Unary Protocol Thread Settings”, “Send Unary Protocol Thread Payload”, and “Receive Unary Protocol Thread Payload” modules to support integrating protocols that always need to be connected, like XMPP for Jabber.

  12. The Admin Console has a new “Protocol Threads” screen to turn protocol threads on and off. Once activated, a protocol thread will be restarted whenever the system is booted.

  13. The Jabber integration, which was previously hardcoded into the server’s code, has been refactored so it is now entirely done in the assembly editor via a Unary Protocol Thread.

  14. Config settings related to Jabber and Google Talk have been removed from the system’s config and from docker-compose.

  15. The Instant Message and Get Inbound Instant Messages modules have been removed.

  16. The confirmation message that appears at the top center after performing UI interactions is now wider, uses a much larger font, stays onscreen much longer, and is colored green for successful actions.

  17. The XML Builder and XML Row Builder modules now have a checkbox setting to control if substituted VALs in node text, e.g. VAL1, will be wrapped with CDATA or not. The default is to wrap with CDATA, per the current behavior. If unchecked, any XML special characters within substituted values are escaped, e.g. “<” is replaced with “<”.

  18. The Admin Console now checks its software version and compares it to the system’s database. If it doesn’t match (usually only immediately after installing a system upgrade) a message dialog appears that reloads the Admin Console. If reloaded via the dialog’s button, the URL has a cache-busting parameter added as a way to help ensure the latest version is loaded from the server.

  19. Added a “Trigger - Protocol Thread” module that allows an always-connected protocol to be used to listen for data, such as for a socket connection to a message queue. Each trigger in each active running automation has a background thread that runs for as long as the automation is active.

  20. When a script code module is in readonly mode due to the user’s account not having Script Developer permission, “READONLY” now appears in red within the module with a help button explaining why. [READONLY] is no longer appended to the module’s name in its title bar.

  21. Assemblies in the Assembly Editor that have been shared with write access can now be saved by the recipient account, rather than only copied.

  22. Added a “new opportunity” trigger for vTiger CRM and also refactored all existing vTiger CRM trigger to use their API query endpoint instead of the sync endpoint, so that API results are sorted by newest added first which makes the new item triggers function as intended.

  23. A database column has been removed, which can result in some systems storing up to 50% less data in the database.

  24. When an account is closed, either from the Automation Editor or the Admin Console, an option is now presented to have all of the account’s data wiped from the system. If selected, all of the account’s automations, data, and account information will be purged from the database according to the system’s schedule for purging data (the default schedule is once a day in off-hours).

  25. The Admin Console now shows system free memory information at the top of the Memory Usage screen instead of on the Native Work Queue screen.

  26. Automations have a new “Data Storage” menu option in their gear menus in the Automation Editor’s dashboard. When data storage is disabled, the automation generates no logs and transaction information is not stored in the database. This results in no transaction information being accessible or searchable from the automation’s history screen. Any failed transactions will not have a “Retry” button, since the data needed to retry failed transactions won’t be stored in the database. The purpose of this functionality is primarily for accounts that need to adhere to GDPR.