SlideShare a Scribd company logo
Salesforce 2014 
Campus Tour 
Subtitle placeholder 
Speaker Name and Title (second level bullet)
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.
#CampusTour14
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
1% 
Time • Equity • Product 
530,000+ 
Hours Service 
20,000 
Non-profit 
organizations 
$53M+ 
Grants 
foundation
The Third Wave of Computing
Server 
Mainframe LAN / WAN 
SNA 
Terminal 
Client 
customer 
transactions 
connected 
things 
Cloud 
LTE 
Mobile 
“Third Wave” of Computing 
Thousands Millions Billions Trillions
But Most Companies Are Disconnected From Customers 
Service Agents 
Your 
Company 
Salespeople 
Your 
Customers 
Your Partners
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
Salesforce1: A New Customer Platform for the Future 
Salesforce1 App 
Salesforce1 Platform APIs 
Force.com Heroku1 
Salesforce1 Platform Services 
ExactTarget 
Fuel
Build Amazing Apps and Connect 
Everything. 
Build Innovative 
Customer apps 
Automate Processes 
with Employee Apps 
Connect 
Everything
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
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
Salesforce Academic 
Program
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
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
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
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
Keep Learning With Trailhead 
developer.salesforce.com/trailhead
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
Campus Ambassador 
Program
Salesforce FutureForce Program 
salesforce.com/futureforce
Lets Build an App 
https://ccoenraets.github.io/salesforce-developer-advanced/
Using JavaScript in 
Visualforce Pages
Why JavaScript? 
Build Engaging User Experiences 
Leverage JavaScript Libraries 
Build Custom Applications
JavaScript in Visualforce Pages 
Visualforce Page 
JavaScript Remoting 
Remote Objects 
(REST)
Examples
Using JavaScript and CSS Libraries 
Hosted elsewhere 
<script src="https://maps.googleapis.com/maps/api/js"></script> 
Hosted in Salesforce 
•Upload individual file or Zip file as Static Resource 
•Reference asset using special tags
Referencing a Static Resource 
// Single file 
<apex:includeScript value="{!$Resource.jquery}"/> 
<apex:image url="{!$Resource.myLogo}"/> 
// ZIP file 
<apex:includeScript value="{!URLFOR($Resource.MyApp, 'js/app.js')}"/> 
<apex:image url="{!URLFOR($Resource.MyApp, 'img/logo.jpg')}/> 
<link href="{!URLFOR($Resource.bootstrap, 'bootstrap/css/bootstrap.css')}" rel="stylesheet"/>
JavaScript Remoting - Server-Side 
global with sharing class HotelRemoter { 
@RemoteAction 
global static List<Hotel__c> findAll() { 
return [SELECT Id, 
Name, 
Location__Latitude__s, 
Location__Longitude__s 
FROM Hotel__c]; 
} 
}
"global with sharing"? 
global 
•Available from outside of the application 
with sharing 
•Run code with current user permissions. (Apex code runs in system context by default -- with access to 
all objects and fields)
JavaScript Remoting - Visualforce Page 
<script> 
Visualforce.remoting.Manager.invokeAction( 
'{!$RemoteAction.HotelRemoter.findAll}', 
function (result, event) { 
if (event.status) { 
for (var i = 0; i < result.length; i++) { 
var lat = result[i].Location__Latitude__s; 
var lng = result[i].Location__Longitude__s; 
addMarker(lat, lng); 
} 
} else { 
alert(event.message); 
} 
} 
); 
</script>
Using the REST APIs
When? 
Get Salesforce data from outside Salesforce 
Integrate Salesforce in existing apps 
Build consumer apps 
Device integration (Internet of Things)
Mobile SDK Example 
OAuth 
REST APIs
Browser Cross-Origin Restrictions 
OAuth 
REST APIs 
app.js 
index.html 
HTTP Server 
Cross Origin Policy
Using a Proxy 
OAuth 
REST APIs 
app.js 
index.html 
Proxy 
HTTP Server
Connected App
Libraries 
ForceTK 
• Salesforce REST API Toolkit 
Nforce 
•node.js a REST API wrapper 
ngForce 
• Visualforce Remoting integration in AngularJS 
JSForce
Writing Unit Tests
Unit Testing 
Code to test code 
Increases quality and predictability 
Unit test coverage is required to move code to production 
•Must have at least 75% of code covered 
•Coverage = lines of code exercised by tests / total line of code
Anatomy of a Test Class 
@isTest 
private class myClass { 
static testMethod void myTest() { 
// 1. Prepare temporary data 
// 2. Start Test 
// 3. Execute some code 
// 4. Stop Test 
// 5. Assert 
} 
}
Create Temp data 
Datetime now = System.now(); 
// Create speaker 
Speaker__c sp = new Speaker__c(First_Name__c='Al', Last_Name__c='Smith'); 
insert sp; 
// Create two sessions starting at the same time 
Session__c s1 = new Session__c(Name='Session1', Session_Date__c=now); 
insert s1; 
Session__c s2 = new Session__c(Name='Session2', Session_Date__c=now); 
insert s2; 
// Book speaker for session1 
Session_Speaker__c booking1 = 
new Session_Speaker__c(Session__c=s1.Id, Speaker__c=sp.Id); 
insert booking1;
Test and Assert 
Test.startTest(); 
// Try to book speaker to session2 
Session_Speaker__c booking2= 
new Session_Speaker__c(Session__c=s2.Id, Speaker__c=sp.Id); 
Database.SaveResult result = Database.insert(booking2, false); 
Test.stopTest(); 
// Insert should fail: can't book same speaker for 2 sessions happening 
// at same time 
System.assert(!result.isSuccess());
Running Tests
All done. Take a survey! 
http://bit.ly/devdayutaustin
Salesforce Campus Tour - Developer Advanced

