New to Force.com and need an orientation to bring you up to speed? This monthly series of introductory sessions on Force.com, the world’s leading cloud platform that lets you build apps rapidly using configuration-driven development and powerful programmatic logic.
2. #forcewebinar
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.
3. #forcewebinar
Go Social!
@salesforcedevs / #forcewebinar
Salesforce Developers
Salesforce Developers
Salesforce Developers
+Salesforce Developers
This webinar is being recorded!
The video will be posted to
YouTube & the webinar recap
page (same URL as registration).
4. #forcewebinar
Introducing the Salesforce App Cloud
FORCE
HEROKU
ENTERPRISE
Model-driven
development platform
Polyglot platform for
elastic scale
APPEXCHANGE
#1 Enterprise App
Marketplace
LIGHTNING
THUNDER
Stream & event-
based primitives
Visual development
platform
TRAILHEAD
Fun, easy, interactive
way to learn App Cloud
Experience a new way to build apps
5. #forcewebinar
Common Use Cases for the Salesforce App Cloud
Critical
Processes
Social
Front Ends
Social
Websites
Social
Engagement
Cut inefficiency
with the power
of the cloud.
Extend the value
of your back office.
Accelerate your
marketing to the
pace the market
moves at.
Connect to customers
the way they expect it -
social and movile,
all the time.
6. #forcewebinar
Tools for Getting the Job Done
Model Form Function Flow Analytics
Schema Builder for
Easy Data
Management
Form Builder for
Apps, Portals,
& Sites
Re-usable
Formulas,
Validations
& Logic
Drag & Drop
Workflow Builder
for Business
Processes
Drag & Drop
Chart & Report
Builder
8. #forcewebinar
Two Approaches to Development
Declarative Approach Programmatic Approach
Page Layouts
Record Types
Visualforce Pages
Visualforce Components
User
Interface
Formula Fields
Validation Rules
Workflows and Approvals
Apex Controllers
Apex Triggers
Business
Logic
Custom Objects
Custom Fields
Relationships
Metadata API
REST API
Bulk API
Data
Model
13. #forcewebinar
• Code to test code
• Tests can mirror user expectations
• System Asserts increase predictability
• Line Coverage increase predictability
Unit Testing
14. #forcewebinar
• 75% Coverage for Production
• Develop in:
• Sandboxes
• Developer Editions
• Force.com Migration Tool
• Force.com CLI
• Eclipse Plugin
Deploying Your Code
16. #forcewebinar
• Framework to build custom user interfaces
• Hosted natively on Force.com
• Build streamlined UX
• Create internal and public facing pages
• Customize for different devices
• Leverage other web technologies
What can you do with Visualforce?
19. #forcewebinar
MVC
Visualforce tags
100+ standard components
Custom components
Works with all standard web technologies including:
• CSS
• JavaScript
• HTML
• Flash
• Any other Web-Enabled Code
20. #forcewebinar
Expression Language
Anything inside of {! } is evaluated as an expression
Dynamic variables: {!Contact.Phone} or {!myApexVariable}
Logic: {!IF(Opportunity.Stage == ‘Closed/Won’, val_if_true,
val_if_false)}
Functions: {!URLENCODE(Account.website__c)}
$ provides access to global variables (User, Page, RemoteAction, Resource, …)
{!$User.FirstName} {!$User.LastName}
{!$Resource.jquery}
{!URLFOR($Resource.assets, 'img/logo.png’)}
21. #forcewebinar
What do standard components look
like?
<apex:outputField value = “{!Restaurant__c.Address_c} >
Merge field to define
attribute (can also
be a string literal in
some cases)
Attributes to
define
components
apex: or chatter: prefix
Component name
(examples: tables,
repeats, forms, etc)
Data binding to objects
and class variables
Reference field
(using dot notation)
22. #forcewebinar
• Provides access to data
• Logic for handling UI interaction
• Standard Controllers
Same functionality as standard pages
Save, delete, field access etc.
• Custom Controllers
Written in Apex
Override standard behavior
Controller Extensions
Visualforce Controllers
23. #forcewebinar
How do I connect a controller?
<apex:page standardController = “Restaurant__c” >
Defined at the
page level
Standard or
custom objects
Inherit standard
CRUD functionality
If only using custom
controllers, use
controller=“controllerName”
Custom controller logic
to extend standard
controllers
extensions = “ext1, ext2”