App Builder Cert Maintenance (Winter '21)
These are technical notes I compiled while studying using Trailhead, Salesforce's free self-learning portal.
According to this Certification Maintenance help article, beginning with the Spring, ‘20 release, all certifications now require completion of one maintenance module per year.
The Winter ‘21 maintenance module for App Builders was available 9/12/20 and is due in December 2021.
Learn what’s new for App Builders in Winter ‘21
Locate Lightning App Builder header and toolbar buttons. Deploy organization-wide defaults and criteria-based sharing rules together. Develop flow screen components that work for multiple objects. Break up your record details with Dynamic Forms. Debug flow errors in a sandbox org as another user._Lightning App Builder Header and Toolbar Changes
- Moved/changed some items on the App Builder toolbar including:
- Refresh icon
- Added Analyze button - for new Performance Analysis function
- Switched places and colors of Save and Activation buttons
Deploy Organization-Wide Defaults and Criteria-Based Sharing Rules Together
- Simultaneously update
sharingModel
field for an object and create new criteria-based or guest user sharing rules via the Metadata API.- Previously these changes were deployed in separate packages
Develop Flow Screen Components That Work for Multiple Objects
- Can now create reusable flow screen components that use the generic
sObject
andsObject[]
data types- Ex: can now build a data table component that works with any collection of records, from accounts and contacts to custom objects
Break Up Your Record Details with Dynamic Forms
- Dynamic Forms is the next step in the evolution of Lightning record pages.
- Adds ability to configure record detail fields and sections inside the Lightning App Builder.
- Reason: The more fields on the page layout, the more that the Record Detail component becomes a monolithic block of fields that you can’t customize. With Dynamic Forms, you can migrate the fields and sections from the page layout as individual components into the Lightning App Builder.
- Available for custom objects only.
- A new “Fields” tab in the component palette contains Field and Field Section components, which are the building blocks for Dynamic Forms.
- To start, open an existing record page in App Builder, then click Upgrade Now from the Record Detail properties pane to launch the Dynamic Forms migration wizard.
Debug Flow Errors in Sandbox Org as Another User
- To enable, in Setup, go to Process Automation Settings and select the Let admins debug flows as other users checkbox
- To use, open a flow in Flow Builder and click Debug, then select Run flow as another user checkbox and choose a user.
- Only available for screen flows and autolaunched flows in nonproduction orgs. Suppors flow elements and actions only.
- Where should you go to analyze performance on a Lightning record page?
- Lightning App Builder
- What field is updated when deploying sharing settings simultaneously?
- SharingModel
- What should be used to build a collection of records for three different custom objects?
- Reusable screen component
- You receive feedback that a custom page layout has too many fields on it, and some fields are only needed if other fields are entered. What should be configured to help?
- Dynamic Forms
- What type of flow is available for an app builder to debug as another user?
- Screen Flow
Get Hands-on With Flow Before-Save Trigger When Certain Record Changes are Made
Update new and changed records by using before-save updates in flows. Take a flow path only when certain record changes are made. Maintain your Salesforce Certified Platform App Builder certification.Update New and Changed Records by Using Before-Save Updates in Flows
- In Spring, ‘20, app builders learned that in Flow Builder they can trigger a flow to run before a record is saved.
- Now, creating or updating a record can trigger an autolaunched flow to make additional updates to that record before it’s saved to the database. These Before-save updates in flows are much faster than other available record-triggered updates.
- A before-save update in a flow is 10 times faster than an update in a record-change process built in Process Builder
- Ex: Using Process Builder to make a record-change process to make additional updates to each record that triggers the process is slower. Before-save updates in flows accomplish the same thing, but more quickly because each record doesn’t get saved to the database again.
- Similar to a
before
trigger
- A before-save update in a flow is 10 times faster than an update in a record-change process built in Process Builder
- Options on Record-Triggered Flows:
Before the record is saved
: If all you need is to update the record that launches the flow, select this option to quickly build a high-performance flow. To update the record, simply use an Assignment element to set fields on the $Record global variable. Salesforce handles the rest for you.- Limited functionality available in the flow
After the record is saved
: To build a richer flow that can access any record and perform actions, select this option. This flow can access most flow elements. The $Record global variable contains the Salesforce record that launches the flow.
- Salesforce recommendation is to use before-save updates in flows to update fields on new or changed records.
- To use, create a record-triggered flow and Edit the Start element:
- Trigger flow when A record is created or updated
- Run the Flow Before the record is saved
$Record
global variable contains the valeus from the record that triggers the flow to run. When the flow changes the values in the$Record
global variable, Salesforce automatically applies those new values to the record - no need for an Update Records element.
Take a Flow Path Only When Certain Record Changes Are Made
- On a record-triggered flow, configure the Start element to trigger when the record is updated, or created/updated.
- To configure a Decision lement’s outcome to only run when the triggering record is updated to match certain conditions, can select Only if the record that triggered the flow is updated to meet the requirements