Winter ’21: Dynamic Forms in Lightning Experience

It is time for another #LightningFlap! In our last post, we looked at Activity Timelines and how they help show Tasks/Events in a single view. Click here to check that out. Before our deep-dive on Lightning Record Pages, we shall take a slight detour!

Winter ’21 is coming and there is plenty to get excited about. In this post, we shall cover:

  • What is Winter ’21
  • What are Dynamic Forms?
  • Considerations when using Dynamic Forms
  • When will I get access to Winter ’21?
  • Bonus Penguin Fact!

What Is Winter ’21?

Before exploring Winter ‘ 21, you must know what is meant by a ‘Salesforce Release’.  

Salesforce has three release cycles each year: Spring, Summer and Winter. Each release brings updates by Salesforce. These occur automatically, with very little (if-any) downtime. 

It is key to keep up to date with these for various reasons:

  • Check if any updates impact your org (e.g. feature changes or retirements)
  • See what new features/tools are available
  • Establish if enhancements will ‘unlock’ any opportunities for your business
  • To maintain Salesforce certifications (if relevant)

Each release provides us the the opportunity to do more. What may have required lots of effort or code previously, may now be possible via point-and-click tools. Great for ‘Low-code Development’! For more info on how to prepare for a Salesforce Release, check out this Trailhead resource

Winter ’21 is being rolled out now. This provides a host of great new features. In this post, we shall overview one of my personal favourites, Dynamic Forms. 

Dynamic Forms (Generally Available)

Lightning Record Pages have empowered Admins and Developers since their introduction. They have allowed us to create modern, component based (e.g. Path, Flows, Related Lists etc) Pages via drag and drop. Moreover, we can ‘Set Component Visibility’. This has allowed us to control what is displayed, based on:

  • Field Values
  • Device used (Phone or Desktop)
  • User Details or Permissions

Controlling what a user sees on screen is invaluable. For example, it allows us to reduce noise. It also enables us to show specific information on screen, when it is needed. However, up until now, there has been a catch. 

Screenshot showing how to 'Set Component Visibility dynamically on a Lightning Record Page
Screenshot showing how to ‘Set Component Visibility dynamically on a Lightning Record Page

Control over what is dynamically displayed has been set at the Component level. The same level of control was not available for fields, where Classic Page Layouts were still used. Winter ’21 goes a long way to changing this by introducing ‘Dynamic Forms’. 

Within Dynamic Forms, we can now add ‘Field Sections’ to pages. These gives us the ability to add custom sections to Lightning pages. Each Field Section can be named, set to display either 1 or 2 columns and has the same ‘Component Visibility’ settings as other Components.  

Screenshot of how to add a Field Section
Screenshot of how to add a Field Section

Once you have created a Field Section, you can add Fields. You can select from fields available within your object (not related objects) and set whether their UI behaviour as either: None, Read-Only or Required. You can also control whether the field is visible based on Record Fields or Permissions/User details.

Screenshot of how to add fields to a Field Section
Screenshot of how to add fields to a Field Section

You can then edit/amend the Lightning record page as required. 

From my perspective, the potential is vast. It provides Admins control over what is displayed to a level that previously would have required code. It also allows more ‘structure’. For example, Field Sections can be embedded in ‘Tabs’. This can allow us to simplify layouts and reduce the need for ‘long’ pages. 

Whilst this is not yet available on Standard objects, it is a big step forward. I cannot wait to see what other enhancements will come in subsequent releases in this area. 

 

Considerations when using Dynamic Forms

When considering to use Dynamic Forms, please bear in mind the following:

  • In Winter ’21, Dynamic Forms only support Custom objects. They do not support Standard Objects yet (e.g. Accounts, Contacts, Opportunities)
  • Setting UI Behaviour for fields only controls how they appear on this page
  • Unlike Classic pages, you can add the same field to a Lightning Record Page multiple times – although consider carefully why you are doing this!
  • If you switch to using Field Sections, it is recommended you do not use the current ‘Record Detail’ component 

More detailed information on considerations is available here

Alongside this, gain user feedback. For example, when structuring layouts, understand what will help your users. This could include understanding what fields they look at for each stage in a process. Doing so will allow you to ‘group’ fields in an intuitive way to help boost productivity. 

When will I get access to Winter '21?

If this has whetted your interest for Winter ’21, check out the Release date details here. Remaining orgs which have not been currently enabled with Winter ’21 are scheduled to be activated on the 16th or 17th of October. 

If you know your org’s instance, you can find your specific details here: https://trust.salesforce.com/en/. Alternatively, if you do not know your org’s instance, click here for more details

To learn about the other features coming out in the release, check out these resources:

Conclusion

This post has overviewed what is meant by a Salesforce Release and overviewed the capabilities of ‘Dynamic Forms’. This feature has the potential to make page layouts much more intuitive for users. However, it is important to gauge what will help your users (e.g. how to structure the page). 

Winter ’21 contains many great features. Be sure to be prepared and make the most of the new features!

Bonus Penguin Fact

Did you know that the fastest swimming penguin (a Gentoo Penguin) can swim up to 22mph! 

Leave a Comment

Your email address will not be published. Required fields are marked *