SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
#ForceAcademyLA
I fell in love with
clicks AND code
… here’s what I learned
in relationship therapy
#ForceAcademyLA
Thank you Sponsors!
A big shout out to our sponsors, without them these events would
not be possible:
#ForceAcademyLA#ForceAcademyLA
Hello!
Daniel Stange
Technical Architect
DIA die.interaktiven
Frankfurt (DE) User Group Leader
Found Salesforce boring in the dark ages -
Changed my mind.
You can find me at:
@stangomat
linkedin.com/in/danielstange/
Blog: blog.danielstange.de
#ForceAcademyLA#ForceAcademyLA
• Happy (Solo) Days
• Relationship <3
• Crisis!
• Reconciliation
Agenda
#ForceAcademyLA
“Do not swear by the moon,
for she changes constantly.
then your love would also change.”
#ForceAcademyLA
Solo Admin,
flyin’ solo
1.
HAPPY
DAYS
#ForceAcademyLA#ForceAcademyLA
DEMO
Our session
scenario: Just a plain
org with some basic
“clicks not code”
automations
Place your screenshot here
#ForceAcademyLA
Wouldn‘t it be nice
if it never rained?
#ForceAcademyLA#ForceAcademyLA
Which scenarios
were tested?
There aren‘t any issues, right?
How was it tested?
For which scale
was it built?
Operation Types
Data Volume
#ForceAcademyLA
Admin <3 Dev
kinda…
2.
RELATIONSHIP
#ForceAcademyLA#ForceAcademyLA
• Apex Developers
• AppExchange Packages
• Integrations & Data Loads
• ... and even yourself (yes, that‘s right)
Who‘s in the game?
#ForceAcademyLA#ForceAcademyLA
Scenarios?
Again...
Tests?
Scale? Operations?
Data Volume?
Single record, positive tests from the UI with
an Admin user...
#ForceAcademyLA#ForceAcademyLA
DEMO
A new requirement!
And alas – it needs
some code!
Place your screenshot here
#ForceAcademyLA
“Thus with a kiss I die”
#ForceAcademyLA
„Just don‘t send these
kinds of emails!“
3.
CRISIS
#ForceAcademyLA#ForceAcademyLA
DEMO
Turns out that
declarative and code
don’t live side by
side harmonically…
But why?
And What can we
do?
Place your screenshot here
#ForceAcademyLA#ForceAcademyLA
• „it‘s nothing personal“ indeed:
Exceptions pop up as they happen
• Team up
• Keep documentation (of the system AND of
incidents)
Cope with Anger & Frustration
#ForceAcademyLA#ForceAcademyLA
LIMITS
Bring the attention of your audience over a
key concept using icons or illustrations
#ForceAcademyLA
Everyone shares the same set of limits
Even workflow rules consume governor
limits.
Database interactions, rows...
And CPU time!
KNOW ABOUT THE LIMITS
#ForceAcademyLA#ForceAcademyLA
ORDER
There’s an order to everything that
happens after you saved a record to the
database
#ForceAcademyLA#ForceAcademyLA
Know the „Order of Execution“ by heart
Þ Core explanation for most common problems
Þ Logic may not run (or run more than once)
Þ Data may have changed
Þ Inspect the operation flow in the dev console
using the „Analysis Perspective“
#ForceAcademyLA#ForceAcademyLA
„Order of Execution“ at a glance
#ForceAcademyLA#ForceAcademyLA
„Order of Execution“ at a glance
#ForceAcademyLA#ForceAcademyLA
„Order of Execution“ at a glance
#ForceAcademyLA#ForceAcademyLA
RECURSION
Re-Entry into previously executed logic
is sometimes crucial – and sometimes
terribly dangerous
#ForceAcademyLA#ForceAcademyLA
Operations can (and will) run in circles
Recursion is the #1 villain... Really.
Use the recursion flags
for Workflows and
process Builder with care
Map out your operations
#ForceAcademyLA#ForceAcademyLA
SPREAD
A Change in Data can trigger a chain
reaction as it fires logic far away from the
starting point
#ForceAcademyLA#ForceAcademyLA
Operations tend to spread out
Plan automations carefully if they are going to touch
related objects and keep documentation / maps.
#ForceAcademyLA#ForceAcademyLA
The Usual Suspects...
• Rollup Summaries
• Cross Object Workflow Updates
• Implicit Rollups
• (Task to LastActivityDate on Account and WhoId / WhatID)
• DLRS / Rollup Helper
#ForceAcademyLA#ForceAcademyLA
DEMO
Supposedly simple
operations can
consume a massive
amount of your
limits
Place your screenshot here
#ForceAcademyLA
They lived happily
Ever after
4.
RECONCILIATION
#ForceAcademyLA#ForceAcademyLA
CHOOSE
WISELY
Know when to build code,
know when to save the effort
#ForceAcademyLA#ForceAcademyLA
• Avoid PB / Flow for bulk operations
• Use the advantage of the „before“ context in
Triggers
• Use „update records“ action with care if
writing up or down
• Minimize the number of automation types
and stick with one
Rule of thumb: Least complex tool
to do the job
#ForceAcademyLA#ForceAcademyLA
BE
SPECIFIC
For every automation, check for the
conditions to really run the automation
#ForceAcademyLA#ForceAcademyLA
• Leverage entry criteria
• Leverage action criteria in Process Builder
• Check for Changed Fields before running
your logic
Filter for exact scenarios
#ForceAcademyLA#ForceAcademyLA
USE
GATES
Filter away everything
that should not happen
#ForceAcademyLA#ForceAcademyLA
• Use hidden fields to start or bypass
workflows, flows and process builder nodes
Flow Control in Declarative Logic
#ForceAcademyLA#ForceAcademyLA
Static variables to keep track of
• Operation Entry Point
• Executed Units
• Processed Record Ids
• Units to execute (or not)
Advanced stuff: Enterprise Patterns / Unit of
Work
Flow Control in Apex Triggers
#ForceAcademyLA#ForceAcademyLA
DEMO
Use clear entry
conditions and
prevent re-entry
Place your screenshot here
#ForceAcademyLA#ForceAcademyLA
ALLOW
BYPASSES
Once you control your automations, build
ways to bypass your logic
#ForceAcademyLA#ForceAcademyLA
Bypasses let you decide which logic to run next.
• Exceptions from Validations
• Deliberately bypass logic
KNOW WHAT YOU‘RE DOING:
Data Inconsistency Ahead!
Bypasses to manipulate the flow
#ForceAcademyLA#ForceAcademyLA
DEMO
Use a Custom
Permission to
Bypass Validations
Place your screenshot here
#ForceAcademyLA#ForceAcademyLA
DEMO
Use Handler
bypasses in Triggers
Place your screenshot here
#ForceAcademyLA#ForceAcademyLA
The Work Horse:
Kevin O‘Hara‘s Framework:
github.com/kevinohara80/sfdc-trigger-framework
Lightweight & Modern:
MyTriggers: github.com/appero-com/MyTriggers
Full Circle:
Force DI: github.com/afawcett/force-di
Trigger Handler Progression
#ForceAcademyLA#ForceAcademyLA
TEST,
TEST,
TEST… volume, integrations, expected outcome,
#ForceAcademyLA#ForceAcademyLA
DEMO
Example of a test
data insert, update
extract and delete
job.
Place your screenshot here
#ForceAcademyLA#ForceAcademyLA
Thank Y u!
Any questions?
You can find me at:
@stangomat
Daniel.Stange@die-interaktiven.de
linkedin.com/in/danielstange/
Blog post / source code to come
blog.danielstange.de and github.com/dstdia

