Edinburgh Update 3

https://s3.us-west-2.amazonaws.com/developer.skuid.com/assets/v16.4.4/api-versions/v1/release-notes/release-notes-hero.png

Welcome to the documentation for the Edinburgh Update 3 release!

Don’t hesitate to send your feedback on these new features as we improve the product:

Early access participation

During closed early access on Skuid SFX, builders must contact earlyaccess@skuid.com to receive package install links.

Once a release candidate package is prepared, these installation links are made available at skuid.com/releases.

Feature updates

Action sequences: Streamlined and enhanced

Action sequences provide a centralized place to create lists of actions in your Skuid page. Previously, there were three separate types: reusable, event-triggered, and hotkey-triggered. But what if you’ve drafted the perfect event-triggered sequence—only to realize you need it activated by a hotkey as well? Have you ever needed to duplicate your reusable sequence used on multiple buttons in order to also make it responsive to events? And what’s with all these types to keep up with?

No longer! With EU3, all action sequences can be triggered however you want. Each sequence is now reusable, as well as event and hotkey triggerable by adjusting settings within the newly added Event and Hotkey tabs.

“But what about my old action sequences?” Don’t worry! Everything has migrated to this new format. Your event-triggered sequences appear as normal sequences with the Events tab populated appropriately, with hotkey-triggered sequences receiving the same treatment.

This is just a hint of the kind of enhancements coming in our new Composer, but more on that in our Pilot features section…

Simpler design system files, better for source control

Source control helps organizations facilitate change management, while keeping a record of how assets and metadata have changed over time. While much of Skuid’s metadata (which can be retrieved via our CLI tools) is in plain text and source control-friendly, design systems haven’t been.

With EU3, we’re changing the way design system assets are formed when retrieved via the CLI—allowing them to more easily be stored and diffed in your source control system of choice. Previously design systems were returned as ZIP files, with additional boilerplate and metadata that made source control for these files difficult.

Now, design systems are returned as JSON files with only the necessary information stored within it in a consistent order. You can expect much smaller files (around 5k lines shorter in some test cases) and easier diffing because of the deterministic nature.

HTML support for more labels and titles

Note

This feature is coming soon to early access.

Skuid components are the building blocks of your Skuid pages, but HTML elements are the building blocks of the web—and they offer a lot of customization options you may need for more advanced styling needs. We’ve steadily increased the component areas where HTML can be used in Skuid, and with this release we’re opening up even more.

Note

Some properties previously allowed HTML to render by default. To better safeguard unintended HTML use, we’ll be adding Allow HTML properties in these areas. To prevent breaking behaviors for existing components, we’ll assume any components with that property unset will have it checked with this update. But any new components added to the page will default Allow HTML to off.

API key authentication method

Many products handle authentication through API keys, which they expect to be passed along in each request to service endpoints. While it’s been possible to access these services in Skuid through its Common request headers or Common request body data, doing so meant potentially exposing your API key to end users who were savvy enough to look at their network traffic.

Worry no longer about those network request sleuths, our new API key authentication method allows you to store encrypted API keys and securely inject them into requests server-side—meaning end users never see those credentials.

Pilot features

Pilot features are not yet intended for prime time production use, but they are available to select customers to gather feedback as we prepare them for a broader audience.

To request access to features listed below, contact earlyaccess@skuid.com.

Chat component

There haven’t been any transformational technological advancements related to artificial intelligence in the last year, right? No large, language-related models to make Skuid models of? New ways to use natural speech to produce new workflows and content?

Well just in case there have been, we’re working on a Chat component that enables you to connect to your chosen AI language model of choice. Additionally you can use it for old-fashioned, human-to-human communication as well, like Salesforce’s Chatter functionality.

New Composer