More Related Content

What's hot

UX and Design: Top Tips for Salesforce Apps on Mobile and Wearables
UX and Design: Top Tips for Salesforce Apps on Mobile and WearablesUX and Design: Top Tips for Salesforce Apps on Mobile and Wearables
UX and Design: Top Tips for Salesforce Apps on Mobile and Wearables
Salesforce Developers
 
Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introduction
David Scruggs
 
Spring '16 Lightning Update for ISVs (March 15, 2016)
Spring '16 Lightning Update for ISVs (March 15, 2016)Spring '16 Lightning Update for ISVs (March 15, 2016)
Spring '16 Lightning Update for ISVs (March 15, 2016)
Salesforce Partners
 
Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)
Salesforce Partners
 
Build your API with Force.com and Heroku
Build your API with Force.com and HerokuBuild your API with Force.com and Heroku
Build your API with Force.com and Heroku
Jeff Douglas
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
Salesforce Developers
 
Apex tutorial
Apex tutorialApex tutorial
Apex tutorial
HarikaReddy115
 
Understanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce PlatformUnderstanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce Platform
Salesforce Developers
 
Integrating Salesforce with Microsoft Office through Add-ins
Integrating Salesforce with Microsoft Office through Add-insIntegrating Salesforce with Microsoft Office through Add-ins
Integrating Salesforce with Microsoft Office through Add-ins
Salesforce Developers
 
Introduction to the Wave Platform API
Introduction to the Wave Platform APIIntroduction to the Wave Platform API
Introduction to the Wave Platform API
Salesforce Developers
 
Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)
Salesforce Partners
 
Salesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to appSalesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to app
Roy Gilad
 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification Paths
Salesforce Partners
 
Architect and Design Your App for Commercial Success
Architect and Design Your App for Commercial SuccessArchitect and Design Your App for Commercial Success
Architect and Design Your App for Commercial Success
Salesforce Partners
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Salesforce Developers
 
