Professional Documents
Culture Documents
Trailhead Virtual Bootcamp For Platform Developer Slide Deck
Trailhead Virtual Bootcamp For Platform Developer Slide Deck
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of
Jerusalem. Represented exclusively by Greenlight.
The information in this document is subject to change without notice. Should you find
any problems or errors, please log a case from the Support link on the Salesforce home
page. Salesforce.com, inc. does not warrant that this document is error-free.
"Safe harbor" statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company's financial and
operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings
per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates,
stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth, environmental, social and governance goals and expected capital
allocation, including mergers and acquisitions, capital expenditures and other investments. The achievement or success of the matters covered by such forward-looking
statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could
differ materially from the results expressed or implied by the forward-looking statements it makes.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of
geopolitical events, natural disasters and actual or threatened public health emergencies, such as the ongoing Coronavirus pandemic; the impact of foreign currency exchange
rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud
computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature
of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer
base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with our data centers and third-party infrastructure providers; additional data center capacity;
real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market;
our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly
traded companies within our strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies; our
ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our
reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of
evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate;
uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the
value of such transferred intellectual property; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our
outstanding debt, revolving credit facility and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving
us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes
with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s
website at.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
• 60 multiple-choice/multiple-select questions.
Weekly Schedule 88
NOTE:
This welcome session is the only instructor session we’ll have on a Monday.
URL: login.salesforce.com
Username:(provided
through welcome email)
Password:(set by you
during your first login)
Getting Started 10
Daily Assignments 11
Trailhead Login 12
12
Trailhead Login
• URL: https://trailhead.salesforce.com
• Do NOT use your Virtual Bootcamp Org username to log into Trailhead
• Use existing Trailhead or work login or create Developer org (see below)
View slides
presented by
instructor
Welcome Session
Q&A
We are here to
help you on
your learning
journey....
© Copyright 2020 salesforce.com, inc. All rights reserved. Various trademarks held by their respective owners.
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of
Jerusalem. Represented exclusively by Greenlight.
The information in this document is subject to change without notice. Should you find
any problems or errors, please log a case from the Support link on the Salesforce home
page. Salesforce.com, inc. does not warrant that this document is error-free.
20
"Safe harbor" statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company's financial and
operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings
per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates,
stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth, environmental, social and governance goals and expected capital
allocation, including mergers and acquisitions, capital expenditures and other investments. The achievement or success of the matters covered by such forward-looking
statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could
differ materially from the results expressed or implied by the forward-looking statements it makes.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of
geopolitical events, natural disasters and actual or threatened public health emergencies, such as the ongoing Coronavirus pandemic; the impact of foreign currency exchange
rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud
computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature
of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer
base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with our data centers and third-party infrastructure providers; additional data center capacity;
real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market;
our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly
traded companies within our strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies; our
ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our
reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of
evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate;
uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the
value of such transferred intellectual property; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our
outstanding debt, revolving credit facility and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving
us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes
with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s
website at.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
Lesson Agenda 22
23
Salesforce Architecture
Multi-Tenant Cloud 24
DEFINITION: Multi-tenancy means that a single instance of the software, database, and
supporting infrastructure serves multiple customers, while each tenant's data is isolated and
remains invisible to other tenants.
Your
dedicated
space
Shared
resources for
power, water,
and building
maintenance
Considerations of Multi-tenancy 25
NOTE:
In multi-tenant environments the IT resources are shared cost-efficiently and securely.
Lesson Agenda 26
Apps Tabs
Page Layouts User Lightning Components
Lightning Apps Interface Visualforce
Quick Actions
Validation Rules
Processes / Flows Business Apex
Workflow Rules Logic
Approval Processes
Objects
Fields Data APIs
Model
Relationships
Declarative Programmatic
Lesson Agenda 29
USER INTERFACE
Analogous to
database tables Contacts Tab
OBJECTS
CONTACT
Page Layout
Relationship
FAVORITE
Favorites
Related List
NOTE:
Both Standard and Custom objects contain data for use by your users.
DEFINITION:
A standard object is an object that is predefined by Salesforce.
Campaign Account
The “Sales Objects”
Data Model illustrates
that there are core
schema components:
• Standard objects Contact
• Standard relationships
between those objects
Opportunity
Lead Case
DEFINITION:
A custom object is created by a developer to capture and manage additional data based on
DEFINITION:
Schema Builder 35
NOTE: Schema Builder provides a quick graphical way to manipulate the data model, but it does
not support all features available in Object Manager.
Field Types 36
123 ABC Ω
Numeric Field Limited Option Text Data Types Calculation Data Types
Data Types Data Types • Text • Auto-Number
• Number • Checkbox • Text Area – Select the display format
• Currency • Picklist • Text Area (Long) – Increment by 1
• Percent • Picklist • Text Area (Rich)
(Multi-Select) • Encrypted • Formula
– Perform calculations on
a record
– Can span across objects
ABC
• Roll-Up Summary
Formatted Text Calendar Data Types Other – Created on a master
Data Types • Date • Geolocation – Allow calculations on
• Email • Date/Time details
• Phone • Time
• URL
Automatically generated by
Name used in code and by the API. the system based on field
name when the definition
is saved.
Description (administrative
purposes).
NOTE:
The field attributes vary depending on the field type.
NOTE:
NOTE:
Lookup Master-Detail
Relationships Relationships
Parent field on child is required. ü
Access to parent determines access
ü
to children.
Deleting the parent always
ü
automatically deletes children.
Lookup field on page layout depends
ü
on required/optional choice.
Lesson Agenda 42
Course Delivery
NOTE:
A formula field is calculated each time a user views a record or report.
DEFINITION: A roll-up summary field is a field on a master record that summarizes date or
numerical data from detail records.
NOTE:
A roll-up summary field is recalculated whenever any referenced detail record is saved.
REVIEW SESSION
WEEK 1
Q & A
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of
Jerusalem. Represented exclusively by Greenlight.
The information in this document is subject to change without notice. Should you find
any problems or errors, please log a case from the Support link on the Salesforce home
page. Salesforce.com, inc. does not warrant that this document is error-free.
51
"Safe harbor" statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company's financial and
operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings
per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates,
stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth, environmental, social and governance goals and expected capital
allocation, including mergers and acquisitions, capital expenditures and other investments. The achievement or success of the matters covered by such forward-looking
statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could
differ materially from the results expressed or implied by the forward-looking statements it makes.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of
geopolitical events, natural disasters and actual or threatened public health emergencies, such as the ongoing Coronavirus pandemic; the impact of foreign currency exchange
rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud
computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature
of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer
base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with our data centers and third-party infrastructure providers; additional data center capacity;
real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market;
our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly
traded companies within our strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies; our
ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our
reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of
evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate;
uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the
value of such transferred intellectual property; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our
outstanding debt, revolving credit facility and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving
us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes
with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s
website at.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
Lesson Agenda 53
Lesson Agenda 56
What is Apex? 57
Apex Environment 58
DEFINITION:
Lightning Platform
Uncompiled
Apex Class or Compiled
Trigger Apex Apex
Compiler
Compiler Errors
Developer User Data
Application
Internet Server Storage
Request
1 2 3
Lesson Agenda 60
NOTE: Although called primitives in Apex, these data types are similar to wrapper classes in Java.
Variables declared to be of these data types are all objects.
Collections 62
Access Modifier
Applied to a Class Applied to a Class Member
Keyword
Accessible to any:
§ Inner classes in the defining Apex class.
protected Not available
§ Classes that extend the defining Apex
class.
DEFINITION: Namespace prefixes are used in managed packages to differentiate custom object
and field names from those in use by other organizations.
Lesson Agenda 67
Lesson Agenda 69
What is an sObject? 70
DEFINITION: sObject is a generic virtual data type that can be used to refer to any object that
can be stored in the Lightning Platform database. A data object defined in the user interface is
represented as an sObject in Apex.
NOTE: Use the == operator for String equality as well as between two sObjects to determine if all
fields are equal. The === operator, when used with sObjects, checks that the operands are
referring to the same sObject.
REVIEW SESSION
WEEK 2
Q & A
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of
Jerusalem. Represented exclusively by Greenlight.
The information in this document is subject to change without notice. Should you find
any problems or errors, please log a case from the Support link on the Salesforce home
page. Salesforce.com, inc. does not warrant that this document is error-free.
77
"Safe harbor" statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company's financial and
operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings
per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates,
stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth, environmental, social and governance goals and expected capital
allocation, including mergers and acquisitions, capital expenditures and other investments. The achievement or success of the matters covered by such forward-looking
statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could
differ materially from the results expressed or implied by the forward-looking statements it makes.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of
geopolitical events, natural disasters and actual or threatened public health emergencies, such as the ongoing Coronavirus pandemic; the impact of foreign currency exchange
rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud
computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature
of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer
base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with our data centers and third-party infrastructure providers; additional data center capacity;
real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market;
our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly
traded companies within our strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies; our
ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our
reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of
evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate;
uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the
value of such transferred intellectual property; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our
outstanding debt, revolving credit facility and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving
us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes
with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s
website at.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
Lesson Agenda 79
QUESTION: What happens if inserting the Contact "noName" causes an exception, but inserting
the Contact "withName" doesn't cause an exception?
Lesson Agenda 83
What is SOQL? 84
DEFINITION:
SOQL is the Salesforce Object Query Language.
RESOURCE:
For documentation on these operators and more search for: SOQL and SOSL Reference.
Dynamic SOQL: Build a query string at run time and pass it into the
Database.query method.
String criteria = '';
Boolean lookForOpenCases = false;
if (lookForOpenCases) {
criteria = 'Status = \'Working\'';
} else {
criteria = 'ClosedDate < TODAY';
}
List<Case> theCases =
Database.query('SELECT Id, Subject FROM Case WHERE ' + criteria);
System.debug(theCases);
ALERT:
You will not know about syntax errors in the query string until run time.
DEFINITION: SOSL (Salesforce Object Search Language) allows developers to search text,
email, and phone fields in multiple objects simultaneously.
1 List<List<sObject>> acmes =
[ FIND 'Acme' IN ALL FIELDS RETURNING Account, Opportunity ];
SOQL vs SOSL 89
SOQL SOSL
1. You want to count the number of
records meeting criteria.
ü
2. You want data from one object or
ü
multiple related objects
3. You don’t know which object or
ü
field the data resides in.
4. You want to sort results as part
ü ü
of the query.
5. You want data from number,
ü
date, or checkbox fields.
Lesson Agenda 90
NOTE:
Object CRED and FLS are both defined on profiles and permission sets and are ignored by Apex.
An Apex Class… 92
DEFINITION: Use the WITH SECURITY_ENFORCED clause to enable field and object
level security permissions checking for SOQL SELECT queries in Apex code, including
subqueries and cross-object relationships.
Matt Wilson
(end user)
DEFINITION: Use the stripInaccessible method to enforce field and object level
data protection in queries or DML.
• Strip fields from query and subquery results that the user
can't access
Access Modifier
Applied to a Class Applied to a Class Member
Keyword
Accessible to any:
§ Inner classes in the defining Apex class.
protected Not available
§ Classes that extend the defining Apex
class.
§ The default access modifier.
§ Applied to inner classes to make them
§ A private member is accessible only
private accessible locally.
within the Apex class in which it is
§ Can be applied to test classes.
defined.
DEFINITION: Namespace prefixes are used in managed packages to differentiate custom object
and field names from those in use by other organizations.
Lesson Agenda 99
NOTE: In Apex, a data type of one class can be cast to and from a data type of another class, but
only if the classes are related through inheritance.
DEFINITION: All Apex execution is bound by governor limits that the system enforces on
operations to ensure resources are available for all tenants.
Method Process
§ Entry point from § Trigger implicitly
execute § Method performs fired by change § Process builder
anonymous. DML operation. to data. implicitly fired by
§ Explicitly invokes § Starts database change to data.
method. transaction.
Execute Trigger
Anonymous
ALERT: If you exceed a governor limit, your code will terminate with an unhandleable, and hence
Per Transaction: exception.
unrecoverable, Queries Database operations Heap space CPU time Other…
REVIEW SESSION
WEEK 3
Q & A
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of
Jerusalem. Represented exclusively by Greenlight.
The information in this document is subject to change without notice. Should you find
any problems or errors, please log a case from the Support link on the Salesforce home
page. Salesforce.com, inc. does not warrant that this document is error-free.
112
"Safe harbor" statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company's financial and
operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings
per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates,
stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth, environmental, social and governance goals and expected capital
allocation, including mergers and acquisitions, capital expenditures and other investments. The achievement or success of the matters covered by such forward-looking
statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could
differ materially from the results expressed or implied by the forward-looking statements it makes.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of
geopolitical events, natural disasters and actual or threatened public health emergencies, such as the ongoing Coronavirus pandemic; the impact of foreign currency exchange
rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud
computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature
of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer
base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with our data centers and third-party infrastructure providers; additional data center capacity;
real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market;
our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly
traded companies within our strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies; our
ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our
reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of
evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate;
uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the
value of such transferred intellectual property; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our
outstanding debt, revolving credit facility and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving
us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes
with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s
website at.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
• Triggers
• Save Order of Execution
• Invocable Apex
• Exception Handling
• Visualforce Pages
• Visualforce Controllers
DEFINITION: A trigger is Apex code that may execute because a DML event (insert, update,
delete, or undelete) has occurred on an sObject.
TRIGGERS
NOTE:
before triggers are used to update record values.
after triggers are used to access field values, such as Ids, that are set by the system and to
effect changes in other records.
QUESTION:
What type of trigger would you use to implement the following logic?
When a new Property has been added to the Real Estate listings, automatically post a Chatter
message to the area manager with a link to the Property record.
A Property is saved.
A trigger associated
This kicks off the
with the appropriate
"Save Order of
sObject is fired.
Execution."
oldMap A map of IDs to the previous versions of the sObjects. Update and delete triggers
isExecuting Returns true if Trigger is the current context for the Apex code All triggers
size Integer of the total number of records in the Trigger All triggers
NOTE: A trigger has a run-time context which can be accessed using context variables of the
System.Trigger class. The context contains information about the invoking DML event, the
data available to the trigger, and more.
1. Create a Property
with a close date of
today.
3. Update the
inserted Property's 3A. What will Line 2 print?
close date to today 3B. What will Line 3 print?
plus 1 month.
• Triggers
• Save Order of Execution
• Invocable Apex
• Exception Handling
• Visualforce Pages
• Visualforce Controllers
DEFINITION:
The Save Order of Execution describes the series of events that occur on the Salesforce platform
when a record is saved.
DML Operation
Save
INTERNET
All data which
was saved
earlier is
Commit
committed to
the database.
Data is saved, Save
but not
committed.
NOTE: There is a similar series of events for delete and undelete operations.
Executes post-
commit logic.
Executes Criteria-Based
Commit Sharing evaluation.
Commit
That starts another Save
set of Save Order of
Execution events. If a trigger updates a record,
which causes another trigger to
execute and update the original
record, you can potentially get
into a recursive situation.
• Triggers
• Save Order of Execution
• Invocable Apex
• Exception Handling
• Visualforce Pages
• Visualforce Controllers
• Triggers
• Save Order of Execution
• Invocable Apex
• Exception Handling
• Visualforce Pages
• Visualforce Controllers
NOTE: If an end user started the chain of events that resulted in an unhandled exception, the
exception will be displayed in the user interface.
• Triggers
• Save Order of Execution
• Invocable Apex
• Exception Handling
• Visualforce Pages
• Visualforce Controllers
Model
Standard and Standard and
Custom Objects Custom Objects
View
Controller
Standard Controller
Standard Controller Custom Controllers
Controller Extensions
Tags use the same expression syntax as formula fields and other areas of the
application. All content in {!...} is evaluated as an expression.
sObject Name Field Name
<apex:inputField value="{!Course__c.Duration__c}"/>
Contains the
expression
Global variables, whose names start with $, can be accessed using the same syntax.
For example:
• {!$User.fieldName}
• {!$Page.otherVisualforcePage}
• {!$Resource.staticResource}
You can call an action in the action parameter of a variety of Visualforce tags, using the
{!...} notation. For example, this tag…
<apex:commandButton action="{!edit}"value="My Edit Button"/>
Creates this button: My Edit Button , which calls the edit method on a standard controller.
The standard controller action methods include: save, quicksave, edit, view, delete, cancel, and list.
§ Provide the URL for the page. § Include inline in a page layout.
• Triggers
• Save Order of Execution
• Invocable Apex
• Exception Handling
• Visualforce Pages
• Visualforce Controllers
DEFINITION: A Visualforce controller is a set of instructions that specify what happens when a
user interacts with the components on a Visualforce page and provide access to data. A standard
DEFINITION:
controller exists for every Salesforce object and custom controllers are written in Apex.
• The standardController attribute specifies the sObject on which the page and standard controller
will operate, and the style of the tab that will display the page.
<apex:page standardController="Account">
• The Id parameter on the URL binds the page to a single record, giving it data context.
https://na1.salesforce.com/apex/myPage?id=0013000000gzexd
NOTE: The sObject Id being passed in must be for an object of the same type as that specified by
the standardController tag.
You can use expression syntax to retrieve data from objects related to the current
object.
Account
• Create custom behaviors
NOTE: A custom controller extension can be used with either a standard controller OR a custom
controller class.
QUESTION:
Should you use a custom controller or a controller extension?
Scenario Answer
1. A quick-create page, allowing the user to create Custom Controller – This doesn’t naturally use one object
an account, contact, and opportunity, all from more than the others, so a custom controller is probably the
one page. best fit, but you could also do this with one or more
extensions.
2. A page with custom functionality that can be Controller extension – You must use the standard controller
launched using a button on a page layout. to launch using a custom button.
3. A multi-page wizard, which guides a user Custom Controller – This doesn’t really relate to standard
through the process of designing a sales plan for DML operations for any one object, so a custom controller is
a new customer. a good fit.
4. A page that, on saving a new certification Controller Extension – You should use the built-in save
record, automatically redirects the user to a page functionality from the standard controller in your custom
where they can create a new related certification save method, no need to re-write it.
element.
ALERT: A custom controller must explicitly define all data and action methods that will be used
on the page, including methods already found in standard controllers if you need them.
3. In which type of trigger can the trigger context variable 'old' be used
meaningfully?
REVIEW SESSION
WEEK 4
Q & A
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of
Jerusalem. Represented exclusively by Greenlight.
The information in this document is subject to change without notice. Should you find
any problems or errors, please log a case from the Support link on the Salesforce home
page. Salesforce.com, inc. does not warrant that this document is error-free.
152
"Safe harbor" statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company's financial and
operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings
per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates,
stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth, environmental, social and governance goals and expected capital
allocation, including mergers and acquisitions, capital expenditures and other investments. The achievement or success of the matters covered by such forward-looking
statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could
differ materially from the results expressed or implied by the forward-looking statements it makes.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of
geopolitical events, natural disasters and actual or threatened public health emergencies, such as the ongoing Coronavirus pandemic; the impact of foreign currency exchange
rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud
computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature
of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer
base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with our data centers and third-party infrastructure providers; additional data center capacity;
real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market;
our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly
traded companies within our strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies; our
ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our
reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of
evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate;
uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the
value of such transferred intellectual property; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our
outstanding debt, revolving credit facility and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving
us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes
with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s
website at.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
• SOQL Injection
• Visualforce Pages in Lightning
• Aura Components
• Lightning Component Events
• Lightning Web Components
• Platform Events
• Next Best Action
DEFINITION: SOQL injection involves modifying a SOQL statement to trick the application into
performing unintended commands.
An injection can happen when user-supplied input is not validated before using it
in a dynamic SOQL query. Visualforce provides tools to mitigate this common
security risk. Consider this code that creates a dynamic query:
1A String qryString = 'SELECT Id FROM Contact WHERE ' + '(Name like \'%' + name + '%\')';
2A queryResult = Database.query(qryString);
When a user supplies the value Bob as input, the resultant query is:
1B SELECT Id FROM Contact WHERE (Name like '%Bob%')
However, an unexpected value such as test% ') OR (Name LIKE ' results in:
1C SELECT Id FROM Contact WHERE (Name LIKE '%test%') OR (Name LIKE '%')
• SOQL Injection
• Visualforce Pages in Lightning
• Aura Components
• Lightning Component Events
• Lightning Web Components
• Platform Events
• Next Best Action
Classic UI Lightning UI
lightningStylesheets="false" lightningStylesheets="true"
• SOQL Injection
• Visualforce Pages in Lightning
• Aura Components
• Lightning Component Events
• Lightning Web Components
• Platform Events
• Next Best Action
DEFINITION:
The Lightning Component framework is a UI framework for developing responsive, dynamic web
apps that run on the Salesforce platform and can easily access data in a Salesforce org.
Client Server
Application Apex Class A component has a
client-side controller
Component @AuraEnabled method written in JavaScript.
A server-side
controller, written in
Apex, allows the
MARKUP CONTROLLER component to access
your Salesforce data.
Visualforce: Lightning:
• Page-centric • App-centric (single-page apps)
• Stateful servers • Stateless servers
• Stateless clients • Stateful clients
• Great for web pages accessed • Great for mobile app development
via desktop
Lightning Data
Services
• SOQL Injection
• Visualforce Pages in Lightning
• Aura Components
• Lightning Component Events
• Lightning Web Components
• Platform Events
• Next Best Action
How It Works:
− Event-driven programming is used in many languages and frameworks, such as
JavaScript.
− You write handlers that respond to user and system events as they occur.
− A component registers that it may fire an event in its markup.
− Events are fired from JavaScript controller actions, typically triggered by a user
through the user interface.
• SOQL Injection
• Visualforce Pages in Lightning
• Aura Components
• Lightning Component Events
• Lightning Web Components
• Platform Events
• Next Best Action
2014 2019
Lightning Component Framework and Lightning Web Components
Aura programming model launched launched
Web Standards
Renaissance
• Unparalleled performance
myComponent.js-meta.xml
parentComponent.html
1 <template> Mix HTML markup with
2 <div>Hello World!</div> components
3 <c-child-component></c-child-component>
4 </template>
NOTE:
The template element is used to declare fragments of HTML that can be rendered at runtime.
• SOQL Injection
• Visualforce Pages in Lightning
• Aura Components
• Lightning Component Events
• Lightning Web Components
• Platform Events
• Next Best Action
DEFINITION: Platform events simplify the process of communicating changes in data and
enable developers to deliver secure, scalable, and customizable event notifications within
DEFINITION:
HIGHLIGHTS:
• Platform Event messages enable near real-time
integration between Salesforce and external systems.
• Apex triggers can subscribe to Platform Events that were
published through Apex or APIs.
• Platform Events are similar to custom objects and can be
defined in the same way.
• SOQL Injection
• Visualforce Pages in Lightning
• Aura Components
• Lightning Component Events
• Lightning Web Components
• Platform Events
• Next Best Action
DEFINITION: Einstein Next Best Action is a tool that surfaces recommendations to users based
on predefined criteria.
CLICK PATH:
Setup | Process Automation | Next Best Action
REVIEW SESSION
WEEK 5
Q & A
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of
Jerusalem. Represented exclusively by Greenlight.
The information in this document is subject to change without notice. Should you find
any problems or errors, please log a case from the Support link on the Salesforce home
page. Salesforce.com, inc. does not warrant that this document is error-free.
186
"Safe harbor" statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company's financial and
operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings
per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates,
stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth, environmental, social and governance goals and expected capital
allocation, including mergers and acquisitions, capital expenditures and other investments. The achievement or success of the matters covered by such forward-looking
statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could
differ materially from the results expressed or implied by the forward-looking statements it makes.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of
geopolitical events, natural disasters and actual or threatened public health emergencies, such as the ongoing Coronavirus pandemic; the impact of foreign currency exchange
rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud
computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature
of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer
base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with our data centers and third-party infrastructure providers; additional data center capacity;
real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market;
our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly
traded companies within our strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies; our
ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our
reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of
evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate;
uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the
value of such transferred intellectual property; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our
outstanding debt, revolving credit facility and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving
us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes
with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s
website at.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
DEFINITION:
An Apex test method verifies whether a particular piece of Apex code is working as expected.
Business Logic
1 @isTest
2 private class MyBusinessLogicClass_Test {
3 @isTest
4 private static void myBusinessLogicTest() {
5 //… test Apex classes and triggers
6 }
7 }
§ Test data "factories" can be made accessible to all test methods within an app or just
to test methods in a particular test class.
§ When localized, a test data factory method annotated with @testSetup executes
before any other method in the test class and provides data to all the test methods
in the test class.
When would you use the test data factory class over the method, and vice versa?
1A @isTest 1B @isTest
2A public class MyTestDataFactory { 2B private class MyBusinessLogicClass_Test {
3A static void insertTestAccounts() { 3B @testSetup
4A //… create and insert Accounts 4B private static void myTestDataFactory() {
5A } 5B //… create and insert Accounts
6A static void insertTestContacts() { 6B //… create and insert Contacts
7A //… create and insert Contacts 7B //… create and insert Holidays
8A } 8B //… Etc…
9A static void insertTestHolidays() { 9B }
10A //… create and insert Holidays 10B @isTest private static void myTestMethod1() {
11A } 11B //… Use the test data created above
12A } 12B }
13B @isTest private static void myTestMethod2() {
14B //… Also uses the test data created above
15B }
16B }
CSV file
Parent: Course
Id Name
1 Test Course 1
Course
Delivery 2 Test Course 2
NOTE: The class and method annotation @isTest(seeAllData = true), allows you to create
test classes and test methods that have access to all data in the org.
QUESTION:
Why do you think this is not a standard practice?
1 @isTest(seeAllData = true)
2 private class MyBusinessLogicClass_Test {
3 @isTest private static void myBusinessLogicTest() {
4 List<Holiday> holidays = [SELECT … ];
5 }
6 }
1 @isTest
startTest and stopTest 2 private class AClass_Test {
methods: 3 @isTest private static void myClassTestUser() {
4 Account anAccount = new Account (name = 'Salesforce');
5 insert anAccount;
• Are used, in conjunction 6 System.debug(Limits.getDMLStatements());
with methods of the Limits 7
8
Test.startTest(); // Starts a brand new set of limits
System.debug(Limits.getDMLStatements());
class, to validate how close 9 Test.stopTest(); // Ends the set of limits started on line 7
your business logic code is 10 System.debug(Limits.getDMLStatements());
11 }
to exceeding governor 12 }
limits.
QUESTIONS:
• Demarcate the boundaries
What will line 6 print in the debug log?
of your actual test code
What will line 8 print in the debug log?
within a test method.
What will line 10 print in the debug log?
• Provide a new context (i.e.,
an entirely new set of
governor limits).
1 @isTest
2 private class MyClass_Test {
3 @testSetup
4 private static void testDataSetup() {
5 Profile p = // Write a query to select a profile
6 User u = new User(Lastname = 'Foo', ProfileId = p.id);
7 insert u;
8 }
9
10 @isTest private static void myClassTestUser() {
11 User testUser = // Find Foo, who has set up above
12 System.runAs(testUser) {
13 // Now, the rest of test runs as testUser.
14 // Otherwise the test would run as System.
15 }
16 }
17 )
When using the Developer Console or monitoring a debug log, you can specify the
level of information that gets included in the log.
§ Log category: The type of information logged, such as information from Apex or
workflow rules.
§ Event type: The combination of log category and log level that specify which
events get logged. Each event can log additional information, such as the line and
character number where the event started, fields associated with the event, and
duration of the event.
NOTE:
The debug log does not include information from actions triggered by time-based workflows.
CLICK PATH:
Setup | Environments | Jobs | Apex Jobs
1
3
CLICK PATH:
Setup | Process Automation | Paused Flow Interviews
Setup Developer
Capability SFDX
Menu Console
Create and edit Apex classes and triggers. ü ü ü
Execute anonymous Apex code. ü ü
Create a sandbox. ü
DEFINITION: A sandbox is a replica of your production organization that allows you to develop
and test in a separate environment without risking or compromising data.
Sandbox Production
Deploy Changes
Create/Refresh Apex
• You may not make programmatic changes directly into a production org. You must create
code in a Sandbox and then move (deploy) to production.
• Data Loader can be used to upload test data (not metadata) into sandboxes.
Type Features
Full Sandbox § Copies the entire production organization, including the metadata and data.
§ Has a storage limit based on its production organization.
§ Can be refreshed every 29 days.
Partial Data § Copies the metadata and the data defined in a sandbox template from the
Sandbox production organization.
§ Has a storage limit of 5GB of data and a maximum of 10,000 records per
selected object.
§ Can be refreshed every 5 days.
Developer Pro § Copies only the metadata from the production organization.
Sandbox § Does not copy data, but you can load up to 1GB of data separately.
§ Can be refreshed once per day.
Developer § Copies only the metadata from the production organization.
Sandbox § Does not copy data, but you can load up to 200MB of data separately.
§ Can be refreshed once per day.
Salesforce DX Force.com
Capability Change Sets
CLI Migration Tool
RESOURCE:
DATA MANAGEMENT
Data Management USING
Using theTHE
DataDATA IMPORT
Import WizardWIZARD 213
DATA MANAGEMENT
Data Management USING
Using the THE
API API 214
Schedule imports.
Save mappings for later use.
Export or delete data.
NOTE:
Salesforce Data Loader uses the API.
Questions Answers
1. AW Computing needs to export 50 1. Data Loader. Data Loader supports exports for all
Opportunities. Which tool should be used? standard and custom objects. Import Wizard does not
support exports for any objects. Also, Import Wizard
supports imports for Accounts, Contacts, Leads,
Solutions, Campaign Members, and custom objects. It
cannot be used with Opportunities or other standard
objects not mentioned above.
2. AW Computing needs to import 2,000 2. Import Wizard. With Import Wizard you can choose
leads without triggering any workflow rules. whether or not to trigger workflow rules. Data Loader
Which tool should be used? does not support this option.
3. AW Computing would like to import 50 3. They must import the Accounts before the related
new Accounts and their associated Contacts Contacts. Parent records must always be imported
into Salesforce from CSV files. Which before child records.
records should be imported first?
REVIEW SESSION
WEEK 6
Q & A
• Go to https://success.salesforce.com
NOTE:
The Developer Trailblazers group is a good resource for programmatic questions. The
Admin Trailblazers group focuses on solving problems with clicks not code.
Your opinion matters, and we want to hear from you. Navigate to the
Class Survey provided to give us your feedback.
What’s Next?
LEARN ALL THE SKILLS YOU NEED
Build on your skills with self-paced learning or another expert-led class.
https://sfdc.co/learnsalesforce