Drum roll please: There’s a new Composer coming! But this is no mere visual refresh—though we think it looks fresher too. Some major ideas we’re developing in this experience include:

  • More visual development with enhanced canvas rendering: Skuid’s a powerful tool for the citizen developer and the code-wrangling pro, but we want the new Composer to more closely reflect what you’re building without constantly refreshing page previews. Look forward to live style updates and other canvas rendering options
  • Vertical layout: We’ll be moving the Elements and Properties pane to the sides of the Composer, allowing for more vertical canvas space—alongside other sizing changes so the most important elements are highlighted while non-essential elements stay out of the way.
  • Redesigned index: The index is the wayfinder of your Skuid page, and we’ve adjusted its capabilities to allow for faster drag-and-drop page creation and navigation.
  • Consolidation, centralization, and bi-directionality: Skuid pages have a lot of moving parts, and they all depend on each other. Models connected to components, which trigger actions, but only when they render because all their display logic rules are true… It can be a lot to handle—and a lot to navigate.

With the new Composer experience, we’re offering more wayfinding tools and more links between common areas. Go from a component to its model’s properties instantly, see everywhere an action is used, and more.

We’ve also got a lot of modularity and reusability improvements to come for your page logic. What exactly, you may ask? Join the pilot to find out!

This new Composer experience represents a major paradigm shift in Skuid development, and we want your help in making it the best it can be. Contact us to join the closed pilot phase!

Heads up!

Vertical top-level navigation works now, but you may see differences

Previously, Vertical top-level navigation styling properties were not properly applied to the uppermost navigation items. With this change, these properties are now properly applied.

You may see a difference in how your Navigation components render. If so, verify the proper settings are applied in the Vertical top-level navigation properties as well as the Top level navigation item section of the Vertical Navigation component’s style variants.

Included tickets

v16.4.2.0 - Edinburgh U3 GA release

Tickets for prior early access releases are also represented below.

New Composer development

The following tickets represent code changes made while developing the new Composer experience:

CORE-4929, CORE-4539, CORE-4994, CORE-5012, CORE-5083, CORE-5009, CORE-4911, CORE-4854, CORE-5022, CORE-4860, CORE-4961, CORE-4853, CORE-5066, CORE-4863, CORE-5018, CORE-4913, CORE-4927, CORE-4864, CORE-4896, CORE-4935, CORE-4962, CORE-4975, CORE-4960, CORE-4963, CORE-4895, CORE-4897, CORE-4924, CORE-4997, CORE-4996, CORE-3622, CORE-4889, CORE-4891, CORE-4887, CORE-4865, CORE-4822, CORE-4819, CORE-4958, CORE-4783, CORE-4888, CORE-4892, CORE-4823, CORE-4824, CORE-4959, CORE-4806, CORE-4873, CORE-4807, CORE-4884, CORE-4808, CORE-4787, CORE-4907, CORE-4977, CORE-4558, CORE-4541, CORE-4768, CORE-5081, CORE-4857, CORE-4850, CORE-4879, CORE-4995, CORE-4914, CORE-4903, CORE-4954, CORE-4904, CORE-4902, CORE-5089, CORE-4559, CORE-4475, CORE-4386, CORE-4622, CORE-5032

New REST data source development

The following tickets represent code changes made while developing the new REST data source:

PLIN-4794, PLIN-4733, PLIN-5051, APPS-2348, PLIN-5115, PLIN-4956, PLIN-4873, PLIN-4967, PLIN-4789, PLIN-5042, PLIN-5082, PLIN-4924, PLIN-4415, PLIN-4414, PLIN-5049, PLIN-4996, PLIN-4825, PLIN-4783, PLIN-4905, PLIN-4799, PLIN-4788, PLIN-4854, PLIN-5048

CORE-4871

When Skuid LWC is activated, enable Aura-related features to be used within the Skuid Page (Aura) component

CORE-4899

Upgrade build dependencies

CORE-4883

Updates to allow the Skuid Page (LWC) component to run properly in Lightning communities on Skuid SFX

CORE-5052

Update labeling to reflect pilot status of new Composer

