2024.9 (September 2024)

2024.9 (September 2024)

2024.9 Release Highlights

Happy fall, everyone! The September 2024 release is packed with features and improvements we’re delighted to share. Read on to learn more!

App Development Screens

First up, this month’s release includes two new screens designed to improve the ability of app builders to inspect and manage the app development process: App Component References and App Component Changes.

Application Component References Screen

This new screen allows application builders to quickly understand what relationships exist between the various components of an app. As apps grow in complexity, it can become difficult to understand how the various screens, flows, and data models interact, which can lead to more issues when trying to make more significant changes.

The App Component References system analyzes screens, flows, and data models as they’re edited to track the “source” (where the reference is configured) and “target” (what the reference points to) of various kinds of references: action buttons, web flows, query and mutate nodes, field relationships, and more. These references can then be quickly queried to find, for example, everywhere in the system that a particular data model is used or every flow that a screen executes. Where possible, information is included on what element (screen element, flow node, or data model field) the reference is tied to.


App Component References screen

Users can filter by the source and target component type (screen, flow, or data model) and component and can quickly jump to a given component from this screen.

Planned future work for this system will expand the components inspected to include saved scripts, saved queries, and more, increase the detail of the reference information to include more element-level information, and bring this information into a graphical diagram view in the application designer.

Application Element Changes Screen
Info
This screen will be renamed to App Component References in the 2024.10 release.

In addition to understanding the relationships within an app, it’s often helpful for an app builder to be able to identify all changes made across an app within a specific date range - say, since the app was last updated or published. The new Application Element Changes screen does just that, displaying condensed data change information for all screens, flows, data models, and more since a given date.

Application Element Changes

App Element Changes screen

Updated UI Inputs & Screen Elements

The September 2024 release includes several new or significantly revamped UI components and screen elements that we’re very excited about - a new Monaco-based JSON editor and a GraphQL predicate builder!

Monaco JSON Editor

We’re very happy to announce the first in a series of changes which will significantly improve the user experience with our code editors. With this month’s release, JSON editors throughout the Fuuz platform will now use the Monaco editor - the same UI used by applications such as Visual Studio Code.


New Monaco-based JSON editor.

There are several great features built into this new editor. Users can now use right-click context menus to perform common actions; for less common actions, the F1 key opens the Command Palette, which allows users to search all available actions and displays the hotkeys for those actions.


Command Palette, accessed via the F1 key.

This new editor also comes with much improved find and replace capabilities compared with the legacy editor, and in expanded mode displays a “minimap” of the code next to the scroll bar, displaying the section currently viewed and supporting quick navigation.


Code “minimap”.

In upcoming releases, we’ll roll out this new editor language by language, replacing Javascript, GraphQL, and JSONata code editors until we’re using this new editor everywhere. Those languages will come with significant improvements to the snippet and autocomplete systems - keep an eye out for those highlights!

GraphQL Where Input

This release introduces a screen element aimed at complex reporting and data display screens: a new GraphQL Where Input! This element can be dropped into the filter form for any table right alongside any existing filters, which will be combined with any filters applied through this new input. There it will allow users to filter data by any field on the data model simply by adding a rule, selecting a field and predicate, and typing or selecting a value.


GraphQL Where Input filtering for Inventory with a Gross Weight greater than or equal to 10.

If users select a relation, they’re able to filter by fields on the related data model, which is great for parent/child relationships or filtering by status, type, or category.


GraphQL Where Input filtering for Inventory which is associated with an active Master Inventory record.

Finally, for more complex situations, the input allows for creating groups of filters with and and or logic between them - allowing for a significant amount of flexibility.



GraphQL Where Input filtering for Inventory where the inventory is active and status is Suspect, QC Hold, or Containment, or where the related Master Inventory status is Containment. Whew!

In coming releases, we’ll integrate this new input into various tools and designers in the platform including the API Explorer, Data Flow Designer, and the Screen Designer itself, as well as adding it to various system screens where this level of filter flexibility would be handy!

New Aggregate Query Operators

With our recent upgrade to MongoDB 8, we were able to add support for several new aggregation operators in our Aggregate Query Framework in version 2024.9. These operators allow more streamlined inspection of aggregated data:

  • uniqueCount returns the number of unique values in the group (e.g. unique inventory containers moved each week). This operator uses exact value comparison.

  • median returns the median of the grouped numerical values.

  • percentile allows users to specify a list of requested percentiles, and returns an array of numerical values for each of the requested percentiles (e.g. the 90th and 99th percentiles for work order completion time).

We’re already using these new operators in our Data Flow Metrics Dashboard, where they’re allowing us to display aggregated information about millions of data flow node executions. Check them out!

More Highlights

Client-side Data Import Screen

The 2024.9 release includes a very simple data import screen specifically focused on making it easier to move data between Fuuz environments. It can also help simplify importing data from external systems. Paired with data exports from tables, this screen should reduce some of the management overhead when migrating data between QA and production environments, for instance.