Migrating to Salesforce Lightning
Migrating to Salesforce Lightning Migrating to Salesforce Lightning
Migrating to Salesforce Lightning
ricknania
 
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce DevelopersApp to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
Eric Shupps
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
Salesforce Developers
 
ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017
Salesforce Partners
 
Elevate workshop programmatic_2014
Elevate workshop programmatic_2014Elevate workshop programmatic_2014
Elevate workshop programmatic_2014David Scruggs
 

What's hot (20)

UX and Design: Top Tips for Salesforce Apps on Mobile and Wearables
UX and Design: Top Tips for Salesforce Apps on Mobile and WearablesUX and Design: Top Tips for Salesforce Apps on Mobile and Wearables
UX and Design: Top Tips for Salesforce Apps on Mobile and Wearables
 
Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introduction
 
Spring '16 Lightning Update for ISVs (March 15, 2016)
Spring '16 Lightning Update for ISVs (March 15, 2016)Spring '16 Lightning Update for ISVs (March 15, 2016)
Spring '16 Lightning Update for ISVs (March 15, 2016)
 
Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)Tech Enablement Webinar for ISVs (March 16, 2017)
Tech Enablement Webinar for ISVs (March 16, 2017)
 
Build your API with Force.com and Heroku
Build your API with Force.com and HerokuBuild your API with Force.com and Heroku
Build your API with Force.com and Heroku
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
 
Apex tutorial
Apex tutorialApex tutorial
Apex tutorial
 
Understanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce PlatformUnderstanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce Platform
 
Integrating Salesforce with Microsoft Office through Add-ins
Integrating Salesforce with Microsoft Office through Add-insIntegrating Salesforce with Microsoft Office through Add-ins
Integrating Salesforce with Microsoft Office through Add-ins
 
Introduction to the Wave Platform API
Introduction to the Wave Platform APIIntroduction to the Wave Platform API
Introduction to the Wave Platform API
 
Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)
 
Salesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to appSalesforce Lightning component framework from 0 to app
Salesforce Lightning component framework from 0 to app
 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification Paths
 
Architect and Design Your App for Commercial Success
Architect and Design Your App for Commercial SuccessArchitect and Design Your App for Commercial Success
Architect and Design Your App for Commercial Success
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
 
Migrating to Salesforce Lightning
Migrating to Salesforce Lightning Migrating to Salesforce Lightning
Migrating to Salesforce Lightning
 
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce DevelopersApp to AppExchange - A Journey from Idea to Market for Salesforce Developers
App to AppExchange - A Journey from Idea to Market for Salesforce Developers
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
 
ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017
 
Elevate workshop programmatic_2014
Elevate workshop programmatic_2014Elevate workshop programmatic_2014
Elevate workshop programmatic_2014
 

Similar to Salesforce Campus Tour - Developer Advanced

Salesforce Campus Tour - Declarative
Salesforce Campus Tour - DeclarativeSalesforce Campus Tour - Declarative
Salesforce Campus Tour - Declarative
James Ward
 
APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)
Salesforce Partners
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
BeMyApp
 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.com
Salesforce Developers
 
How We Built AppExchange and our Communities on the App Cloud (Platform)
How We Built AppExchange and our Communities on the App Cloud (Platform)How We Built AppExchange and our Communities on the App Cloud (Platform)
How We Built AppExchange and our Communities on the App Cloud (Platform)
Dreamforce
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Sudipta Deb ☁
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Salesforce Developers
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
John Stevenson
 
Forcelandia 2016 Wave App Development
Forcelandia 2016   Wave App DevelopmentForcelandia 2016   Wave App Development
Forcelandia 2016 Wave App Development
Skip Sauls
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime API
Salesforce Developers
 
Publish Your First App on the AppExchange
Publish Your First App on the AppExchangePublish Your First App on the AppExchange
Publish Your First App on the AppExchange
Salesforce Partners
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
Mark Adcock
 
