2024.2 (February 2024)

2024.2 (February 2024)

2024.2 Release Highlights

Happy February! This month’s release is loaded with features and platform improvements that we’re very excited to finally share. Read on to learn more!

Aggregate Queries

The 2024.2 release includes a major API feature we’ve had in the works for a while - the ability to aggregate data directly through our GraphQL API without needing to worry about transforms, data flows, or math. This will dramatically streamline the process of creating business reports, summary screens, dashboards, and other data analysis workloads.

With this release, you’ll notice a new _aggregate field appearing in GraphQL queries and field pickers. This is the gateway to the new feature: simply by selecting a field and then operator from that object, the API will automatically group by every selected field not inside _aggregate and return the computed value for the selected field and operator.

For example, by selecting the table template on the screen designer and selecting the inventory status and quantity unit to group by, plus a few _aggregate operators on the quantity value, we can generate a simple inventory report in seconds!

 

image-20240213-164353.png
Field picker during table screen creation
image-20240213-164547.png
Generated inventory report table using _aggregate queries

 

To learn more about aggregate queries and see examples using a simple demo schema, check out our documentation.

Screen Designer Auto Save

This month’s release includes a new quality-of-life feature for the screen designer: auto save! The screen designer will now automatically save and sync with any open screen runners after a period of inactivity, meaning users don’t need to worry about losing changes in the event of a PC or browser crash.

Auto-save.gif
Screen designer auto-save at work

If there’s a reason to turn the feature off - say, a user is just testing out changes and doesn’t want to save them - the feature can be temporarily disabled using the toggle in the subheader.

image-20240212-212143.png
Auto save toggle

In coming releases, we’ll be enhancing this system with automatic versioning - to save users from having to manually save a new version when edits are made to a deployed screen version - and we’ll be looking to roll this feature out to the schema, data flow, and application designers so it’s available across the board!

User Access Request System

The February release also includes a new external user access request system to enable our support team to offer quicker and more streamlined support. When a Fuuz support team member requests access to a customer site, the enterprise administrators will receive an email with the subject “Fuuz Site Access Request” and a body that contains details on the request: which site and tenants/apps access is requested to, who is requesting that access, for how long they’re requesting access, and for what reason.

image-20240212-184438.png
An example of a “Fuuz Site Access Request” email

At the bottom of the email, a “Review Request in Fuuz” link will open the request in your Fuuz site, where you can review the request in detail, including whether the user currently has an account, what access they have, and what actions approving the request will perform. You can then approve the request - which will grant the user the requested access and notify them of the approval via email - or reject the request with an additional rejection reason (for example, if more information is required for the request reason), which will notify the user their request was rejected.

image-20240212-211302.png
External User Access Request form

This new system is paired with a new internal process through which these access requests are filed, approved, and tracked, so our team has full visibility into who is asking for access where and why. We already have plans to develop a similar feature for internal access requests - say, when an existing user needs to request access to another app.

More Highlights

Google API Connector & Node

The 2024.2 release includes an exciting new integration connector and node supporting connections to Google APIs! This connector was initially developed to support connections to Google Drive, but during development we discovered we could make it flexible enough to support all Google APIs. Currently, the only data flow node available is specific to the Google Drive API, but other APIs can be used through the generic Integrate node, and we’ll be adding more specific nodes for common APIs in the future, such as Gmail, Docs, and Search!

PLCC Device Gateway Driver

 

Tenant Type API Restrictions

The February 2024 release includes some changes that continue a trend we’ve started in recent months of clarifying the different tenant types and what they’re used for. Every Fuuz enterprise includes an enterprise administration tenant for managing the overall enterprise: creating or deactivating tenants, adding and managing users, changing permissions, and other similar actions.

To help reduce ambiguity and encourage best practices for security, as of this month’s release those administrative activities will no longer be available in other tenant types. When you attempt these activities, you encounter errors such as The createAccessControlPolicy mutation is not permitted in custom tenants. These errors indicate you may need to switch to the administration tenant and repeat the action.

Upcoming releases will carry on this pattern: we’ll be adding more tenant types to help clarify specific use cases, and we’ll be updating the user interface so it’s clearer what is and isn’t permitted in each tenant type before you attempt an action.

End of Support for Electron-based Device Gateway

As announced last month, the service-based Device Gateway now fully supports all the features of the legacy Gateway application (and much more). As such, we’re ending support for the legacy Gateway application with the 2024.2 release. Not sure which one you have? If the Gateway opens in a desktop application rather than a browser window, you’re running the legacy Electron application.

Support for the legacy Electron-based Device Gateway will end on 2/20/2024.