CORE-4874

Update analytics tooling

CORE-5096

Resolve design system file inconsistencies that appear when downloading the file from Skuid’s admin interface versus retrieving it via the CLI, which began after recent updates to streamline that file’s format

PLIN-4804

Remove SSL options that erroneously display for Microsoft SQL Server during data source configuration

CORE-5088

Packaging tasks for Skuid NLX

CORE-5069

OpenAI data source (for use with Chat component) development

CORE-5097

OpenAI data source (for use with Chat component) development

APPS-2340

On SQL data sources, ensure the permission summary at the top of the access control page displays proper access summary

Previously, some permission changes would not trigger an update, instead displaying “No access” even when access was granted. Now the summary properly updates to reflect granted permissions, particularly for “Full access” scenarios

CORE-4950

On Skuid SFX, ensure LWC feature labels can be found when Skuid is installed as managed package

CORE-5082

On Skuid SFX, enable Skuid LWC to run with the “Relaxed CSP” Salesforce setting

CORE-4941

On Skuid SFX, cache the chosen Lightning render mode (Aura or LWC) for improved load times

CORE-4869

On Skuid SFX, add Skuid LWC section in Org Preferences

APPS-2352

On Skuid SFX, add necessary backend support for API key authentication method

APPS-2350

On Skuid NLX, add necessary backend support for API key authentication method

CORE-5078

On SFX, adjust styles of components within Lightning Experience to account for Salesforce CSS updates

CORE-4727

Move component merge variables (like {{searchValue}}) out of beta

CORE-5059

Internal-only XML additions

CORE-5014

Internal refactoring

PLIN-4907

Internal codebase adjustments for feature flags

CORE-4678

In the Design System Studio, utilize enhanced color picker for brand colors

PLIN-4959

In the Database Console, fix issue where the field searchbar and the mass actions for deleting and editing rows were not appearing

CORE-5027

In the Chat component, support rich text

PLIN-4692

Improve UI indicators for an internal beta feature

CORE-5013

Improve loading message indicators for Chat component

CORE-4909

Improve Composer performance for large pages, particularly by adjusting page index logic

PLIN-4300

Generate code coverage reports on NLX

APPS-2356

For SQL data sources, ensure selected SSL options persist across page refreshes, and that certificate information is properly erased when options are changed on-screen

CORE-5023

Fix v1->v2 migration issue where <span> HTML elements, particularly in v1 Queues, would cause “There was an error running the migration” errors—failing the migration itself. Now migrations complete as expected.

CORE-5051

Fix Table issue where drawers wouldn’t display if end users hid the Table’s leftmost column

PLIN-4903

Fix Skuid NLX permission set issue where adding a condition to a site permission set with the “Configure site” permission would not register as a change—preventing the Save button from enabling as expected

CORE-5091

Fix SFX issue where some data source types were not appearing

CORE-4947

Fix regression where fields displayed as buttons groups collapsed to minimum width instead of expanding to fill their given space

CORE-4948

Fix regression where button groups—particularly for picklist fields displayed as button groups—failed to respect width specified for button variants in a given design system

CORE-5077

Fix record type ID lookups for reference fields that display as picklists—which previously had an issue where those picklists would appear as blank even after choosing a value

CORE-4991

Fix Properties pane issue where, after setting its properties in the Advanced tab, focus would unexpectedly shift from the Text component’s canvas input back to the Advanced tab properties after a short delay in typing

CORE-5102

Fix Pages list issue where the Preview option would cause errors when pages required parameters—not opening the modal for setting those parameters and ultimately not previewing the page

PLIN-5090

Fix NLX issue where search bars would collapse into the page’s filters on data source, app, page, and design system admin pages

CORE-5040

Fix navigation item issue where “Sub-navigation item” carets would appear even though there were no sub-navigation items

Previously, deleting sub-navigation items in the Composer would not appropriately update the page XML. This resulted in “Sub-navigation item” carets appearing on these navigation items even though there were no longer sub-navigation items. This affected both top-level and sub-level navigation items.