Weitere ähnliche Inhalte

Was ist angesagt?

WooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP SnippetsWooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP Snippets
Rodolfo Melogli
 
jQuery SUG Group Introduction
jQuery SUG Group IntroductionjQuery SUG Group Introduction
jQuery SUG Group Introduction
Andrew Chalkley
 
Webinar pitch secrets 2.0
Webinar pitch secrets 2.0Webinar pitch secrets 2.0
Webinar pitch secrets 2.0
Eleanor Prior
 

Was ist angesagt? (20)

Moore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix thatMoore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix that
 
Testing ASP.net Web Applications
Testing ASP.net Web ApplicationsTesting ASP.net Web Applications
Testing ASP.net Web Applications
 
WooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP SnippetsWooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP Snippets
 
The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015
 
WooCommerce Customization Masterclass (WordCamp Dublin 2017)
WooCommerce Customization Masterclass (WordCamp Dublin 2017)WooCommerce Customization Masterclass (WordCamp Dublin 2017)
WooCommerce Customization Masterclass (WordCamp Dublin 2017)
 
Full Stack Testing Done Well
Full Stack Testing Done WellFull Stack Testing Done Well
Full Stack Testing Done Well
 
Debugging WooCommerce - WooConf Talk
Debugging WooCommerce - WooConf TalkDebugging WooCommerce - WooConf Talk
Debugging WooCommerce - WooConf Talk
 
Making WooCommerce Your Own
Making WooCommerce Your OwnMaking WooCommerce Your Own
Making WooCommerce Your Own
 
jQuery SUG Group Introduction
jQuery SUG Group IntroductionjQuery SUG Group Introduction
jQuery SUG Group Introduction
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasia
 
Master WooCommerce Troubleshooting
Master WooCommerce TroubleshootingMaster WooCommerce Troubleshooting
Master WooCommerce Troubleshooting
 
Conditional Love - Using WordPress Conditional Tags to Write More Effective T...
Conditional Love - Using WordPress Conditional Tags to Write More Effective T...Conditional Love - Using WordPress Conditional Tags to Write More Effective T...
Conditional Love - Using WordPress Conditional Tags to Write More Effective T...
 
