2. Safe Harbor
Safe harbor 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.
4. World’s #1 CRM company*
World’s most admired software company
#1 most
admired in
software
#7 best company
to work for
World’s most innovative company
2011 • 2012 • 2013 • 2014
4TH YEAR IN A
ROW!
*Source: IDC, Worldwide CRM Applications 2014-2018 Forecast and 2013 Vendor Shares, Doc #248875, June 2014
Image
FPO
Celebrating 15 Years
of Customer Success
5. 1%
Time • Equity • Product
530,000+
Hours Service
20,000
Non-profit
organizations
$53M+
Grants
foundation
7. Server
Mainframe LAN / WAN
SNA
Terminal
Client
customer
transactions
connected
things
Cloud
LTE
Mobile
“Third Wave” of Computing
Thousands Millions Billions Trillions
8.
9.
10. But Most Companies Are Disconnected From Customers
Service Agents
Your
Company
Salespeople
Your
Customers
Your Partners
11. Become a Customer Company
Analytics
for the rest of us
Build
mobile apps
faster
Sell, Service, Market
& Engage
in a whole new way
Connect with your customers in a whole new way
12. Salesforce1: A New Customer Platform for the Future
Salesforce1 App
Salesforce1 Platform APIs
Force.com Heroku1
Salesforce1 Platform Services
ExactTarget
Fuel
13. Build Amazing Apps and Connect
Everything.
Build Innovative
Customer apps
Automate Processes
with Employee Apps
Connect
Everything
14. Virgin America Connects Every Employee with a Social Intranet
Branded social intranet built mobile first
Key business metrics customized for each ‘teammate”
Chatter collaboration for every department
Business users update content in real-time
15. Trunk Club Connects Customers & Employees with Mobile Apps
Customer facing mobile app built on Heroku
Employee mobile app built on Force.com for order fulfillment
Integrated sales, service & marketing built on the Salesforce Platform
18. Demand is Growing Across Multiple Roles
60% 159% 90%
Force.com
Developer
Technical
Architect
Solutions
Architect
Principal
Consultant
Business
Analyst
Source: Hire On-Demand http://www.hireon-demand.com
of companies moving
to cloud
Demand growth for all
Salesforce Talent
Demand growth for
Salesforce
Developers
19.
20. Salesforce Skills Earn Top Paying Jobs
Salary Average
Job Silicon Valley National
Force.com Data Analyst $95k $65k
Salesforce.com Administrators $100k $80k
Global Salesforce Administrators $120k $95k
Force.com Developers $125k $98k
Certified Force.com Developers $135k $115k
Sr. Force.com Developers $150k $125k
Force.com Architects $170k $140k
Force.com Solution Architects $200k $165k
Salesforce CRM Business Analysts $140k $110k
Salesforce CRM Program Managers $185k $135k
Salesforce Implementation Consultants $220k $175k
Source: Nelson Technologies, November 2013
http://www.nelsontechnology.com
21. Campus Events
Internships &
Recruiting Curriculum
Mentorship &
Experience
Classroom speakers
Workshops
Hackathons
Business Competitions
University
Conferences
Student User Groups
Company visits/tours
Internship Program
Recruitment
Courseware
Curriculum
Student/Faculty
licenses
Training & certification
Capstone projects
Entrepreneurship
Research projects
Student Ambassadors
Academic Program Components
22. Salesforce Campus Tour
Oct 24-Nov 14th
1 2 3
Join Live Telecast on
November 12, 2014
Compete in Salesforce1
Challenge to win an Xbox
Attend a
Campus Event
www.salesforcecampustour.com
24. Salesforce Certifications
Key Skills Preparation
• Manage users, data, and security
• Maintain and customize Sales Cloud and Service Cloud
applications
• Build reports, dashboards, and workflow
Administration Essentials for New
Admins (ADM 201)
FREE Self-paced Training:
• certifiedondemand.com
• Leverage advanced administration
• Optimize and extend Sales Cloud and Service Cloud
applications
• Design advanced reports, dashboards, and business
process automation
Administration Essentials for
Experienced Admins (ADM-211)
FREE Self-paced Training:
• Force.com Fundamentals Book
• Build custom applications using point-and-click
• Design the data model, user interface, business logic,
and security for custom applications
• Design reports, dashboards, and portals
Building Applications with Force.com
and Visualforce (DEV401)
FREE Self-paced Training:
• Udacity.com
• Develop custom applications using Apex & Visualforce
• Manage the development lifecycle and environments
• Write and execute comprehensive test plans
Apex and Visualforce Controllers
(DEV501)
FREE Self-paced Training:
• Introduction to Visualforce (YouTube)
• www.sfdc99.com
27. Lets Build an App!
https://ccoenraets.github.io/salesforce-developer-fasttrack/
28. Two Approaches to Development
Declarative Approach Programmatic Approach
Visualforce Pages
Visualforce Components
Apex Controllers
Apex Triggers
Metadata API
REST API
Bulk API
Page Layouts
Record Types
Formula Fields
Validation Rules
Workflows and Approvals
Custom Objects
Custom Fields
Relationships
User
Interface
Business
Logic
Data
Model
30. Salesforce Objects
Similar to Tables (with more metadata)
Standard objects out-of-the-box
• Account, Contact, Opportunity, …
You can add custom fields to standard objects
•Rating__c, Twitter__c, …
You can create custom objects
• i.e. Speaker__c, Session__c, Hotel__c
Custom objects have standard fields
• Id, Owner, LastModifiedDate, LastModifiedBy, …
31. Rich Data Types
Auto Number
Formula
Roll-Up Summary
Lookup
Master-Detail
Checkbox
Currency
Date
Picklist (multi select)
Text
Text Area
Text Area (Long)
Text Area (Rich)
Text (Encrypted)
URL
Date/Time
Email
Geolocation
Number
Percent
Phone
Picklist
39. What's an Application?
Group of tabs that provide easy access to related features
Salesforce comes with standards apps
•Sales, Call Center, Marketing, …
You can create your own apps
Tabs can be:
•Object pages, Visualforce pages, Canvas app
40. Page Layouts
Let you customize all aspects of the layout, related lists, …
43. What is Apex?
Salesforce platform language
Cloud based compiling, debugging and unit testing
Object-oriented
Strongly typed
Classes and Interfaces
Similar to Java
44. Apex and Java
Same
Primitive data types
Flow control (if, for, while, …)
Exception handling
Collections: Lists, Sets, …
Different
Case insensitive
Single quote strings: 'Joe'
Id data type
Built-in support for data access
45. Apex Class
public class MortgageCalculator {
public Double amount { get; set; }
public Double rate { get; set; }
public Integer years { get; set; }
public Double calculateMonthlyPayment() {
Integer months = years * 12;
Double monthlyRate = rate / (12 * 100);
return amount * (monthlyRate/
(1 - Math.pow(1 + monthlyRate, -months)));
}
}
57. Inlining SOQL in Apex
Integer i = [select count() from Session__c];
58. Inlining SOQL in Apex
String level = 'Advanced';
List<Session__c> sessions =
[SELECT Name, Level__c FROM Session__c
WHERE Level__c = :level];
59. Inlining SOQL in Apex
List<String> levels = new List<String>();
levels.add('Intermediate');
levels.add('Advanced');
List<Session__c> sessions =
[SELECT Name, Level__c FROM Session__c
WHERE Level__c IN :levels];
60. Inlining SOQL in Apex
for (Speaker__c s : [select email__c from Speaker__c])
{
System.debug(s.email__c);
}
66. Trigger
Apex code executed on database events
Before or after:
• Insert
•Update
•Delete
•Undelete
67. Before or After?
Before
•Update or validate values before they are saved to the database
•Example: Prevent double-booking of a speaker
After
•Need access to values set by the database (Id, lastUpdated, …)
•Example: Send speaker confirmation email
68. Bulk Mode
Trigger API designed to support bulk operations
•Data Import, Bulk API, etc.
Triggers work on bulk of records, not single records
Context variables provide access to data:
•Trigger.old and Trigger.new (List)
•Trigger.oldMap and Trigger.newMap (Map)
69. Example
Trigger on Account (after insert) {
for (Account account : Trigger.new) {
Case case = new Case();
case.Subject = 'Mail Welcome Kit';
case.Account.Id = account.Id;
insert case;
}
}
71. Model-View-Controller
Model
Data + Rules
Controller
View-Model
interactions
View
UI code
Separation of concerns
– No data access code in view
– No view code in controller
Benefits
– Minimize impact of changes
– More reusable components
72. Model-View-Controller in Salesforce
View
• Metadata
• Standard Pages
• Visualforce Pages
• External apps
Controller
• Standard Controllers
• Controller Extensions
• Custom Controllers
(all Apex)
Model
• Metadata
• Objects
• Triggers (Apex)
• Classes (Apex)
73. What's a Visualforce Page?
The View in MVC architecture
HTML page with tags executed at the server-side to generate dynamic content
Similar to JSP and ASP
Can leverage JavaScript and CSS libraries
74. Expression Language
Anything inside of {! } is evaluated as an expression
Same expression language as Formulas
Same global variables are available. For example:
• {!$User.FirstName} {!$User.LastName}
76. Example 2
<apex:page standardController="Contact">
<apex:form>
Standard controller
<apex:inputField value="{!contact.firstname}"/>
<apex:inputField value="{!contact.lastname}"/>
<apex:commandButton action="{!save}" value="Save"/>
</apex:form>
</apex:page>
object
Function in
standard controller
77. Standard Controller
A standard controller is available for all objects
•You don't have to write it!
Provides standard CRUD operations
•Create, Update, Delete, Field Access, etc.
Can be extended with more capabilities (next module)
Uses id in URL to access object
78. Component Library
Presentation tags
– <apex:pageBlock title="My Account Contacts">
Fine grained data tags
•<apex:outputField value="{!contact.firstname}">
•<apex:inputField value="{!contact.firstname}">
Coarse grained data tags
•<apex:detail>
•<apex:pageBlockTable>
Action tags
•<apex:commandButton action="{!save}" >
79. Email
Templates
Embedded in Page
Layouts
Generate PDFs
Custom Tabs
Mobile
Interfaces
Page Overrides
Where can I use Visualforce?