Blog

Release announcements, helpful tips, and community discussion

In Development: 10.0

Cerb (10.0) is a platform upgrade in development as of December 10, 2020. It includes more than 102 new features and improvements from community feedback.

To check if you qualify for this release as a free update, view Setup » Configure » License. If your software updates expire on or after August 31, 2020 then you can upgrade without renewing your license. Cerb Cloud subscribers will be upgraded automatically.

Important Release Notes

Automations

Automations are state machines written in KATA that transform an input dictionary into an output dictionary. The results are used to automate and customize workflows throughout Cerb.

Interactions

Interactions are interactive automations that use continuations to pause and resume a multi-step workflow.

Resources

Resources are shared assets used by automations and widgets.

Maps

Cerb can create interactive map visualizations with geospatial data from any source using the standard GeoJSON format.

Sheets

See: Sheets

Sheet row selection

Sheets now include a selection: column type. This is used by widgets and interactions to use sheets as a prompt for selecting one or more records. The selection key can be any arbitrary value; or even a compound key, or JSON object.

For instance, on a ticket profile, a sheet widget can display the current ‘Participants’, and rows can be selected in combination with a ‘Remove’ interaction.

Over time this will replace the “choosers” feature. Unlike choosers, sheets aren’t limited to displaying records, and can display any data within a dictionary (e.g. hard-coded options, dynamic API results, etc).

Interaction toolbars on sheets

On card, profile, and workspace sheet widgets, an interaction-powered toolbar may now be included with buttons that change depending on the selected rows.

New rows can be added to a sheet from its toolbar. [#959]

Grid layout

Implemented a new sheet layout:style: of grid. This displays a compact grid rather than a table. For instance, this is used when selecting an icon in some interactions.

Sheet filtering

Added a new layout:filtering@bool: option to sheets. When enabled, this shows a search box above the list to filter the current results.

Project Boards

See: Project Boards

Card content from automations

The content of cards is determined by an automation on the projectBoard.renderCard trigger, which can be provided per-columm, or globally (default for all columns) on the board itself. The automation must return a sheet schema to display.

Column toolbars

Project board columns can now display a toolbar of custom interactions (e.g. add task), and may provide one or more automations on the projectBoard.cardAction trigger (in event handler KATA) to run when a card transitions to a new column.

Default automations are provided for adding tasks, rendering task cards, and rendering completed tasks.

Existing card action behaviors are deprecated and are migrated to the event handler KATA.

Data Queries

Added new data query types:

Type Description
platform.extensions Get a filterable/pageable list of plugin extensions for a given point.
record.field Get a filterable/pageable list of fields on a given record type.
record.types Get a filterable/pageable list of record type.
ui.icons Get a filterable/pageable list of the 600+ built-in icons.

Records

Attachments

  • In attachment record dictionaries, added a download_url placeholder for the download link.

Connected Accounts

  • On connected account records, added a uri field. This is a unique identifier (letters, numbers, dashes) used by other functionality (like automations) to refer to a connected account without using internal IDs.

Connected Services

  • Added an ‘API Key’ connected service. This securely stores an API key, and authorizes HTTP requests by including the key in a named HTTP header or query argument. A ‘base URL’ option ensures the key is only included on requests to an expected HTTP endpoint.

Custom Fields

  • Custom field records must now define a unique nickname (URI). This is used by functionality like the API, queries, and records API to show human-readable custom field names, where previously they were unhelpfully named using their IDs, like custom_123. Existing custom fields are automatically assigned URIs by the update.

  • When expanding record dictionaries, the custom expansion key continues to return ID-based field names, like custom_123. The new customfields expansion key returns URI-based custom field names for human readability.

Reminders

  • Reminder records now use event handler KATA to trigger any number of automations when the alert timer has elapsed. For instance, the reminder worker receive a notification, email, SMS message, etc.

Tickets

  • On ticket profiles, the ‘Participants’ widget now provides shortcut interactions for ‘add’ and ‘remove’.

Webhooks

  • Refactored webhook listeners to use automations rather than behaviors. Automations on the webhook.respond trigger can be provided in event handler KATA. The input includes details about the HTTP request, and output controls the HTTP response. Webhook listener extensions have been retired (behavior was the only option). Existing webhook behaviors are deprecated and are automatically migrated to the new event handler KATA.

Platform

Installer

  • When installing a new instance of Cerb, a snapshot is now used to initialize the database rather than running all of the patches since 4.0. This is much faster, which improves the user experience, as well as speeding up automated tests, Docker images, etc. [#109]

Deprecated and retired features

  • Retired message toolbar extensions. These can be better implemented with interactions now.

  • Conversational bot behaviors on the “global” interaction point (the round floating Cerb icon the lower right) are now moved into a ‘(Deprecated Behaviors)’ sub-menu. These workflows should be migrated to automations.

  • Retired the ‘Sensors’ plugin. An improved version of this functionality is now possible through custom records and automations. The legacy plugin is available at: https://github.com/cerb-plugins/cerberusweb.datacenter.sensors/