Simplified Import Data screen.

This screen is just the very first step in a longer initiative to build out fully-featured data export and import capabilities in the Fuuz platform. A fully configurable and schedulable data export system is slated for Q4, and a more flexible and easily configurable data import system in planned for Q1 of 2024. Those features will be highlighted when they’re released, so keep an eye out!

Flow and Schema Designer UI Updates

Finally, this month’s release includes updates to the Data Flow Designer and Schema Designer to standardize the panel layout with our Screen Designer. This new layout condenses the Toolbox panel, previously on the left, into a tab on the right-hand side of the screen. This comes with a new feature - just like the screen designer, you can now quickly jump to a section in the properties for a selected data flow node or data model.


Updated Data Flow Designer right-hand panel.

This new arrangement ensures consistency across our designers and results in a much better UI experience when combined with our Application Designer.

Full Release Notes: 2024.9.0

Data Team

Schema Designer

  • Updated UI to combine Toolbox with the right-hand panel, standardizing UI with the Screen Designer

Data Management

  • Added simplified client-side data import screen

GraphQL APIs

  • Added median, percentile, and uniqueCount aggregation operators to Aggregation Query framework

  • Added validation to ensure where inputs for mutations have exactly one field and not 0 or more than 1

  • Updated data change capture to ensure Changed At and Changed By User values are consistent between mutations

  • Added Operation field to data change capture records, indicating the operation type (create, update, or delete)

  • Corrected an issue that could cause delete mutations for models using Cascade Deletion to fail

Security

  • Improved error messages for partial or malformed Authorization headers

  • Updated Policy Editor to correctly display screens with multiple routes

  • Updated Authentication Event logging to retain authentication failure logs for 5 years

  • Updated Tenants table to disable edit actions on non-administration tenants

DevOps Team

Integration Team

Integration Connectors

  • Added ADP Vista integration connector and data flow node

Device Gateway

  • Updated Native Printer driver to correctly encode UTF-8 characters

  • Updated logging for Device Gateway flows to reduce log file size

Notification Platform

  • Added an Input Schema configuration option to Notification Channels, validating the shape of the input data prior to sending notifications

Orchestration Team

General

  • Implemented publisher validation for maximum message size

  • Updated data flow logging to omit context and payload fields to reduce message size when required

Data Flows

  • Updated data flow metrics to pull correct message IDs from source nodes and to always collect metrics from Response nodes

  • Updated Data Flow Metrics Dashboard to use aggregation queries instead of client-side transforms, enabling wider date ranges and larger volumes of metrics

  • Updated UI to combine Toolbox with the right-hand panel, standardizing UI with the Screen Designer

Package System

  • Updated package management to better handle and recover from schema deployment errors

User Interface Team

Components

  • Updated form inputs to display a loading spinner while running initial transforms

  • Updated Select and Date/Time/Datetime inputs to correctly re-run form validation on change

  • Implemented Monaco editor for JSON type inputs

  • Implemented Predicate Builder input element

  • Reimplemented Array Input component to add support for a broader set of input types

  • Corrected a bug that could cause default values for Table components to not apply during auto-load

Screen Designer

  • Updated Cards screen element to update its transform context with updated data when child elements change

  • Added a configuration option to delay running page load flows

  • Updated Auto-save option to persist setting between sessions and page reload

  • Added a configuration option to control whether the Table element’s data transform should run locally or remote

  • Removed support for changing screen designer tab type within the Tabs panel

Application Designer

  • Added Application Component References screen to allow easy introspection of relationships between app components

  • Added Application Element Changes screen to streamline identifying all changes made to an app since a certain date

  • Added support for dragging data models from Application Navigator into Schema Designer tabs


    • Related Articles

    • Export Data

      Export Data The Export Data Tool is an easy way to export data from Fuuz into different formats. The process starts by first creating an Export Configuration. An Export Configuration contains a field for a data model and filters. Currently, there are ...
    • 2023.9 (September 2023)

      QA Release Date: September 05 2023 Production Release Date: September 19 2023 2023.9 Release Highlights Fall is kicking off with a release full of new features and enhancements - read on to find out more! IP Address Policy Rules The September 2023 ...
    • 2025.9 (September 2025)

      QA Release Date: September 02 2025 Production Release Date: September 19 2025 2025.9 Release Highlights We're spending this month's release notes highlighting a new feature - support for MCP tools! MCP Server Closed Beta This month, we're starting ...
    • Make REST-Based Calls With An API Key

      This article provides the resources to support the task of making REST-based calls with an API Key. Use The API Key Example HTTP Request Example PowerShell Request With Invoke-WebRequest Example PowerShell Request With Invoke-RestMethod Example cUrl ...
    • System Menu - Sub Tab "Identity Providers"

      In this area of the system - you’ll find your identity providers - typically you’ll see “internal” meaning you’re using the Fuuz system to manage and authenticate your Fuuz users. However, you maybe using our OIDC capabilities to levarage single sign ...