Preface 1 
 Chapter 1: Getting Started with Visualforce 7 
 The MVC model 8 
 Understanding Visualforce 8 
 The Visualforce architecture 9 
 Advantages of Visualforce 11 
 Visualforce development tools 13 
 Summary 13 
 Chapter 2: Controllers and Extensions 15 
 Standard controllers 16 
 How to use a standard controller with a Visualforce page 16 
 Standard controller actions 17 
 Standard list controllers 20 
 How to use a standard list controller with Visualforce 20 
 Standard list controller actions 21 
 Custom controllers and controller extensions 23 
 Understanding custom controllers 23 
 Building a custom controller 23 
 Understanding controller extension 26 
 Building a controller extension 27 
 Controller methods 28 
 Getter methods 29 
 Setter methods 29 
 Action methods 31 
 Working with large sets of data on the Visualforce page 31 
 Order of execution of a Visualforce page 32 
 Order of execution for a Visualforce page's get requests 32 
 Order of execution for a Visualforce page's postback requests 33 
 Table of Contents 
 [ ii ] 
 Validation rules and standard controllers/custom controllers 34 
 Using the transient keyword 35 
 Considerations for creating custom controllers and 
 controller extensions 36 
 Summary 36 
 Chapter 3: Visualforce and Standard Web Development 
 Technologies 37 
 Styling Visualforce pages 38 
 Salesforce styles 38 
 Custom styles 38 
 Using JavaScript in Visualforce pages 42 
 Accessing Visualforce components in JavaScript 42 
 JavaScript remoting for Apex controllers 44 
 Using jQuery in Visualforce pages 47 
 HTML5 and Visualforce pages 49 
 Summary 50 
 Chapter 4: Visualforce Custom Components 51 
 Understanding Visualforce custom components 51 
 Creating and using a custom component 52 
 Custom attributes and custom controllers 54 
 Summary 56 
 Chapter 5: Dynamic Visualforce Bindings 57 
 Using dynamic references with standard objects and custom objects 57 
 Referencing Apex Maps and Lists 61 
 Working with field sets 64 
 Summary 64 
 Chapter 6: Visualforce Charting 65 
 Limitations and considerations of Visualforce charting 66 
 How does Visualforce charting work 66 
 Providing chart data 68 
 Using the controller method 69 
 Using a JavaScript function 69 
 Using a JavaScript array 70 
 A complex chart with Visualforce charting 71 
 Summary 74 
 Table of Contents 
 [ iii ] 
 Chapter 7: Visualforce for Mobile 75 
 Understanding Salesforce Mobile 75 
 Salesforce Mobile and Visualforce Mobile supporting devices 76 
 Capabilities and limitations of the mobile application 77 
 Using Visualforce Mobile 78 
 Developing and mobilizing Visualforce pages 78 
 Best practices for building Visualforce Mobile pages for iPhone 
 and BlackBerry 78 
 iPhone considerations 80 
 BlackBerry considerations 80 
 Developing cross-platform compatible pages 81 
 Using the JavaScript library 83 
 Building a mobile-ready Visualforce tab 85 
 Creating the mobile configuration 85 
 Summary 86 
 Chapter 8: Best Practices for Visualforce Developments 87 
 Accessing component IDs 88 
 Page block components 88 
 Controllers and controller extensions 89 
 Improving Visualforce's performance 89 
 Static resources 92 
 Rendering PDFs 92 
 Using component facets 93 
 Summary 94 
 Appendix: Security Tips for Apex and Visualforce Development 95 
 Security scanning tools 95 
 Force.com Security Source Scanner 96 
 Cross-site scripting (XSS) 97 
 Cross-site request forgery (CSRF) 98 
 SOQL injection 98 
 Data access control 100 
 Summary 100 
 Index 101