SlideShare a Scribd company logo
1 of 25
Download to read offline
Spring ‘20 Release Highlights
Allentown, PA Developers Group
carl.bundage@gmail.com, @CarlBrundage
Carl Brundage, CTA, MVP, Master Architect @ Odaseva
peter.knolle@trifecta.com, @PeterKnolle
Peter Knolle, CSA, CAA, MVP, Solutions Architect @ Trifecta
Spring ‘20 Release Highlights
1. Lightning Components and Development
2. Security Enhancements
3. Async Job Finalizers
4. Lightning Message Service
5. Flow Before Save (with demo)
6. Limits
7. …And a whole lot more!
Spring ‘20 release trailmix:
https://sforce.co/2OtDWhc
Lightning Components
Ø Aura design tokens now supported in Lightning Web Components
Ø Instead of copying and pasting you can now define CSS values in one place and refer to
them from LWCs.
Ø Lightning (aura) tokens file:
Ø Can reference Salesforce community styles, so that theme changes done declaratively
automatically update your component
Ø The LWC’s CSS file:
Ø You may prefer to use SAAS or LESS or something like that instead
Lightning Components
Ø @track is no longer needed – Happens automatically
Ø @track was used to track private property’s value and rerender a component when it
changes (a.k.a. private reactive properties) as opposed to @api (public)
Ø Before: @track amount;
Ø After: amount;
Ø Not so fast, folks! Objects and Array Elements still need @track
Lightning Components
Ø Base Components have been open sourced
Ø Use the source as a start for your own
Ø Use the source as a reference for best practices
Ø When in doubt, consult them
Ø However, not all have been open sourced
Ø Some of the older ones have not-so-great code and need to be cleaned up, but they will be
open sourced at some point
Ø No lightning-datatable!
Ø https://github.com/salesforce/base-components-recipes/tree/master/force-
app/main/default/lwc
Record Create Page Defaults
Ø In classic we had URL hacks to prepopulate standard pages.
Ø Used in custom buttons or links, many times
Ø /a0U/e?CF00Ni000000EpsgO={!Opportunity.Name}&CF00Ni000000EpsgO_lkid={!Opp
ortunity.Id}&00Ni000000EpsgY={!Opportunity.Description}
Ø It was not supported, but so widely used by Salesforce’s customers that there was no way
that Salesforce would have broken it.
Ø There has been on equivalent in Lightning, until now. And, it is officially supported!
Ø /lightning/o/Account/new?defaultFieldValues=
Name={!URLENCODE(Account.Name)}, OwnerId={!Account.OwnerId},
AccountNumber={!Account.AccountNumber}, NumberOfEmployees=35000,
CustomCheckbox__c={!IF(Account.SomeCheckbox__c, true, false)}
Local Development in Beta
Ø We have been doing this for a while with angular in VF and a local node server with the
localhost conditional components. But no way to do with LCs existed!!!
Ø Install the plugin:
Ø …yada, yada, yada…
Ø Start the server:
Ø Go to http://localhost:3333 (give –port <port-num> for different port)
Ø Alternatively, just use VS Code’s command palette
Ø What’s supported/not:
Ø https://developer.salesforce.com/docs/component-
library/documentation/lwc/lwc.get_started_local_dev_modules
Ø Can use most @salesforce, including @salesforce/apex
Security Enhancements are GA – Use ‘em!
Ø WITH SECURITY_ENFORCED
Ø If the running user does not have permissions on the object or field an exception is
generated
Ø For AppExchange Security Review, you must use API version 48.0 or later when
using WITH SECURITY_ENFORCED. You cannot use API versions where the feature was
in beta or pilot.
Ø Security.stripInaccessible
Ø These can be used to pass security review…
Ø …BUT, it is not clear if sec review automations
Ø will recognize them yet.
Lightning Message Service (Beta)
Ø LWCs have no built-in application event handling – had to use pubsub.js from SF github
Ø Communicate among Aura, VF pages, and LWCs.
Ø Use a Lightning Message Channel
Ø LWC: @salesforce/messageChannel
Ø VF: $MessageChannel
Ø Aura: lightning:message
Ø WARNING: Beta AND not available in communities, yet.
Asynchronous Job Transaction Finalizers (Pilot)
Ø System.Finalizer interface
Ø A way to run code after the job finishes, regardless of success or failure, without polling.
Flow Before-Save Update
Ø Analogous to before insert/update trigger
Ø Let’s see a demo!
Ø Remember the best practice for automations, though…
Ø Try to use one automation type per object.
Ø E.g., Avoid mixing before update flows with triggers with process builders, etc.
Ø It quickly gets out of hand.
Ø Debugging is difficult impossible
Ø Easier said than done.
Run Flows in System Context (with sharing)
Ø When a user runs a flow that is in system context (with sharing), object- and field-level
security checks are automatically passed when the Flow executes a CRUD element.
Ø Flows & Context
Ø Process Builder processes run in system context, without sharing
Ø Scheduled Flows run in system context, without sharing, as Automated Process user
Ø Top-level, auto-launched Flows and screen Flows run in user context
Ø Flows that are invoked by other processes such as Apex triggers, process builder
processes, or even other Flows — run in the execution context of their caller
Ø Declaratively, you can explicitly declare an auto-launched or screen Flow to always run in
system context, with sharing.
Limit Changes of Note
Ø Default daily API allocation increased from 15K to 100K
Ø SOQL Statement length increase from 20K to 100K
Ø SOSL statement length increase from 20K to 100K
Aura Components in the ui Namespace Are Deprecated
Ø Salesforce plans to end support for the deprecated components on May 1, 2021
Ø Replace the deprecated components with their counterparts in the lightning namespace
Ø These components are faster, more efficient, and they implement Lightning Design System
styling out-of-the-box.
Assign Tasks to a Queue
Ø When reps assign tasks to a queue, those tasks are available to members of the queue
Clone Objects Along with Their Related Records
Ø When you click Clone with Related, all of the original object’s related records are also
added to the cloned object
Combine Duplicate Cases with Case Merge
Ø Now, support agents can consolidate up to three duplicate cases
Ø Agents can see duplicate cases from the Case record page in the Merged Cases Related
List, which shows a list of all the cases that were merged to form the master case.
Ø If you decide to keep merged cases, they appear in the Merged Cases related list.
Ø If you decide to delete merged cases, only the master case is saved. You can find the other
merged cases in the Recycle Bin for the next 15 days.
In-App Guidance Improvements
Ø Customize When Prompts Appear to Users
Ø Specify Profiles When Creating Prompts
Ø Add Videos to Docked Prompts
Security Enhancements
Ø Heroku Shield: Support for Apache Kafka on Heroku
Ø Build real-time apps more easily than ever using PHI, PII, and HIPAA-compliant data in a
secure, trusted, and fully managed environment
Ø Shield
Ø Encrypt Platform Events
Ø Mobile
Ø Shield Your Data with Enhanced Mobile Security Updates
Supported Browsers for Lightning Experience
Ø Lightning Experience is supported by
Ø Apple® Safari® version 12.x+ on macOS.
Ø The most recent stable versions of
Ø Microsoft® Edge,
Ø Mozilla® Firefox®,
Ø Google Chrome™.
Ø You can continue to use IE11 to access Lightning Experience until December 31, 2020, If
you opt in to Extended Support for IE11.
Ø You can not access Lightning Experience via a mobile browser,
Ø Use the Salesforce app when you’re working on a mobile device.
Ø You can also access Lightning Experience on the iPad mobile browser.
Ø It is strongly recommended that you do not use Internet Explorer 11 with Community
Builder.
Filter Reports - Field Comparisons with Field-To-Field Filter
Ø Filter a report by comparing the values of two different report fields.
Ø See cases modified after the closing date by filtering on cases with a last modified date
after the closed date
Apple ID Login
Ø Use a new Apple Authentication provider
Ø Log into Salesforce or a Community
Salesforce Mobile App
Ø New Mobile App
Ø All users upgraded Feb 17, 2020
Ø Access Einstein Analytics
Ø Find the Right Record Fast with Recommended Result on Mobile (Beta)
Ø Records are highlighted as top results
Ø Test Your Mobile Communities with the Playground App (Beta)
Ø Non-branded version of the Mobile Publisher for the Communities ap
Invocable Methods/Variable Flexibility with Generics
Ø Use Generic sObject as Data Type when passing Data in @InvocableMethod variables
Ø Annotate with @InvocableVariable
Ø Support the generic sObject and List<sObject> data types.
Spring '20 Developer Release Highlights