Now, page XML is updated appropriately and navigation items do not show a caret unless there truly is a sub-item.

CORE-5015

Fix multipicklist issue where displayed values were not updated properly when picklist entries were changed

CORE-5098

Fix model regression where the child relationships sub-tab would not appear within the model fields tab

CORE-5095

Fix issue with nested properties not properly updating the selected area

CORE-4916

Fix issue where the Tab Container component would switch between tab and accordion views at unexpected breakpoints when the browser window was resized

CORE-4984

Fix issue where the some hover state style settings (border radius and background color) for Vertical Navigation items were not being applied correctly at runtime—despite previewing correctly in the Design System Studio

CORE-4918

Fix issue where the “Merge field” field picker, used for setting context conditions, would incorrectly point to the current component’s model instead of the “parent” component’s model—producing incorrect context conditions

CORE-4870

Fix issue where Responsive Grids with a main axis of “Column” would display at unexpected heights at runtime due to incorrect CSS

CORE-5049

Fix issue where newly added actions appear to remain as “Save model” actions, even when set to other action types. While only a label issue, and navigating away and back to an action list would resolve the issue, this misleading action list rendering behavior has been corrected.

PLIN-4955

Fix issue where illustrations used in Skuid Database would incorrectly render with a black background

CORE-5034

Fix issue where icon selectors were not displaying icons

CORE-4901

Fix issue where Geochart components would appear not to reflect model changes, sometimes rendering before model load operations completed

CORE-4900

Fix issue where display logic rules (particularly render conditions) were not enforced as expected on Geochart components

CORE-4890

Fix issue where Chatter components do not properly render input areas within Skuid Page (Aura) components when Skuid LWC is enabled

CORE-4969

Fix issue where Carousel components with slides containing nested Carousels would display incorrect slide count numbering + reimplement ability to remove slides in manually sourced Carousels

CORE-4915

Fix issue where buttons couldn’t be deleted in the Composer once more than one existed in a button group unless the Composer was refreshed

CORE-4992

Fix Form field issue where the “Horizontal alignment” property was not respected for boolean fields in edit mode—defaulting to “Left” alignment instead

CORE-5050

Fix Form component issue with date/time fields where browser focus would unexpectedly shift from edit mode before end users could complete time entry—requiring users to double click the field to re-enter edit mode

CORE-5047

Fix Form column issue where “Align self” properties were not respected—resulting in columns that were always set to flex-start

CORE-4931

Fix EU2 regression where the implied context condition of Id = Id was no longer applied and had to be manually specified, causing unexpected results in context-driven components like Decks

CORE-4978

Fix Edinburgh Update 2 on SFX runtime issue where sometimes icons would not render or would disappear when navigating back and forth between Lightning tabs

CORE-4880

Fix Edinburgh Update 1 issue where metadata overrides that changed Number fields into Picklist fields were not respected in Edit Mode, notably when metadata caching was not enabled for the data source

CORE-5029

Fix Design System Studio issue where the Chat component’s avatar element would not disappear when previewing the element without the avatar

CORE-4942

Fix design system issue where Spacing variables had a blank unit of measurement (instead of ‘px’ or ‘rem’ options)

CORE-4952

Fix date/time field validation behavior on mobile devices, which previously caused incorrect “Must match required format: [date]” errors

CORE-5115

Fix Composer issue where model fields and conditions were being unexpectedly removed when the builder selected the model within the model list

CORE-4940

Fix Composer issue where horizontal scrolling was not possible in Tab Set components in the canvas

CORE-5117

Fix Chart component regression where series interactions were unavailable—instead appearing as an unusable text field within the Properties pane

CORE-4682

Fix Calendar component issue where the view option picklist wasn’t rebuilding after a Month or List view was deleted, preventing the creation of a new view. Also improve disabled entries logic to accurately display the selectable Month/List entries. Additionally, some future feature work.

