Platform Update - Resource Jobs Improvements and Experience Group Advanced Query

Dylan Schuster
Dylan Schuster | 3 minute read

Today’s platform update builds upon our December release by enabling new use cases for our Resource Jobs feature. This update also introduces a new method for querying Experience Groups.

Resource Job Feature Enhancements

First, we’ve seen strong adoption of Resource Jobs across our user base, and we’re committed to improving the feature as we discover new use cases. Today’s release adds three new increments to the feature.

Just getting started with Resource Jobs? Join us on March 28 for a Deeper Dive Webinar on “Complex IoT Workloads Made Easy With Losant Resource Jobs”, where we’ll cover how to utilize this new feature to improve the performance and functionality of your IoT solutions.

Carry-Forward Values

Executions running in serial mode now have the option of passing an arbitrary value from one iteration to the next. This allows for incrementing a counter based on conditions you define; for comparing the previous iteration to the current one; or for building a complex object based on all iteration behavior (similar to JavaScript’s Array.reduce() method).

Resource Jobs Acknowledge Node

The value to pass to the next iteration is defined in the Job: Acknowledge Node, and the value after each iteration is exposed in the CSV report from the execution log, with the final value included as a property in the log itself.

Query Replacement for Testing

We quickly discovered that most users, when first developing a Resource Job and its associated workflows, would repeatedly update the query to return just a small number of the resources they ultimately wanted to target.

Execute Resource Job

Rather than requiring users to redefine the query on the job itself several times in this phase of development, we’ve added the ability to override the Resource Job’s query when requesting an execution.

Experience Groups as a Queryable Resource

We had decided early on that the next Losant resource we would support in Resource Jobs would be Experience Groups, and feedback from our users validated that. Many Losant applications have several Experience Groups, and there are several scenarios where those groups require conditional bulk updates - one of the primary use cases for Resource Jobs.

Future Improvements

We have a couple more Resource Job enhancements coming over the next couple releases; as mentioned, many of the improvements in today’s release come directly from our users. If you’ve introduced Resource Jobs into your IoT solution and have suggestions for future enhancements, we’d love to hear about them in the Losant Forums.

Advanced Query for Experience Groups

Today’s release also exposes advanced query for Experience Groups in the Group: Get Node and the Losant API - as well as in Resource Job configuration as described above.

Many Losant developers expose group management tools in their Application Experiences, and scoping and secondary filtering of an Experience User’s groups can be challenging depending on the underlying architecture. While most of those cases could be solved with a workaround, we found ourselves often saying, “This would be so much easier and more efficient if Experience Groups supported advanced query” - and so we did just that. Whether it’s advanced tag filtering by tag or returning all groups that are descendants of another group, advanced query will make existing solutions more performant while also exposing new use cases for large-scale applications.

Other Updates

As always, this release comes with a number of smaller feature improvements, including:

    • The Gateway Edge Agent now has an option to prioritize recent state reports and MQTT publishes over queued messages built up during a period of downtime. While most users prefer to process the older messages first to protect against data loss, we’ve discovered that others would rather have the most recent data in hand as quickly as possible, and this option allows for that case.
    • Users can now define Peripheral-class Device Recipes that do not include a specific Gateway on the recipe itself. Users can also define which gateway to apply to each device created from the recipe when bulk-creating devices. This change also allows for easy transfer of these recipes across applications.
    • GPS History, GPS Heatmap, and Position Chart dashboard blocks can accept both a default center coordinate and the option to center the chart based on the returned data. This was a suggestion from our international partners who were seeing a flash of the United States in the blocks while the map fetched and instantiated against coordinates in their home countries.

What’s Next?

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.