More Related Content

Similar to Spring '20 Developer Release Highlights

[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...
[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...
[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...CODE BLUE
 
Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewSascha Corti
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Manoj Ellappan
 
Service Configuration Management for Rapid Growth
Service Configuration Management for Rapid GrowthService Configuration Management for Rapid Growth
Service Configuration Management for Rapid GrowthTakashi Someda
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Manoj Ellappan
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Protect724
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Protect724
 
Top 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular AppTop 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular AppKaty Slemon
 
DevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesDevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesFab L
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Decksschwarzhoff
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
BDD with SpecFlow and Selenium
BDD with SpecFlow and SeleniumBDD with SpecFlow and Selenium
BDD with SpecFlow and SeleniumLiraz Shay
 
solution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptxsolution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptxGoogleDeveloperStude22
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4Kyle Ledbetter
 
Lightning web components
Lightning web components Lightning web components
Lightning web components Cloud Analogy
 

Similar to Spring '20 Developer Release Highlights (20)

Dev Evening
Dev EveningDev Evening
Dev Evening
 
[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...
[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...
[CB19] API-induced SSRF: How Apple Pay Scattered Vulnerabilities Across the W...
 
Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's New
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1
 
Service Configuration Management for Rapid Growth
Service Configuration Management for Rapid GrowthService Configuration Management for Rapid Growth
Service Configuration Management for Rapid Growth
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0
 
Architecting iOS Project
Architecting iOS ProjectArchitecting iOS Project
Architecting iOS Project
 
Top 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular AppTop 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular App
 
DevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesDevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation Slides
 
resume
resumeresume
resume
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
Angular meteor presentation
Angular meteor presentationAngular meteor presentation
Angular meteor presentation
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
BDD with SpecFlow and Selenium
BDD with SpecFlow and SeleniumBDD with SpecFlow and Selenium
BDD with SpecFlow and Selenium
 
solution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptxsolution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptx
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4
 
Lightning web components
Lightning web components Lightning web components
Lightning web components
 

Recently uploaded

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 

Recently uploaded (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 

Spring '20 Developer Release Highlights

  • 1. Spring ‘20 Release Highlights Allentown, PA Developers Group carl.bundage@gmail.com, @CarlBrundage Carl Brundage, CTA, MVP, Master Architect @ Odaseva peter.knolle@trifecta.com, @PeterKnolle Peter Knolle, CSA, CAA, MVP, Solutions Architect @ Trifecta
  • 2. Spring ‘20 Release Highlights 1. Lightning Components and Development 2. Security Enhancements 3. Async Job Finalizers 4. Lightning Message Service 5. Flow Before Save (with demo) 6. Limits 7. …And a whole lot more! Spring ‘20 release trailmix: https://sforce.co/2OtDWhc
  • 3. Lightning Components Ø Aura design tokens now supported in Lightning Web Components Ø Instead of copying and pasting you can now define CSS values in one place and refer to them from LWCs. Ø Lightning (aura) tokens file: Ø Can reference Salesforce community styles, so that theme changes done declaratively automatically update your component Ø The LWC’s CSS file: Ø You may prefer to use SAAS or LESS or something like that instead
  • 4. Lightning Components Ø @track is no longer needed – Happens automatically Ø @track was used to track private property’s value and rerender a component when it changes (a.k.a. private reactive properties) as opposed to @api (public) Ø Before: @track amount; Ø After: amount; Ø Not so fast, folks! Objects and Array Elements still need @track
  • 5. Lightning Components Ø Base Components have been open sourced Ø Use the source as a start for your own Ø Use the source as a reference for best practices Ø When in doubt, consult them Ø However, not all have been open sourced Ø Some of the older ones have not-so-great code and need to be cleaned up, but they will be open sourced at some point Ø No lightning-datatable! Ø https://github.com/salesforce/base-components-recipes/tree/master/force- app/main/default/lwc
  • 6. Record Create Page Defaults Ø In classic we had URL hacks to prepopulate standard pages. Ø Used in custom buttons or links, many times Ø /a0U/e?CF00Ni000000EpsgO={!Opportunity.Name}&CF00Ni000000EpsgO_lkid={!Opp ortunity.Id}&00Ni000000EpsgY={!Opportunity.Description} Ø It was not supported, but so widely used by Salesforce’s customers that there was no way that Salesforce would have broken it. Ø There has been on equivalent in Lightning, until now. And, it is officially supported! Ø /lightning/o/Account/new?defaultFieldValues= Name={!URLENCODE(Account.Name)}, OwnerId={!Account.OwnerId}, AccountNumber={!Account.AccountNumber}, NumberOfEmployees=35000, CustomCheckbox__c={!IF(Account.SomeCheckbox__c, true, false)}
  • 7. Local Development in Beta Ø We have been doing this for a while with angular in VF and a local node server with the localhost conditional components. But no way to do with LCs existed!!! Ø Install the plugin: Ø …yada, yada, yada… Ø Start the server: Ø Go to http://localhost:3333 (give –port <port-num> for different port) Ø Alternatively, just use VS Code’s command palette Ø What’s supported/not: Ø https://developer.salesforce.com/docs/component- library/documentation/lwc/lwc.get_started_local_dev_modules Ø Can use most @salesforce, including @salesforce/apex
  • 8. Security Enhancements are GA – Use ‘em! Ø WITH SECURITY_ENFORCED Ø If the running user does not have permissions on the object or field an exception is generated Ø For AppExchange Security Review, you must use API version 48.0 or later when using WITH SECURITY_ENFORCED. You cannot use API versions where the feature was in beta or pilot. Ø Security.stripInaccessible Ø These can be used to pass security review… Ø …BUT, it is not clear if sec review automations Ø will recognize them yet.
  • 9. Lightning Message Service (Beta) Ø LWCs have no built-in application event handling – had to use pubsub.js from SF github Ø Communicate among Aura, VF pages, and LWCs. Ø Use a Lightning Message Channel Ø LWC: @salesforce/messageChannel Ø VF: $MessageChannel Ø Aura: lightning:message Ø WARNING: Beta AND not available in communities, yet.
  • 10. Asynchronous Job Transaction Finalizers (Pilot) Ø System.Finalizer interface Ø A way to run code after the job finishes, regardless of success or failure, without polling.
  • 11. Flow Before-Save Update Ø Analogous to before insert/update trigger Ø Let’s see a demo! Ø Remember the best practice for automations, though… Ø Try to use one automation type per object. Ø E.g., Avoid mixing before update flows with triggers with process builders, etc. Ø It quickly gets out of hand. Ø Debugging is difficult impossible Ø Easier said than done.
  • 12. Run Flows in System Context (with sharing) Ø When a user runs a flow that is in system context (with sharing), object- and field-level security checks are automatically passed when the Flow executes a CRUD element. Ø Flows & Context Ø Process Builder processes run in system context, without sharing Ø Scheduled Flows run in system context, without sharing, as Automated Process user Ø Top-level, auto-launched Flows and screen Flows run in user context Ø Flows that are invoked by other processes such as Apex triggers, process builder processes, or even other Flows — run in the execution context of their caller Ø Declaratively, you can explicitly declare an auto-launched or screen Flow to always run in system context, with sharing.
  • 13. Limit Changes of Note Ø Default daily API allocation increased from 15K to 100K Ø SOQL Statement length increase from 20K to 100K Ø SOSL statement length increase from 20K to 100K
  • 14. Aura Components in the ui Namespace Are Deprecated Ø Salesforce plans to end support for the deprecated components on May 1, 2021 Ø Replace the deprecated components with their counterparts in the lightning namespace Ø These components are faster, more efficient, and they implement Lightning Design System styling out-of-the-box.
  • 15. Assign Tasks to a Queue Ø When reps assign tasks to a queue, those tasks are available to members of the queue
  • 16. Clone Objects Along with Their Related Records Ø When you click Clone with Related, all of the original object’s related records are also added to the cloned object
  • 17. Combine Duplicate Cases with Case Merge Ø Now, support agents can consolidate up to three duplicate cases Ø Agents can see duplicate cases from the Case record page in the Merged Cases Related List, which shows a list of all the cases that were merged to form the master case. Ø If you decide to keep merged cases, they appear in the Merged Cases related list. Ø If you decide to delete merged cases, only the master case is saved. You can find the other merged cases in the Recycle Bin for the next 15 days.
  • 18. In-App Guidance Improvements Ø Customize When Prompts Appear to Users Ø Specify Profiles When Creating Prompts Ø Add Videos to Docked Prompts
  • 19. Security Enhancements Ø Heroku Shield: Support for Apache Kafka on Heroku Ø Build real-time apps more easily than ever using PHI, PII, and HIPAA-compliant data in a secure, trusted, and fully managed environment Ø Shield Ø Encrypt Platform Events Ø Mobile Ø Shield Your Data with Enhanced Mobile Security Updates
  • 20. Supported Browsers for Lightning Experience Ø Lightning Experience is supported by Ø Apple® Safari® version 12.x+ on macOS. Ø The most recent stable versions of Ø Microsoft® Edge, Ø Mozilla® Firefox®, Ø Google Chrome™. Ø You can continue to use IE11 to access Lightning Experience until December 31, 2020, If you opt in to Extended Support for IE11. Ø You can not access Lightning Experience via a mobile browser, Ø Use the Salesforce app when you’re working on a mobile device. Ø You can also access Lightning Experience on the iPad mobile browser. Ø It is strongly recommended that you do not use Internet Explorer 11 with Community Builder.
  • 21. Filter Reports - Field Comparisons with Field-To-Field Filter Ø Filter a report by comparing the values of two different report fields. Ø See cases modified after the closing date by filtering on cases with a last modified date after the closed date
  • 22. Apple ID Login Ø Use a new Apple Authentication provider Ø Log into Salesforce or a Community
  • 23. Salesforce Mobile App Ø New Mobile App Ø All users upgraded Feb 17, 2020 Ø Access Einstein Analytics Ø Find the Right Record Fast with Recommended Result on Mobile (Beta) Ø Records are highlighted as top results Ø Test Your Mobile Communities with the Playground App (Beta) Ø Non-branded version of the Mobile Publisher for the Communities ap
  • 24. Invocable Methods/Variable Flexibility with Generics Ø Use Generic sObject as Data Type when passing Data in @InvocableMethod variables Ø Annotate with @InvocableVariable Ø Support the generic sObject and List<sObject> data types.