Full Release Notes: 2024.2.0

Data Team

GraphQL API

  • Added Aggregate Query system to enable streamlined reporting, dashboards, and visualizations based on Fuuz data

  • Added support for default values and triggers for Date and Time field types

Security

  • Updated Enterprise Users table and form to improve UI around deactivating and reactivating users

  • Added API restrictions for Application tenants to prevent use of designers in installed application environments

  • Added API restrictions for Custom tenants to require user, tenant, enterprise, and other security administration activities to be performed in the Administration tenant

  • Added middleware to deactivate user API keys when tenant access is deactivated

  • Improved handling of certain authentication errors to prevent users from getting “stuck” in error states

  • Added integrated system to support user access requests from Fuuz support staff

Schema Designer

  • Fixed a bug with causing nullable one-to-one relationships to throw unexpected errors

  • Fixed a bug which could cause the incorrect field to be deleted when deleting a relationship between two models which have multiple relationships between them

DevOps Team

  • Implemented better handling of XML content types for webhook and data flow requests and responses

  • Updated infrastructure to latest service mesh version

  • Updated health check routes on some services to no longer try to load unused access model from cache

Integration Team

Connectors

  • Added a Google API connector and related Google Drive data flow node

  • Added a Success Factors data flow node

Device Gateway

  • Added PCCC PLC Device Gateway driver

  • Fixed a potential crash caused by the Modbus driver reconnecting

  • Fixed an issue which could cause the IBM DB2 driver to fail to load

  • Updated Gateway UI error handling to better handle long-running requests to the Gateway server

Notification Service

  • Updated to correctly capture changes to user roles to update internal email lists for notifications

  • Added a list of recipients to communication records to capture the list of email addresses a notification was sent to

Orchestration Team

Data Flow Designer

  • Implemented data flow validation system to encourage best practices in flow development

  • Updated walkthrough to no longer close when clicking off the walkthrough dialog

  • Removed unused Data Flow Library option from help menu and corrected Knowledge Base URLs

Scheduler Service

  • Updated data flow schedules screen to correctly display frequencies as inactive when their schedule is inactive

Log Capture

  • Added a new system to asynchronously persist log-type records to improve durability and reduce write workload

Scripting Language

  • Added $isNotNilOrEmpty binding, which returns true when the provided value is not nullundefined0, or an empty array, object, or string.

User Interface Team

Framework

  • Updated the Routes tab on the Screen form to correctly apply an exact match based on screen ID

  • Added CTRL+Click shortcut to deeply expand nested properties in console components

  • Added truncation of long text values in console components

  • Added tenantTypeId to $metadata.tenant context in frontend transforms

  • Added screen version number and deployment date to the footer when help mode is enabled

Screen Designer

  • Added autosave functionality and associated UI component

  • Added the ability to import screens from the splash screen

  • Added a Module field to screens directly, copying modules from routes where available

  • Updated save dialogs to provide default values for required Active and Full Screen fields

Application Designer

  • Updated application designer actions to retain fullscreen state when creating new objects

Components

  • Added a number of new features for the icon picker component, including support for custom colors, configuration around which properties are available, and support for disabling the input

  • Added an Array Input component type to handle input of lists of scalar values (text, numbers, etc.)

  • Added “Beep on Scan” option to the Scan element to play a simple success/error beep on scan

  • Added “Dialog Mode” option to the Select element to allow more flexibility around dialog behavior; added “Advanced Search” mode to open the advanced search dialog on request

  • Updated table cell styles for editable checkboxes to correct alignment and remove indeterminate state

  • Added several new configuration options to the SVG element

    • Related Articles

    • 2025.2 (February 2025)

      QA Release Date: February 04 2025 Production Release Date: February 18 2025 2025.2 Release Highlights New Data Mapping Tool The flagship feature released this month is a brand new core component of the Fuuz development ecosystem: a new Data Mapping ...
    • 2023.2 (February 2023)

      2023.2 Release Highlights Here are some of the major highlights from this month’s release. As always, there are lots of things to look forward to! New Year, New Look Fuuz is celebrating the new year with a brand refresh! Circles are so 2022 - so our ...
    • 2024.4 (April 2024)

      2024.4 Release Highlights The Fuuz engineering team isn’t fooling you with this month’s release - it’s packed with great features and improvements we’re excited to share. Read on to learn more! Integration Request Logging One of the larger ...
    • 2023.1 (January 2023)

      2023.1 Release Highlights Here are some of the major highlights from this month’s release. There’s a lot here to kick off 2023! Updated Versioning Scheme & Release Calendar The January 2023 release is the first under our new versioning scheme and ...