Before Starting a Startup – Paweł Wrzeszcz, BNS IT
Before Starting a Startup – Paweł Wrzeszcz, BNS ITBefore Starting a Startup – Paweł Wrzeszcz, BNS IT
Before Starting a Startup – Paweł Wrzeszcz, BNS IT
 
Top 10 things a fresh programmer should know - Dao Ngoc Khanh
Top 10 things a fresh programmer should know - Dao Ngoc KhanhTop 10 things a fresh programmer should know - Dao Ngoc Khanh
Top 10 things a fresh programmer should know - Dao Ngoc Khanh
 
Standards.next: HTML - Are you mything the point?
Standards.next: HTML - Are you mything the point?Standards.next: HTML - Are you mything the point?
Standards.next: HTML - Are you mything the point?
 
Bridging the Gap: From WordPress beginner to WordPress Wizard
Bridging the Gap: From WordPress beginner to WordPress WizardBridging the Gap: From WordPress beginner to WordPress Wizard
Bridging the Gap: From WordPress beginner to WordPress Wizard
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Webinar pitch secrets 2.0
Webinar pitch secrets 2.0Webinar pitch secrets 2.0
Webinar pitch secrets 2.0
 
Child Themes - WordCamp Dublin 2017
Child Themes - WordCamp Dublin 2017Child Themes - WordCamp Dublin 2017
Child Themes - WordCamp Dublin 2017
 
Browsers
BrowsersBrowsers
Browsers
 

Ähnlich wie Force Academy '19: I fell in love with clicks AND code - here's what I learned in relationship therapy

What SQL should actually be...
What SQL should actually be...What SQL should actually be...
What SQL should actually be...
Open Academy
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdo
daniil3
 

Ähnlich wie Force Academy '19: I fell in love with clicks AND code - here's what I learned in relationship therapy (20)

Gear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
Gear up for Continuous Integration with Salesforce DX, Circle CI and ClaytonGear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
Gear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
 
Force Academy LA Trigger Framework
Force Academy LA Trigger FrameworkForce Academy LA Trigger Framework
Force Academy LA Trigger Framework
 
Keeping lab notes as a software developer
Keeping lab notes as a software developerKeeping lab notes as a software developer
Keeping lab notes as a software developer
 
20201010 - Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
20201010 -  Collabdays 2020 - Sandro Pereira - Power Automates: best practice...20201010 -  Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
20201010 - Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
 
Geek Sync | Field Medic’s Guide to Database Mirroring
Geek Sync | Field Medic’s Guide to Database MirroringGeek Sync | Field Medic’s Guide to Database Mirroring
Geek Sync | Field Medic’s Guide to Database Mirroring
 
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
 
Luis Majano The Battlefield ORM
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORM
 
Automating Servers in the Cloud
Automating Servers in the CloudAutomating Servers in the Cloud
Automating Servers in the Cloud
 
Tahoe Dreamin 2018: It simply works... until it breaks!
Tahoe Dreamin 2018: It simply works... until it breaks!Tahoe Dreamin 2018: It simply works... until it breaks!
Tahoe Dreamin 2018: It simply works... until it breaks!
 
How to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problemHow to find and fix your Oracle application performance problem
How to find and fix your Oracle application performance problem
 
The Key to Keys - Database Design
The Key to Keys - Database DesignThe Key to Keys - Database Design
The Key to Keys - Database Design
 
Apex code Benchmarking
Apex code BenchmarkingApex code Benchmarking
Apex code Benchmarking
 
Ten query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should knowTen query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should know
 
Command Pattern in Ruby
Command Pattern in RubyCommand Pattern in Ruby
Command Pattern in Ruby
 
What SQL should actually be...
What SQL should actually be...What SQL should actually be...
What SQL should actually be...
 
Incredible ODI tips to work with Hyperion tools that you ever wanted to know
Incredible ODI tips to work with Hyperion tools that you ever wanted to knowIncredible ODI tips to work with Hyperion tools that you ever wanted to know
Incredible ODI tips to work with Hyperion tools that you ever wanted to know
 
Streams on top of scala - #lambdaCon
Streams on top of scala - #lambdaConStreams on top of scala - #lambdaCon
Streams on top of scala - #lambdaCon
 
How and why I turned my old Java projects into a first-class serverless compo...
How and why I turned my old Java projects into a first-class serverless compo...How and why I turned my old Java projects into a first-class serverless compo...
How and why I turned my old Java projects into a first-class serverless compo...
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdo
 
Solid And Sustainable Development in Scala
Solid And Sustainable Development in ScalaSolid And Sustainable Development in Scala
Solid And Sustainable Development in Scala
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Force Academy '19: I fell in love with clicks AND code - here's what I learned in relationship therapy