SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Understand & fix them!
jpmonette@mavens.com
@jpmonette
​Jean-Philippe Monette
​Technical Architect @ Mavens
Troubleshooting
Recursive Triggers
Forward-Looking Statements
​Statement under the Private Securities Litigation Reform Act of 1995:
​This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or
if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the
forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any
projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies
or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology
developments and customer contracts or use of our services.
​The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for
our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of
growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed
and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand,
retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history
reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could
affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly
report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC
Filings section of the Investor Information section of our Web site.
​Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may
not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently
available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Overview
1. Introduction
2. Scenario 1: Spouse Situation
3. Scenario 2: Declarative Side Effects
4. Lessons Learned
5. Next Steps
6. Q&A
​Our game plan
Introduction
​What are Apex Triggers?
• Apex Triggers enable you to perform custom actions before and after changes to
Salesforce records, such as insertions, updates, or deletions.
​What is a Recursive Trigger?
• A recursive trigger is one calling itself multiple times in the same transaction.
​Learn the lingo
Spouse Situation
Scenario #1
Scenario #1: Spouse Situation
​Logic implemented on the Contact Object
​Business Logic
• When a Contact record is associated to its Spouse
(another Contact record) using a lookup field, the system
must create the reciprocal relationship on the Spouse
record
• Implemented in a trigger named ContactTrigger
​Symptom of recursivity
• A DmlException is displayed on the User Interface,
preventing User from updating record
John Doe Jane Doe
Let’s troubleshoot!
Scenario #1
Scenario #1: Process Mapping
​What is going on?
Expected behavior Actual behavior
Let’s fix that bug
Scenario #1
Declarative Side Effects
Scenario #2
Scenario #2: Declarative Side Effects
​Logic implemented on the Lead Object
​Business Logic
• When a Lead is updated, the custom field named
Number of Updates is incremented by 1 to keep track
of track Lead activity.
• Implemented in a trigger named UpdateCountTrigger
• When the standard field Number of Employees is
changed, the custom field Company Size is
automatically populated.
• Implemented in 3 Workflow Rules & 3 Field Updates
​Symptom of recursivity
• The field Number of Updates is incremented by 2
when the field Company Size is modified.
Change Contact details:
No. of Updates + 1
Change Business info. :
No. of Updates + 1
Change No. of employee :
No. of Updates + 1
No. of Employees Company Size
0 to 49 Small
50 to 245 Medium
250 and more Large
Let’s troubleshoot
Scenario #2
Scenario #2: Order of Execution
​What is that all about?
​ Order of events executed when performing an insert,
update or upsert on the Force.com platform.
Scenario #2: Process Mapping
​Are you sure you know what is really going on?
+1
+1
+1
Expected behavior Actual behavior
Let’s fix the bug
Scenario #2
Lessons Learned
Make sure you understand the business logic
• Document your processes and architecture
​Use Static variables: they are your friend
• Use them to track state during a transaction
• Implement trigger logic in Apex classes
Do regression testing when adding features
• Validate that Programmatic & Declarative features play nice together
• Use the Developer Console to assist you when troubleshooting
Next Steps
​Familiarise yourself with the Developer Console
• Developer Console User Interface Overview
​Learn more about Order of Execution
• Triggers and Order of Execution
​Use Trigger Templates to streamline Trigger logic
• The “One Trigger per Object” design pattern
• Trigger Pattern for Tidy, Streamlined, Bulkified Triggers
* Slides and Code available on Chatter
​Be proactive – learn more!
Thank Y u

Weitere ähnliche Inhalte

Andere mochten auch

European Energy Markets Observatory 2013
European Energy Markets Observatory 2013European Energy Markets Observatory 2013
European Energy Markets Observatory 2013Capgemini
 
Zamokuhle orientation sept 2014
Zamokuhle orientation sept 2014Zamokuhle orientation sept 2014
Zamokuhle orientation sept 2014Duncan Jacobs
 
Challenges and opportunities in mapping the North American hazardous waste trade
Challenges and opportunities in mapping the North American hazardous waste tradeChallenges and opportunities in mapping the North American hazardous waste trade
Challenges and opportunities in mapping the North American hazardous waste tradenacis_slides
 
Enterprise Architecture and Agility
Enterprise Architecture and AgilityEnterprise Architecture and Agility
Enterprise Architecture and AgilityShahid Shah
 
The unified-customer-experience-imperative
The unified-customer-experience-imperativeThe unified-customer-experience-imperative
The unified-customer-experience-imperativeRodd SL
 
OSEHRA and VistA Platform Overview
OSEHRA and VistA Platform OverviewOSEHRA and VistA Platform Overview
OSEHRA and VistA Platform OverviewShahid Shah
 
Opportunities in Modern India - Jacob Risgaard Knudsen
Opportunities in Modern India - Jacob Risgaard KnudsenOpportunities in Modern India - Jacob Risgaard Knudsen
Opportunities in Modern India - Jacob Risgaard KnudsenJacob Risgaard Knudsen
 
Jordi Tuset (control mates 3r)
Jordi Tuset (control mates 3r)Jordi Tuset (control mates 3r)
Jordi Tuset (control mates 3r)mestralescola
 
The Development Of Modern India
The Development Of Modern IndiaThe Development Of Modern India
The Development Of Modern Indiarhalter
 
10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)
10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)
10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)Rigoberto José Meléndez Cuauro
 
RUSSIAN PROPAGANDA, Denis Bohush
RUSSIAN PROPAGANDA, Denis BohushRUSSIAN PROPAGANDA, Denis Bohush
RUSSIAN PROPAGANDA, Denis BohushDenis Bohush
 