CORE-4919

Fix “problem initializing component” error that appeared when attempting to create an event in the Calendar component on mobile devices

CORE-4938

Ensure v2 components properly listen for user time zone changes

Previously custom time zone handling through snippets would not propagate as expected in v2 components—particularly the Calendar. For users migrating from v1, this meant snippets were no longer working on otherwise-identical v2 pages.

Now we’ve improved how the user’s current time zone is retrieved and the event subscription logic used by components to ensure these changes are accounted for at runtime

CORE-5005

Ensure the “lang” HTML attribute applied to Skuid pages uses hyphens instead of underscores to specify the language subtag.

Previously these attributes would with underscores: “lang=en_US” Now they appear with hyphens: “lang=en-US”

CORE-4937

Ensure that internal methods used to reparent nested components properly clean up and remove the reparented component from the previous parent

CORE-5024

Ensure switch toggles can be toggled on/off using the keyboard (Selecting them with Tab and toggling them with Spacebar)

CORE-4933

Ensure style variant conditions update the visual appearance of components

Previously style variant conditions would sometimes not properly update the styling of components, particularly when changing values in edit mode. This fix adjusts conditional class assignment, ensuring variants are better applied when expected

CORE-5103

Ensure OpenAI data source functions with the API Keys authentication option

CORE-4917

Ensure initial sections on Accordion components are assigned a unique Id

CORE-4973

Ensure exported design system files only contain updatable properties within the file

CORE-4932

Ensure existing Lightning preview methods continue to function with LWC enabled

CORE-5004

Ensure aria-label values for pagination buttons (page number, previous, next) contain properly updated alternative text and are available to accessibility tools

CORE-4949

Ensure “# of decimal places” property for Table summaries properly respects field metadata when “Use field metadata” is checked

PLIN-5101

Enable API key authentication for v1 runtime

CORE-5087

Disable Skuid Page (LWC) component usage in LWR sites to avoid errors until functionality is completed

CORE-4893

Core adjustments necessary to support improved sidebar and canvas rendering for Skuid Database

CORE-5094

Codebase and internal process enhancements to better avoid APIs noted as distorted by Salesforce

CORE-5053

Chat component development

CORE-5031

Chat component development

CORE-5080

Chat component development

CORE-4985

Chat component development

PLIN-4830

Adjusting behavior of site instance banner on early access sites to better indicate environment

CORE-5105

Adjust streamlined action sequence triggering behavior to account for issues surrounding what were previously event-triggered sequences

CORE-4926

Adjust Drawer chevron icon rendering so that it doesn’t appear extra wide if the drawer contains a Table component

CORE-5017

Adjust design system file format to fix issue where Skuid pages appeared blank in the Composer—which affected builders with large design system files

CORE-4970

Adjust Composer component rendering logic for internal testing

PLIN-4925

Address some spacing issues on Skuid NLX’s admin screens

CORE-5086

Additional work to disable Skuid LWC in LWR while generating passing builds

CORE-5028

Additional design system style properties for the Chat component

CORE-4967

Added HTML support in the following component properties through use of related “Allow HTML” toggle properties:

  • Button: Button label
  • Button Group: Label, when displayed as a menu
  • Wizard: Step labels
  • Header: Title and subtitle
  • Message Area: Title, as well as description
  • Search: In each return object’s header display name and display template
  • Toast (from the Show toast action): Message to display
  • Deck: Title
  • Table: Title, as well as column headers
  • List: Title

CORE-5076

Add “Beta” tag to Chat component and OpenAI data source type

CORE-5108

Add proper permissions for new Composer experience to Skuid Page Builder permission set

CORE-4701

Add interaction functionality to all field types

CORE-5079

Add appropriate implements so the Skuid Aura component can be used when Lightning Locker is disabled

CORE-4951

Add “Copy to clipboard” and “Evaluate formula fields on model” actions