Force Platform Developer Guide


The Force.com Developer Guide

The Force.com Developer Guide presents a complete picture of the capabilities of the Force.com platform. Aimed at developers with its concise coverage, the Guide provides a framework for understanding the Force.com platform with a narrative journey through the entire platform.

The Developer Guide covers both native capabilities, implemented through wizards, and procedural capabilities, created with tags and code. The Guide also provides an introduction to many of the tools you will use in your development efforts, as well as a description of deployment options for your Force.com applications. The Developer Guide also includes coverage for Email Services and Force.com Sites, designed for interaction with the world outside of the Force.com platform.

Sample chapter

Chapter 7, on security, and Chapter 12, on advanced use of Visualforce, of the Developer Guide are freely available via this download.

Download the entire book

If you are a member of Developer Force, you have full access to the entire Developer Guide in PDF format . If you are not a member, register to get FREE access.

Table of Contents

Chapter 2: Starting Your Force Platform Application

Laying the Groundwork
Welcome to the Force Platform
The Sample Application
The Data
Building Blocks of a Force Platform Application
Creating a Force Platform Application
Creating an Object
Custom Object Definition
Record Name
Optional Features
Deployment Status
Object Creation Options
Creating a Tab
Adding Fields to Your Object
Entering Data
Modifying Page Layout
Filling Your Object With Data
Using Import Wizard
Using Data Loader

Chapter 3: Relationships

Types of Relationships
Creating a Relationship
Adding Fields
Loading Your Data
Refining the User Interface
Many to Many Relationships
Creating a Junction Object
Implementing a Many-to-Many Relationship
Many-to-Many Relationships at Work
Roll-up Summary Fields

Chapter 4: Expanding data options

Picklists
Picklist Usage
Adding Picklists
Multi-select Picklists
Dependent Picklists
Using Dependent Picklists
Record Types
Formula Fields
Formula Fields for Calculation
Formula Fields for Related Object Display
Formula Fields for Integration
Formula Fields for Data Realization
Validation Rules


Chapter 5:Workflow and Approvals

Workflows
A Simple Workflow for Alerts
Modifying the Simple Workflow
Workflow Field Updates
Timed Workflows
Approvals
Designing Your First Approval
Implementing Your First Approval
Your Approval in Action
Modifying Your Approval
Email Approvals
Parallel Approval Steps
Approvals and Beyond

Chapter 6: Reaping Value Through Reports

Searching
Adding Search to the Sidebar
Using Search
Filters
Tagging
Reporting
Force Platform Reporting Concepts
Creating a Standard Report
Saving Your Report
Creating a Summary Report
Creating a Matrix Report
Custom Report Types
Defining a Custom Report Type
Using a Custom Report Type
Analytic Snapshots
Creating an Analytic Snapshot
Scheduled Reports
Dashboards
Creating a Dashboard
Creating a Dashboard Component
Your Dashboard at Work
Multiple Levels of Dashboards

Chapter 7: Protecting Your Data

Force Platform Security
Organization Security
User Security
User Authentication
Network-based Security
Session Security
Auditing
Force Platform Security Framework
Administrative Security
Profiles
Administrative permissions
Component-based Security
Application Permissions
Tab Permissions
Record Type Permissions
Apex Class and Visualforce Page Permissions
Object Permissions
Field Level Security Permissions
Record-based Sharing
Record Ownership
Organization-wide defaults
Sharing
Ways to share
Sharing Recipients
Changes Which Affect Sharing
Apex-managed Sharing
Roles
Designing Security

Chapter 8: The Force Platform IDE

Metadata & the Metadata API
Files and Types
Metadata Interaction
The Force.com IDE
Installing the Force.com IDE
Overview of the Force.com IDE
Exploring the IDE
Working with the Force.com IDE
Creating a Project
Using the Schema Explorer
Working with Metadata Files
Team development and the Force.com IDE
Resolving Change Conflicts
Team development with a Revision Control System
Install subversion
Create a Repository
Installing the Subclipse Plug-in
Configuring Subclipse with a Repository
Save your Project to the Repository
Adding a Second Developer
Making and Saving Changes
Comparing Versions

Chapter 9: Visualforce Pages