Andere mochten auch (14)

European Energy Markets Observatory 2013
European Energy Markets Observatory 2013European Energy Markets Observatory 2013
European Energy Markets Observatory 2013
 
Indian culture - Geetha Selvakumar
Indian culture - Geetha SelvakumarIndian culture - Geetha Selvakumar
Indian culture - Geetha Selvakumar
 
Zamokuhle orientation sept 2014
Zamokuhle orientation sept 2014Zamokuhle orientation sept 2014
Zamokuhle orientation sept 2014
 
Challenges and opportunities in mapping the North American hazardous waste trade
Challenges and opportunities in mapping the North American hazardous waste tradeChallenges and opportunities in mapping the North American hazardous waste trade
Challenges and opportunities in mapping the North American hazardous waste trade
 
Enterprise Architecture and Agility
Enterprise Architecture and AgilityEnterprise Architecture and Agility
Enterprise Architecture and Agility
 
The unified-customer-experience-imperative
The unified-customer-experience-imperativeThe unified-customer-experience-imperative
The unified-customer-experience-imperative
 
OSEHRA and VistA Platform Overview
OSEHRA and VistA Platform OverviewOSEHRA and VistA Platform Overview
OSEHRA and VistA Platform Overview
 
Netflix API
Netflix APINetflix API
Netflix API
 
Opportunities in Modern India - Jacob Risgaard Knudsen
Opportunities in Modern India - Jacob Risgaard KnudsenOpportunities in Modern India - Jacob Risgaard Knudsen
Opportunities in Modern India - Jacob Risgaard Knudsen
 
Jordi Tuset (control mates 3r)
Jordi Tuset (control mates 3r)Jordi Tuset (control mates 3r)
Jordi Tuset (control mates 3r)
 
The Development Of Modern India
The Development Of Modern IndiaThe Development Of Modern India
The Development Of Modern India
 
10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)
10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)
10 Prácticas Recomendadas para las Pruebas de Unidades Electroquirúrgicas (UEQ)
 
RUSSIAN PROPAGANDA, Denis Bohush
RUSSIAN PROPAGANDA, Denis BohushRUSSIAN PROPAGANDA, Denis Bohush
RUSSIAN PROPAGANDA, Denis Bohush
 
INDIAN PAINTINGS
INDIAN PAINTINGS INDIAN PAINTINGS
INDIAN PAINTINGS
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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 WorkerThousandEyes
 
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 productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Troubleshooting Recursive Triggers

  • 1. Understand & fix them! jpmonette@mavens.com @jpmonette ​Jean-Philippe Monette ​Technical Architect @ Mavens Troubleshooting Recursive Triggers
  • 2. Forward-Looking Statements ​Statement under the Private Securities Litigation Reform Act of 1995: ​This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. ​The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. ​Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Overview 1. Introduction 2. Scenario 1: Spouse Situation 3. Scenario 2: Declarative Side Effects 4. Lessons Learned 5. Next Steps 6. Q&A ​Our game plan
  • 4. Introduction ​What are Apex Triggers? • Apex Triggers enable you to perform custom actions before and after changes to Salesforce records, such as insertions, updates, or deletions. ​What is a Recursive Trigger? • A recursive trigger is one calling itself multiple times in the same transaction. ​Learn the lingo
  • 6. Scenario #1: Spouse Situation ​Logic implemented on the Contact Object ​Business Logic • When a Contact record is associated to its Spouse (another Contact record) using a lookup field, the system must create the reciprocal relationship on the Spouse record • Implemented in a trigger named ContactTrigger ​Symptom of recursivity • A DmlException is displayed on the User Interface, preventing User from updating record John Doe Jane Doe
  • 8. Scenario #1: Process Mapping ​What is going on? Expected behavior Actual behavior
  • 9. Let’s fix that bug Scenario #1
  • 11. Scenario #2: Declarative Side Effects ​Logic implemented on the Lead Object ​Business Logic • When a Lead is updated, the custom field named Number of Updates is incremented by 1 to keep track of track Lead activity. • Implemented in a trigger named UpdateCountTrigger • When the standard field Number of Employees is changed, the custom field Company Size is automatically populated. • Implemented in 3 Workflow Rules & 3 Field Updates ​Symptom of recursivity • The field Number of Updates is incremented by 2 when the field Company Size is modified. Change Contact details: No. of Updates + 1 Change Business info. : No. of Updates + 1 Change No. of employee : No. of Updates + 1 No. of Employees Company Size 0 to 49 Small 50 to 245 Medium 250 and more Large
  • 13. Scenario #2: Order of Execution ​What is that all about? ​ Order of events executed when performing an insert, update or upsert on the Force.com platform.
  • 14. Scenario #2: Process Mapping ​Are you sure you know what is really going on? +1 +1 +1 Expected behavior Actual behavior
  • 15. Let’s fix the bug Scenario #2
  • 16. Lessons Learned Make sure you understand the business logic • Document your processes and architecture ​Use Static variables: they are your friend • Use them to track state during a transaction • Implement trigger logic in Apex classes Do regression testing when adding features • Validate that Programmatic & Declarative features play nice together • Use the Developer Console to assist you when troubleshooting
  • 17. Next Steps ​Familiarise yourself with the Developer Console • Developer Console User Interface Overview ​Learn more about Order of Execution • Triggers and Order of Execution ​Use Trigger Templates to streamline Trigger logic • The “One Trigger per Object” design pattern • Trigger Pattern for Tidy, Streamlined, Bulkified Triggers * Slides and Code available on Chatter ​Be proactive – learn more!