Turbocharging AppExchange
Turbocharging AppExchangeTurbocharging AppExchange
Turbocharging AppExchangedreamforce2006
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
CarolEnLaNube
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 Platform
John Stevenson
 
Developer Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 PlatformDeveloper Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 Platform
Salesforce Deutschland
 
Building Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDKBuilding Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDK
Salesforce Developers
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground
Troy Sellers
 
Hca advanced developer workshop
Hca advanced developer workshopHca advanced developer workshop
Hca advanced developer workshop
David Scruggs
 
Sandboxes: The Future of App Development
Sandboxes: The Future of App DevelopmentSandboxes: The Future of App Development
Sandboxes: The Future of App Development
Dreamforce
 

Similar to Salesforce Campus Tour - Developer Advanced (20)

Salesforce Campus Tour - Declarative
Salesforce Campus Tour - DeclarativeSalesforce Campus Tour - Declarative
Salesforce Campus Tour - Declarative
 
APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.com
 
How We Built AppExchange and our Communities on the App Cloud (Platform)
How We Built AppExchange and our Communities on the App Cloud (Platform)How We Built AppExchange and our Communities on the App Cloud (Platform)
How We Built AppExchange and our Communities on the App Cloud (Platform)
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Forcelandia 2016 Wave App Development
Forcelandia 2016   Wave App DevelopmentForcelandia 2016   Wave App Development
Forcelandia 2016 Wave App Development
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime API
 
Publish Your First App on the AppExchange
Publish Your First App on the AppExchangePublish Your First App on the AppExchange
Publish Your First App on the AppExchange
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Turbocharging AppExchange
Turbocharging AppExchangeTurbocharging AppExchange
Turbocharging AppExchange
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 Platform
 
Developer Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 PlatformDeveloper Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 Platform
 
Building Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDKBuilding Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDK
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground
 
Hca advanced developer workshop
Hca advanced developer workshopHca advanced developer workshop
Hca advanced developer workshop
 
Sandboxes: The Future of App Development
Sandboxes: The Future of App DevelopmentSandboxes: The Future of App Development
Sandboxes: The Future of App Development
 

More from James Ward

Kotlin Mullets
Kotlin MulletsKotlin Mullets
Kotlin Mullets
James Ward
 
Koober Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine Learning
James Ward
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
James Ward
 
Integrating Clouds & Humans with Wearable Apps
Integrating Clouds & Humans with Wearable AppsIntegrating Clouds & Humans with Wearable Apps
Integrating Clouds & Humans with Wearable Apps
James Ward
 
Building Reactive Apps
Building Reactive AppsBuilding Reactive Apps
Building Reactive AppsJames Ward
 
Planet of the AOPs
Planet of the AOPsPlanet of the AOPs
Planet of the AOPsJames Ward
 

More from James Ward (6)

Kotlin Mullets
Kotlin MulletsKotlin Mullets
Kotlin Mullets
 
Koober Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine Learning
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Integrating Clouds & Humans with Wearable Apps
Integrating Clouds & Humans with Wearable AppsIntegrating Clouds & Humans with Wearable Apps
Integrating Clouds & Humans with Wearable Apps
 
Building Reactive Apps
Building Reactive AppsBuilding Reactive Apps
Building Reactive Apps
 
Planet of the AOPs
Planet of the AOPsPlanet of the AOPs
Planet of the AOPs
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 