Why Visualforce?
Visualforce Concepts
Visualforce Pages
Visualforce Controllers
Developing Visualforce Pages
Creating Your First Page
Displaying Related Records
Using Links to Standard Force Platform Pages
Adding a Related Detail View to a Visualforce Page
Partial Page Refreshes
Get Some Action
Visualforce Pages and Data Sets
Standard Set Controller Basics
Records Per Page
View Selection
Overriding Views with Visualforce Pages
Mass Actions with Visualforce Pages

Chapter 10: Apex

Introducing Apex
What is Apex?
How Can You Use Apex?
Why Required Testing?
How Is Apex Different?
Working With Apex
How Do You Create Apex Code?
Apex Code and Security
Apex Code and Web Services
Apex Code in the Runtime Environment
Apex Basics
Apex Statements
Apex Variables
Apex Expressions and Operators
Apex Data Objects
Apex Collections
Apex Lists
Apex Sets
Apex Maps
Apex Conditional Logic
Apex Loops
Future
Apex Exception Handling
Apex Classes
Defining a Class
Variables
Class Methods
Properties
Writing Apex code
Using the Force Platform IDE
A Simple Script
Adding Repetition
Creating a Method
Passing Values
Adding A Class To Your Project
Adding More Methods
Test Methods

Chapter 11: Apex and Data

Triggers
Trigger options
Trigger Context Variables
Exceptions in Triggers
Creating a Trigger
Force Platform Query Languages
SOQL
SOQL syntax
Relationship Queries
SOQL in Action
SOSL
SOSL Syntax
Dynamic SOQL and SOSL
Data Manipulation with Apex
Apex DML Syntax
Data integrity
Writing data
Bulk data operations with Apex

Chapter 12: Extended Visualforce Components and Controllers

Visualforce Components
Creating a Visualforce Component
Adding Attributes to a Component
Using a Visualforce Component
Controller Extensions
Modifying Your Force Platform Database
Creating a Controller Extension
Populating a List of Options
Your Visuaforce Page with Controller Extension
Adding an apex:selectList
Repopulating the selectList
Saving the Record
Integrating the page
The Next Step
Conditional Display of Fields
Adding a Value to the selectList
Conditionally Displaying Fields
Holding the New Value
Saving the New Value
Checking For a New Position Type
Adding a New Position Type
Setting the New Position Type Lookup Value
Saving the Position Record
Catch Those Errors
Visualforce Custom Controllers
Creating a Custom Controller
Saving the Data
Integrating Your Wizard

Chapter 13: Email Services with the Force Platform

Handling Inbound Emails
Implementing the InboundEmailHandler Interface
Parsing the Inbound Message
Loading the Position
Checking for the Candidate
Creating the Job Application
Handling Attachments
Setting up Email Services
Testing Inbound Emails from Applicants
Sending Email
Basics of Sending Email
Sending Email with Attachments
Sending an Automatic Email Response Back to the Applicant
PDFs with Visualforce Pages
Creating a PDF with Visualforce
Attaching a Visualforce PDF to an Email
Visualforce Email Templates
Creating an Email Template

Chapter 14:Taking Your Application Public with Force Platform Sites

What Are Force Platform Sites?
Registering for and Creating Your First Force Platform Site
Overview: Creating the Public Recruiting Application
Creating the Public Job Postings Page
Creating the Custom Controller
Creating and Enabling the Job Postings Page
Granting Public Access Settings
Setting Your Active Home Page
Customizing the Look and Feel of Your Force Platform Site
Creating the Job Detail Page
Enabling Users to Submit Job Applications Online
Extending the Standard Apex Controller
Creating the Confirmation Page
Creating the Application Page and Linking to Job Details
Testing the Online Application Process and Verifying the Results
Configuring Registration and Login for Your Force Platform Site
Configuring the Customer Portal
Associating the Customer Portal with Your Site
Creating an Account and Updating the Account ID
Associating a Role with the Account User Record
Testing Your Force Platform Site

Chapter 15: Deployment

Application Development Methodology and Architecture
Simple Deployment with the Force Platform IDE
Preparing For Deployment
Using the Force Platform Deployment Wizard
Deployment Using the Force Platform Migration Tool
Packages
What is a Package?
Creating a Package
Adding Components to a Package
Uploading a package
Installing the Package
Managed Packages
Sandboxes
Sandbox Comparisons