Today’s platform release includes a variety of quality-of-life improvements to multiple platform features, many of which were requested by our users.
Custom Node Usage
A question numerous developers have asked us over the years is, “How can I easily tell which workflows are utilizing a given custom node?” Today’s release adds a new tab to the interface of a custom node that answers that question.
What once required manually checking multiple workflows and their versions is now a single-step process from within the custom node editor to determine all the places across your application that the custom node is being utilized.
Now, by utilizing the new tab, we can see at a glance which workflows are utilizing a custom node. We can then optionally drill down further to see which versions of a given flow are utilizing the node.
Data Table Block Customization
Another often-requested feature included in this release is the ability to define which columns to display in the Data Table Dashboard Block. This is a feature we had previously rolled out to the Device List and Event List blocks, and now dashboard builders can decide which data table columns to expose to their users within this block.
Existing blocks will continue to display all of a data table’s columns by default, but they can be edited at any time to add, remove, or rearrange the order of the columns as you see fit. For example, the “id” column is rarely relevant to a dashboard consumer, and this update allows for reclaiming some of the visual real estate previously dedicated to that column.
Along with those two new features, we’ve also added a number of smaller improvements as part of this release:
- Many of our workflow nodes that fetch lists of application resources - such as the Device: Get Node, the Event: Get Node, and others - now support string templates for the Sort Field and Sort Direction properties. For example, these changes enable an experience endpoint request for a list of resources to pass sort parameters straight through to the respective node.
- The Event List Dashboard Block now includes a “custom column” option (similar to what exists in the Device List Block) for displaying icons, custom text, or conditional content based on all the properties of a given event.
- The Template Tester has received a few usability improvements. The full paths of deeply nested objects can now be copied to your clipboard straight out of your example context. Also, additional information about template syntax errors is displayed within the tool.
- Application API tokens can now work with dashboards that are scoped to the same application. This also exposes the ability to work with dashboards using the Losant API Node.
- Access keys can now be configured for additional topic permission configurations - such as “allow subscribing to all but the following topics”. Previously it was possible to create access keys with such permission sets using our REST API directly, and we’ve now brought that ability into the user interface.
- Experience views now support tags in the interface as well. Setting key-value pairs directly on views allows for quicker querying of specific views and adding meta information that optionally can be exposed to your experience users.
REST API Updates
For those who are using our public REST API directly, there are a few additional updates:
- When deleting an integration, experience endpoint, or webhook, there is now the option to automatically delete any workflow triggered by that resource.
- Access keys (a.k.a. Application keys) now support advanced querying options, allowing for quickly retrieving a list of keys that, for example, target one or more specific devices or MQTT topics.
- Workflows advanced queries can now return flows based on the existence of certain nodes within the flow, as well as specific configuration properties of a given node. The endpoint can now also return a workflow if one of the flow’s versions matches the query but the “develop” version does not.
- It is now possible to update an application global value by key - meaning, it is no longer necessary to fetch all application globals, build an array containing the previous and updated value(s), and submit a request with the entire array just to update a single value.
Template Library Updates
We’re continuing to grow our Template Library with new entries designed to demonstrate Losant best practices, shorten time to market, and improve end user experience. Here are some of the templates we’ve added in the last few months:
- Twilio Verify: Demonstrates how to implement SMS-based two-factor authentication in your application experience using Twilio’s Verify service.
- User-Friendly Error Pages: Includes example 404 and 500 experience pages, along with the necessary workflows and endpoints to implement them.
- Authentication Endpoint: Provides a simple workflow and endpoint for returning an experience authentication token given an experience user’s email and password.
- Function Node Scripts: Demonstrates how to send third-party scripts to edge devices, store them on the file system, and invoke them using a Function Node.
With every new release, we listen to your feedback. By combining your suggestions with our roadmap, we can continue to improve the platform while maintaining its ease of use. Let us know what you think in the Losant Forums.