triggers for admins: a five-step framework for creating triggers

38
Triggers for Admins: A Five-step Framework for Creating Triggers (a play in 5 acts) Veronica Beck Ashima Saigal @gandhilover

Upload: salesforce-developers

Post on 03-Jul-2015

652 views

Category:

Technology


0 download

DESCRIPTION

Have you felt intimidated by the thought of writing code? Are you an experienced Salesforce Administrator and would like to take the leap into writing your own Apex triggers? Join us to gain the tools and confidence to write your first trigger. Using specific examples and real-life scenarios, we'll walk through a concrete framework to approach the process of planning, designing, and coding a trigger.

TRANSCRIPT

Page 1: Triggers for Admins: A Five-step Framework for Creating Triggers

Triggers for Admins: A Five-step Framework for Creating Triggers(a play in 5 acts)Veronica Beck Ashima Saigal

@gandhilover

Page 2: Triggers for Admins: A Five-step Framework for Creating Triggers

Place

Customer or

Partner logo in

white area of

slide, centered

Ashima SaigalDatabase Sherpa founder

Summer 2014 MVP

Page 3: Triggers for Admins: A Five-step Framework for Creating Triggers

Place

Customer or

Partner logo in

white area of

slide, centered

Veronica BeckBigger Boat Consulting Senior Consultant

Page 4: Triggers for Admins: A Five-step Framework for Creating Triggers

Setting

“We want our own custom campaign

member statuses, but it’s a pain to

have to add them every time we

create a campaign.” – Celeste, yoga

studio owner

Page 5: Triggers for Admins: A Five-step Framework for Creating Triggers

Audience Participation

We have some suggestions:

● Breathe! You can do it.

● Replace trepidation with curiosity.

● Know this won’t happen overnight.

● Remember, you are not alone.

Page 6: Triggers for Admins: A Five-step Framework for Creating Triggers

Triggers for Admins

Act 1: Where do I write code?

Act 2: Gather Your Resources

Act 3: Clarify Your Requirements

Act 4: Code and Test

Act 5: Finalize and Launch!

Page 7: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 1: Where do I write code?

Developer Org: https://developer.salesforce.com/gettingstarted

Page 8: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 1: Where do I write code?

Page 9: Triggers for Admins: A Five-step Framework for Creating Triggers

Go to Setup.

Find the object where you want the trigger.

Click on Triggers.

Act 1: Where do I write code?

Page 10: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 1: Where do I write code?

Click the New button, and voila!

Page 11: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 1: Where do I write code?

Some other tools for writing code:

• Salesforce Developer Console

• Eclipse

[there are many more!]

Page 12: Triggers for Admins: A Five-step Framework for Creating Triggers

● www.sfdc99.com

● Creator David Liu presents: “Anyone

can learn to code Apex!” On

Wednesday at 11 am

Act 2: Gather your resources

Page 13: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 2: Gather your resources

● Power of Us HUB (nonprofits)

http://www.salesforcefoundation.org/help/power-of-us-hub/

● Success Community: (Salesforce online community)

● Local User Groups (in person meetings)

● Developer User Groups (in person meetings)

● Network at Dreamforce!

Page 14: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 3: Clarify Requirements

● What problem are you trying to solve?

o Inconsistent campaign member statuses

● What needs to happen?

o Auto creation of desired member statuses

● When does it need to happen?

o When a new campaign is created

● Should it always happen for all records?

o Only for workshop type campaigns

Page 15: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 3: Clarify Requirements

Write it “In English” (aka pseudo code):

When a campaign is inserted

● Check if it’s a workshop campaign

● If it is a workshop campaign …

o Get rid of the default Campaign Statuses

o Add the following campaign statuses:

Invited (default)

Accepted (responded)

Attended (responded)

No Show

Page 16: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

● Recap

o Set up your coding environment

o Go through some tutorials

o Clarify what you’re trying to do

● Get ready, set, go!

● Search for code, copy and paste.

Page 17: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 18: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 19: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Trigger.new contains all records that are being inserted or updated

Loop through the trigger.new collection

Do something with each record

Code Sample:

For (Campaign c : trigger.new){ // This is the beginning of the loop

//do something with each record

} //this is the end of the loop

Design Pattern 1: Use Trigger.New

Page 20: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 21: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 22: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 23: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 24: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 25: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 26: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 27: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Design Pattern 2: Use Lists and Sets

Lists and Sets are like a

bucket to hold records for

later processing

Page 28: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 29: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 30: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 31: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 32: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

Page 33: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

For (Campaign c : workshopCampaigns) { //start of the loop

CampaignMemberStatus myCMS = …..

myStuff.add(myCMS);

} // end of the loop

Insert myStuff ; Insert is happening AFTER the loop

Design Pattern 3: Inserts, Updates, Deletes Outside of Loops

Page 34: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 4: Code and Test

● Common design elements

o Loop through trigger.new (or trigger.old)

o Use collections to hold records to process

o Do inserts, updates, and deletes outside of your loops

● Other helpful Tips

o Comment your code!

o Use system.debug for troubleshooting

Page 35: Triggers for Admins: A Five-step Framework for Creating Triggers

Act 5: Finalize and Launch

• Ask users to test with real-life scenarios

• Revise code, have users re-test

• Write test methods

– Sfdc99.com has examples and tutorial

– Force.com Apex Developer Guide

http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm

• Deploy!

– Use Salesforce change sets and deployment connections in Setup area

Page 36: Triggers for Admins: A Five-step Framework for Creating Triggers

That’s a Wrap

Page 37: Triggers for Admins: A Five-step Framework for Creating Triggers

Begin Your Coding Journey Today!

● Set up your FREE developer account

● Find a mentor – introduce yourself to at least three people and tell them

you’re looking for help with coding.

● Visit sfdc99.com.

● Celebrate the beginning of your journey!

Page 38: Triggers for Admins: A Five-step Framework for Creating Triggers

Resources

Beginner Tutorial - http://www.sfdc99.com/beginner-tutorials/

Salesforce Developer Forum - https://developer.salesforce.com/forums/

Trigger Best Practices - http://www.iterativelogic.com/salesforce-apex-trigger-best-practices/

Trigger Order of Execution -

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_triggers_order_of_execu

tion.htm

Writing Bulk Triggers - http://blog.jeffdouglas.com/2009/04/20/writing-bulk-triggers-for-

salesforce/

Force.com Apex Developer Guide -

http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm