Edinburgh Update 3¶
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:
- For product and feature feedback, contact product@skuid.com
- For documentation feedback, contact documentation@skuid.com
- To request access to closed pilot/beta features, contact earlyaccess@skuid.com.
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!¶
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