Red Argyle Logo

Patterns
The Salesforce Blog with Tailored Goodness

Taking on the Salesforce ’20 Spring Release: A Developer’s Takeaways

Here at Red Argyle we implement highly customized solutions on the Salesforce platform.  With a growing development team, keeping our eyes on the macro and micro changes within each release is very important for our organization.


The Spring ‘20 release is live and has rolled out a number of updates that will impact developers working on the platform. For this release, we will highlight three of the core areas relevant to development: Lightning Web Components, Security, and the Application Interface.

For a quick glance, here are the features we will be highlighting:

  1. LWC Reactive Tracking
  2. LWC Open Source Base Components
  3. Apex Security Updates
  4. API Enhancements

Lightning Web Components

Frontend development at Red Argyle is now 99% Lightning Web Components.  Salesforce continues to publish significant updates to its front end framework and this release, in particular, has made nice steps forward.

Reactive Tracking

Lightning web components have always allowed for reactive fields using the @track decorator.  A field that is used in a component’s template or properties with an associated @track variable, on value changes, will re-render the component.    

With the Spring ‘20 release, to have a reactive field, the @track decorator is no longer necessary.  If a variable is updated and used in the component’s template will now call a re-render.  

There is still one exception, or use, for the @track decorator.  To observe the changes of an array or object, you must use the decorator if you’d like a re-render when the object or array’s values change.  

Open Source Base Components

Salesforce has begun open-sourcing its base Lightning Web Components!  They have released a number of their base components to a public repository and while it’s not all of them, it is a significant first step.  

Here at Red Argyle we are often writing custom components and try to use base functionality whenever possible.  We often find ourselves at the crossroads of meeting requirements that a standalone base component doesn’t meet 100%.  We can now extend the base component provided in the open-source library, instead of re-rolling our own.


Apex Security Access

As a Salesforce Partner we are fortunate to work with top global companies.  With this opportunity comes great responsibility for high-security standards.  Fortunately, Salesforce is a great partner in this space and has rolled out fantastic security tools to its already highly secure platform.

As Salesforce Developers, if we’re not coding LWC’s then we’re most likely writing Apex and SOQL Queries.  In Apex we’ve always had functionality available to us to have sound security implementations. With the Spring ‘20 release, we now have even more fidelity available to us.

Security Enforced in SOQL

SOQL queries can now respect Object and Field level security permissions.  To use this feature, simply add the SECURITY_ENFORCED keyword to your SOQL queries.  This enforces not just the permissions for the fields and object queried, but also subqueries and cross object relationships. 

Security.stripInaccessible

Similar to the SECURITY_ENFORCED, we can now also remove fields from a collection in Apex calling the Security.stripInaccessible.  Call this function on your collection and it removes fields from the collection that the user can’t access. As suggested by the release notes, this can be used in multiple ways, such as before DML calls to avoid exceptions and also to sanitize a collection from an untrusted source.


API

As Developers we all live within Salesforce documentation.  They have very robust and sometimes overwhelming documentation of their platform.  We get a nice quality of life update this release.

Related Objects Documentation

In the Documentation, it is now more intuitive to identify related objects.  Previously, when viewing an objects documentation, you’d see all associated and parent objects.  It wasn’t clear which one was either a parent or a related record.

Now in this update, an object’s API documentation will have an Associated Objects list.  The Associated Objects will specifically call out parent objects and related objects. This update isn’t groundbreaking, but it’s one of those day to day updates that will make our lives better as a Developer.


Conclusion

If you’ve been around the Salesforce ecosystem for some time then you’re aware we’ve only scratched the surface of the Spring ‘20 release.  We have covered Lightning Web Components, Apex and API Updates. 


If you’re looking to dive into a Consultant’s or Admin’s perspective for the Spring ‘20 release, check out this blog post!  If an Admin’s perspective is still too detailed of a release snapshot, then check out the Business Owner’s perspective post!

Comments