Salesforce Campus Tour - Developer Advanced

  • 1. Salesforce 2014 Campus Tour Subtitle placeholder Speaker Name and Title (second level bullet)
  • 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
  • 6. The Third Wave of Computing
  • 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
  • 17.
  • 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
  • 23. Keep Learning With Trailhead developer.salesforce.com/trailhead
  • 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
  • 26. Salesforce FutureForce Program salesforce.com/futureforce
  • 27. Lets Build an App https://ccoenraets.github.io/salesforce-developer-advanced/
  • 28. Using JavaScript in Visualforce Pages
  • 29. Why JavaScript? Build Engaging User Experiences Leverage JavaScript Libraries Build Custom Applications
  • 30. JavaScript in Visualforce Pages Visualforce Page JavaScript Remoting Remote Objects (REST)
  • 32. Using JavaScript and CSS Libraries Hosted elsewhere <script src="https://maps.googleapis.com/maps/api/js"></script> Hosted in Salesforce •Upload individual file or Zip file as Static Resource •Reference asset using special tags
  • 33. Referencing a Static Resource // Single file <apex:includeScript value="{!$Resource.jquery}"/> <apex:image url="{!$Resource.myLogo}"/> // ZIP file <apex:includeScript value="{!URLFOR($Resource.MyApp, 'js/app.js')}"/> <apex:image url="{!URLFOR($Resource.MyApp, 'img/logo.jpg')}/> <link href="{!URLFOR($Resource.bootstrap, 'bootstrap/css/bootstrap.css')}" rel="stylesheet"/>
  • 34. JavaScript Remoting - Server-Side global with sharing class HotelRemoter { @RemoteAction global static List<Hotel__c> findAll() { return [SELECT Id, Name, Location__Latitude__s, Location__Longitude__s FROM Hotel__c]; } }
  • 35. "global with sharing"? global •Available from outside of the application with sharing •Run code with current user permissions. (Apex code runs in system context by default -- with access to all objects and fields)
  • 36. JavaScript Remoting - Visualforce Page <script> Visualforce.remoting.Manager.invokeAction( '{!$RemoteAction.HotelRemoter.findAll}', function (result, event) { if (event.status) { for (var i = 0; i < result.length; i++) { var lat = result[i].Location__Latitude__s; var lng = result[i].Location__Longitude__s; addMarker(lat, lng); } } else { alert(event.message); } } ); </script>
  • 38. When? Get Salesforce data from outside Salesforce Integrate Salesforce in existing apps Build consumer apps Device integration (Internet of Things)
  • 39. Mobile SDK Example OAuth REST APIs
  • 40. Browser Cross-Origin Restrictions OAuth REST APIs app.js index.html HTTP Server Cross Origin Policy
  • 41. Using a Proxy OAuth REST APIs app.js index.html Proxy HTTP Server
  • 43. Libraries ForceTK • Salesforce REST API Toolkit Nforce •node.js a REST API wrapper ngForce • Visualforce Remoting integration in AngularJS JSForce
  • 45. Unit Testing Code to test code Increases quality and predictability Unit test coverage is required to move code to production •Must have at least 75% of code covered •Coverage = lines of code exercised by tests / total line of code
  • 46. Anatomy of a Test Class @isTest private class myClass { static testMethod void myTest() { // 1. Prepare temporary data // 2. Start Test // 3. Execute some code // 4. Stop Test // 5. Assert } }
  • 47. Create Temp data Datetime now = System.now(); // Create speaker Speaker__c sp = new Speaker__c(First_Name__c='Al', Last_Name__c='Smith'); insert sp; // Create two sessions starting at the same time Session__c s1 = new Session__c(Name='Session1', Session_Date__c=now); insert s1; Session__c s2 = new Session__c(Name='Session2', Session_Date__c=now); insert s2; // Book speaker for session1 Session_Speaker__c booking1 = new Session_Speaker__c(Session__c=s1.Id, Speaker__c=sp.Id); insert booking1;
  • 48. Test and Assert Test.startTest(); // Try to book speaker to session2 Session_Speaker__c booking2= new Session_Speaker__c(Session__c=s2.Id, Speaker__c=sp.Id); Database.SaveResult result = Database.insert(booking2, false); Test.stopTest(); // Insert should fail: can't book same speaker for 2 sessions happening // at same time System.assert(!result.isSuccess());
  • 50. All done. Take a survey! http://bit.ly/devdayutaustin