salesforce Visualforce Developer Guide
Manuals and User Guides for salesforce Visualforce Developer Guide. We found 1 manuals for free downloads Developer Guide
Below you will find brief information for Visualforce Developer Guide. The guide offers comprehensive details on Visualforce which allows developers to build sophisticated user interfaces for Salesforce applications, providing deep customization and control over the user experience.
Key Features
Custom UI Development
Integration with Apex
PDF rendering
AJAX support
Custom components
Standard controller
Custom controller
Controller extension
Pages: 752 salesforce Visualforce Developer Guide Developer Guide
Brand: salesforce Category: Software Size: 7 MB
Languages: English
Table of contents
- 15 Introducing Visualforce
- 16 What is Visualforce?
- 17 Which Editions Support Visualforce?
- 18 Which Permissions are Required for Visualforce Development?
- 18 How is Visualforce Architected?
- 19 What are the Benefits of Visualforce?
- 20 When Should I Use Visualforce?
- 21 How Do Visualforce Pages Compare to S-Controls?
- 22 How is Visualforce Versioned?
- 23 What’s New in Visualforce Version 37.0
- 24 Documentation Typographical Conventions
- 26 Tools for Visualforce Development
- 26 Using the Development Mode Footer
- 28 About the Visualforce Editor
- 30 Getting a Quick Start with Visualforce
- 30 Compiling Visualforce Successfully
- 30 Creating Your First Page
- 32 Displaying Field Values with Visualforce
- 33 Using the Visualforce Component Library
- 35 Overriding an Existing Page with a Visualforce Page
- 38 Redirecting to a Standard Object List Page
- 38 Using Input Components in a Page
- 39 Adding and Customizing Input Field Labels
- 41 Setting the Tab Order for Fields in a Form
- 42 Adding Dependent Fields to a Page
- 45 Creating Visualforce Dashboard Components
- 46 Displaying Related Lists for Custom Objects
- 46 Enabling Inline Editing
- 49 Converting a Page to a PDF File
- 51 Building a Table of Data in a Page
- 52 Editing a Table of Data in a Page
- 53 Using Query String Parameters in a Page
- 53 Getting Query String Parameters
- 55 Setting Query String Parameters in Links
- 55 Getting and Setting Query String Parameters on a Single Page
- 56 Using Ajax in a Page
- 56 Implementing Partial Page Updates with Command Links and Buttons
- 57 Providing Status for Asynchronous Operations
- 58 Applying Ajax Behavior to Events on Any Component
- 60 Customizing the Appearance and Output of Visualforce Pages
- 60 Styling Visualforce Pages
- 60 Using Salesforce Styles
- 60 Extending Salesforce Styles with Stylesheets
- 61 Using Custom Styles
- 62 Suppressing the Salesforce User Interface and Styles
- 63 Defining Styles for a Component’s DOM ID
- 63 Using Styles from Salesforce Stylesheets
- 64 Identifying the Salesforce Style Your Users See
- 65 HTML Comments and IE Conditional Comments
- 66 HTML Tags Added or Modified by Visualforce
- 66 Relaxed Tidying for the HTML5 Doctype
- 66 Manually Override Automatic <html> and <body> Tag Generation
- 67 Creating an Empty HTML5 “Container” Page
- 68 Using a Custom Doctype
- 69 Using a Custom ContentType
- 70 Setting Custom HTML Attributes on Visualforce Components
- 72 Offline Caching Using the HTML5 manifest Attribute
- 73 Render a Visualforce Page as a PDF File
- 74 Add a Save as PDF Feature to a Visualforce Page
- 77 Render a Visualforce Page as PDF from Apex
- 82 Fonts Available When Using Visualforce PDF Rendering
- 84 Visualforce PDF Rendering Considerations and Limitations
- 85 Component Behavior When Rendered as PDF
- 88 Standard Controllers
- 88 Associating a Standard Controller with a Visualforce Page
- 88 Accessing Data with a Standard Controller
- 89 Using Standard Controller Actions
- 90 Validation Rules and Standard Controllers
- 90 Styling Pages that Use Standard Controllers
- 91 Checking for Object Accessibility
- 93 Standard List Controllers
- 93 Associating a Standard List Controller with a Visualforce Page
- 94 Accessing Data with List Controllers
- 95 Using Standard List Controller Actions
- 96 Pagination with a List Controller
- 96 Using List Views with Standard List Controllers
- 98 Editing Records with List Controllers
- 100 Custom Controllers and Controller Extensions
- 100 What are Custom Controllers and Controller Extensions?
- 101 Building a Custom Controller
- 103 Building a Controller Extension
- 104 Building a Custom List Controller
- 106 Controller Methods
- 109 Controller Class Security
- 110 Working with Large Sets of Data
- 110 Setting Read-Only Mode for an Entire Page
- 111 Setting Read-Only Mode for Controller Methods
- 111 Considerations for Creating Custom Controllers and Controller Extensions
- 112 Order of Execution in a Visualforce Page
- 113 Order of Execution for Visualforce Page Get Requests
- 115 Order of Execution for Visualforce Page Postback Requests
- 117 Examples of Visualforce Page Execution Order
- 124 Testing Custom Controllers and Controller Extensions
- 127 Validation Rules and Custom Controllers
- 128 Using the transient Keyword
- 130 Advanced Examples
- 130 Creating Your First Custom Controller
- 130 Creating a Custom Controller Class
- 131 Defining Getter Methods
- 133 Defining Action Methods
- 135 Defining Navigation Methods
- 137 Creating a Wizard
- 144 Advanced Visualforce Dashboard Components
- 145 Integrating Visualforce and Google Charts
- 150 Mass-Updating Records with a Custom List Controller
- 153 Overriding Buttons, Links, and Tabs with Visualforce
- 154 Overriding Tabs Using a Standard List Controller
- 154 Defining Custom Buttons and Links for Visualforce
- 156 Adding Custom List Buttons using Standard List Controllers
- 158 Displaying Record Types
- 159 Using Static Resources
- 159 Creating a Static Resource
- 160 Referencing a Static Resource in Visualforce Markup
- 162 Creating and Using Custom Components
- 162 What are Custom Components?
- 163 Defining Custom Components
- 164 Custom Component Markup
- 164 Using Custom Components in a Visualforce Page
- 165 Managing Version Settings for Custom Components
- 165 Custom Component Attributes
- 166 Custom Component Controllers
- 169 Dynamic Visualforce Bindings
- 170 Using Dynamic References with Standard Objects
- 179 Using Dynamic References with Custom Objects and Packages
- 182 Referencing Apex Maps and Lists
- 184 Working with Field Sets
- 187 Dynamic References to Global Variables
- 187 Dynamic References to Static Resources Using $Resource
- 190 Dynamic References to Action Methods Using $Action
- 192 Dynamic References to Schema Details Using $ObjectType
- 196 Dynamic Visualforce Components
- 196 Dynamic Components Restrictions
- 197 Creating and Displaying Dynamic Components
- 200 Deferred Creation of Dynamic Components
- 202 Example Using a Related List
- 208 Integrating Email with Visualforce
- 208 Sending an Email with Visualforce
- 208 Creating a Custom Controller with the Messaging Class
- 211 Creating an Email Attachment
- 215 Visualforce Email Templates
- 216 Creating a Visualforce Email Template
- 218 Using a Custom Stylesheet in a Visualforce Email Template
- 221 Adding Attachments
- 225 Using Custom Controllers within Visualforce Email Templates
- 227 Visualforce Charting
- 227 Visualforce Charting Limitations and Considerations
- 228 How Visualforce Charting Works
- 228 A Simple Charting Example
- 229 Providing Chart Data
- 230 Providing Chart Data via a Controller Method
- 231 Providing Chart Data Using a JavaScript Function
- 232 Providing Chart Data via a JavaScript Array
- 232 Chart Data Format
- 233 Building a Complex Chart with Visualforce Charting
- 238 Updating Charts with Refreshed Data
- 238 Refreshing Chart Data Using <apex:actionSupport>
- 240 Refreshing Chart Data Using JavaScript Remoting
- 245 Controlling the Appearance of Charts
- 245 Chart Colors
- 246 Chart Layout and Annotation
- 247 Bar Charts
- 249 Other Linear Series Charts
- 251 Pie Charts
- 252 Gauge Charts
- 253 Radar Charts
- 255 Creating Maps with Visualforce
- 256 Creating Basic Maps
- 257 Adding Location Markers to a Map
- 259 Using Custom Marker Icons
- 261 Adding Info Windows to Markers
- 263 Example of Building Map Data in Apex
- 267 Render Flows with Visualforce
- 268 Embed Flows in Visualforce Pages
- 269 An Advanced Example of Using <flow:interview>
- 271 Set Flow Variable Values from a Visualforce Page
- 275 Get Flow Variable Values to a Visualforce Page
- 277 Control Whether Users Can Pause a Flow from a Visualforce Page
- 278 Customize How Users Resume Paused Flow Interviews
- 279 Configure the finishLocation Attribute in a Flow
- 280 Customize a Flow’s User Interface
- 283 Templating with Visualforce
- 283 Defining Templates with <apex:composition>
- 287 Referencing an Existing Page with <apex:include>
- 289 Developing for Mobile Devices
- 289 What is Salesforce Classic Mobile?
- 291 Developing Pages for iPhone and BlackBerry
- 292 iPhone Considerations
- 293 BlackBerry Considerations
- 295 Developing Cross-Platform Compatible Pages
- 297 Using the JavaScript Library
- 299 Mobilizing Visualforce Pages
- 300 Building a Visualforce Tab For Use in Salesforce Classic Mobile
- 300 Adding Visualforce Tabs to Mobile Configurations
- 303 Testing Visualforce Mobile Pages
- 304 Example: Building a Mapping Application for iPhone
- 304 Creating the Custom Controller
- 305 Building the Map and List View
- 309 Building the Detail Page
- 311 Adding Visualforce to a Force.com AppExchange App
- 312 Managing Package Version Settings for Visualforce Pages and Components
- 313 Using JavaScript in Visualforce Pages
- 313 Using $Component to Reference Components from JavaScript
- 314 Using JavaScript Libraries with Visualforce
- 315 JavaScript Remoting for Apex Controllers
- 315 What Is JavaScript Remoting?
- 316 When to Use JavaScript Remoting
- 316 Comparing JavaScript Remoting and <apex:actionFunction>
- 316 Comparing JavaScript Remoting and Remote Objects
- 317 Adding JavaScript Remoting to a Visualforce Page
- 317 Configuring a JavaScript Remoting Request
- 318 Namespaces and JavaScript Remoting
- 319 OAuth 2.0 Authentication for JavaScript Remoting
- 320 Declaring a Remote Method in Apex
- 320 Scope and Visibility of @RemoteAction Methods
- 321 Remote Methods and Inheritance
- 322 Declaring a Remote Method with Interface Parameters
- 323 Handling the Remote Response
- 323 Debugging JavaScript Remoting
- 324 JavaScript Remoting Limits and Considerations
- 324 JavaScript Remoting Example
- 326 Visualforce Remote Objects
- 326 A Simple Example of Remote Objects
- 328 Using Remote Objects in JavaScript
- 330 Creating Records with Remote Objects
- 331 Retrieving Records with Remote Objects
- 331 Updating Records with Remote Objects
- 333 Upserting Records with Remote Objects
- 334 Deleting Records with Remote Objects
- 335 Format and Options for Remote Objects Query Criteria
- 337 Remote Objects Callback Functions
- 338 Overriding Default Remote Objects Operations
- 339 An Example of Using Remote Method Overrides in Remote Objects
- 343 An Example of Using Remote Objects with jQuery Mobile
- 348 Best Practices for Using Remote Objects
- 350 Remote Objects Limits
- 351 Best Practices
- 351 Best Practices for Improving Visualforce Performance
- 352 Best Practices for Accessing Component IDs
- 355 Best Practices for Static Resources
- 356 Best Practices for Controllers and Controller Extensions
- 357 Best Practices for Using Component Facets
- 359 Best Practices for Page Block Components
- 359 Best Practices for Rendering PDF Files
- 360 Best Practices for <apex:panelbar>
- 361 Standard Component Reference
- 361 analytics:reportChart
- 363 apex:actionFunction
- 366 apex:actionPoller
- 367 apex:actionRegion
- 369 apex:actionStatus
- 372 apex:actionSupport
- 374 apex:areaSeries
- 376 apex:attribute
- 378 apex:axis
- 380 apex:barSeries
- 383 apex:canvasApp
- 386 apex:chart
- 388 apex:chartLabel
- 390 apex:chartTips
- 391 apex:column
- 396 apex:commandButton
- 399 apex:commandLink
- 402 apex:component
- 405 apex:componentBody
- 407 apex:composition
- 408 apex:dataList
- 411 apex:dataTable
- 418 apex:define
- 418 apex:detail
- 420 apex:dynamicComponent
- 421 apex:emailPublisher
- 423 apex:enhancedList
- 425 apex:facet
- 426 apex:flash
- 427 apex:form
- 431 apex:gaugeSeries
- 432 apex:iframe
- 433 apex:image
- 436 apex:include
- 437 apex:includeLightning
- 437 apex:includeScript
- 438 apex:inlineEditSupport
- 440 apex:input
- 443 apex:inputCheckbox
- 447 apex:inputField
- 451 apex:inputFile
- 453 apex:inputHidden
- 454 apex:inputSecret
- 457 apex:inputText
- 459 apex:inputTextarea
- 463 apex:insert
- 463 apex:legend
- 464 apex:lineSeries
- 467 apex:listViews
- 468 apex:logCallPublisher
- 469 apex:map
- 471 apex:mapInfoWindow
- 473 apex:mapMarker
- 474 apex:message
- 476 apex:messages
- 478 apex:milestoneTracker
- 479 apex:outputField
- 481 apex:outputLabel
- 483 apex:outputLink
- 486 apex:outputPanel
- 488 apex:outputText
- 490 apex:page
- 495 apex:pageBlock
- 498 apex:pageBlockButtons
- 500 apex:pageBlockSection
- 503 apex:pageBlockSectionItem
- 506 apex:pageBlockTable
- 511 apex:pageMessage
- 513 apex:pageMessages
- 514 apex:panelBar
- 516 apex:panelBarItem
- 518 apex:panelGrid
- 522 apex:panelGroup
- 523 apex:param
- 524 apex:pieSeries
- 526 apex:radarSeries
- 528 apex:relatedList
- 529 apex:remoteObjectField
- 530 apex:remoteObjectModel
- 531 apex:remoteObjects
- 531 apex:repeat
- 534 apex:scatterSeries
- 536 apex:scontrol
- 537 apex:sectionHeader
- 538 apex:selectCheckboxes
- 542 apex:selectList
- 546 apex:selectOption
- 548 apex:selectOptions
- 550 apex:selectRadio
- 554 apex:stylesheet
- 555 apex:tab
- 557 apex:tabPanel
- 561 apex:toolbar
- 564 apex:toolbarGroup
- 566 apex:variable
- 567 apex:vote
- 568 chatter:feed
- 569 chatter:feedWithFollowers
- 569 chatter:follow
- 570 chatter:followers
- 570 chatter:newsfeed
- 571 chatter:userPhotoUpload
- 571 chatteranswers:aboutme
- 572 chatteranswers:allfeeds
- 573 chatteranswers:changepassword
- 573 chatteranswers:datacategoryfilter
- 574 chatteranswers:feedfilter
- 574 chatteranswers:feeds
- 575 chatteranswers:forgotpassword
- 576 chatteranswers:forgotpasswordconfirm
- 576 chatteranswers:guestsignin
- 577 chatteranswers:help
- 577 chatteranswers:login
- 577 chatteranswers:registration
- 578 chatteranswers:searchask
- 579 chatteranswers:singleitemfeed
- 579 flow:interview
- 581 ideas:detailOutputLink
- 582 ideas:listOutputLink
- 583 ideas:profileListOutputLink
- 585 knowledge:articleCaseToolbar
- 586 knowledge:articleList
- 587 knowledge:articleRendererToolbar
- 588 knowledge:articleTypeList
- 589 knowledge:categoryList
- 589 liveAgent:clientChat
- 590 liveAgent:clientChatAlertMessage
- 591 liveAgent:clientChatCancelButton
- 591 liveAgent:clientChatEndButton
- 592 liveAgent:clientChatFileTransfer
- 593 liveAgent:clientChatInput
- 593 liveAgent:clientChatLog
- 594 liveAgent:clientChatLogAlertMessage
- 595 liveAgent:clientChatMessages
- 595 liveAgent:clientChatQueuePosition
- 596 liveAgent:clientChatSaveButton
- 596 liveAgent:clientChatSendButton
- 597 liveAgent:clientChatStatusMessage
- 597 messaging:attachment
- 599 messaging:emailHeader
- 600 messaging:emailTemplate
- 602 messaging:htmlEmailBody
- 604 messaging:plainTextEmailBody
- 605 site:googleAnalyticsTracking
- 606 site:previewAsAdmin
- 607 social:profileViewer
- 608 support:caseArticles
- 610 support:caseFeed
- 610 support:caseUnifiedFiles
- 611 support:clickToDial
- 612 support:portalPublisher
- 613 topics:widget
- 614 wave:dashboard
- 616 Appendices
- 616 Global Variables, Functions, and Expression Operators
- 616 Global Variables
- 618 $Action
- 618 Valid Values for the $Action Global Variable
- 626 $Api
- 626 $Cache.Session
- 627 $Component
- 628 $ComponentLabel
- 628 $CurrentPage
- 629 $FieldSet
- 629 $Label
- 629 $Label.Site
- 631 $Network
- 632 $ObjectType
- 633 Object Schema Details Available Using $ObjectType
- 634 Field Schema Details Available Using $ObjectType
- 637 $Organization
- 638 $Page
- 638 $Permission
- 639 $Profile
- 639 $Resource
- 640 $SControl
- 640 $Setup
- 641 $Site
- 643 $System.OriginDateTime
- 644 $User
- 644 $User.UITheme and $User.UIThemeDisplayed
- 645 $UserRole
- 645 Functions
- 658 Expression Operators
- 661 Security Tips for Apex and Visualforce Development
- 661 Cross Site Scripting (XSS)
- 663 Unescaped Output and Formulas in Visualforce Pages
- 664 Cross-Site Request Forgery (CSRF)
- 665 SOQL Injection
- 667 Data Access Control
- 668 Apex Classes Used in Visualforce Controllers
- 669 ApexPages Class
- 669 ApexPages Methods
- 669 addMessage(message)
- 670 addMessages(exceptionThrown)
- 670 currentPage()
- 671 getMessages()
- 671 hasMessages()
- 671 hasMessages(severity)
- 671 Action Class
- 673 Action Constructors
- 673 Action(action)
- 673 Action Methods
- 673 getExpression()
- 674 invoke()
- 674 Cookie Class
- 676 Cookie Constructors
- 676 Cookie(name, value, path, maxAge, isSecure)
- 677 Cookie Methods
- 677 getDomain()
- 677 getMaxAge()
- 678 getName()
- 678 getPath()
- 678 getValue()
- 678 isSecure()
- 679 IdeaStandardController Class
- 680 IdeaStandardController Methods
- 680 getCommentList()
- 681 IdeaStandardSetController Class
- 683 IdeaStandardSetController Methods
- 683 getIdeaList()
- 684 KnowledgeArticleVersionStandardController Class
- 686 KnowledgeArticleVersionStandardController Constructors
- 686 KnowledgeArticleVersionStandardController(article)
- 687 KnowledgeArticleVersionStandardController Methods
- 687 getSourceId()
- 687 setDataCategory(categoryGroup, category)
- 688 Message Class
- 689 Message Constructors
- 689 Message(severity, summary)
- 689 Message(severity, summary, detail)
- 690 Message(severity, summary, detail, id)
- 690 Message Methods
- 691 getComponentLabel()
- 691 getDetail()
- 691 getSeverity()
- 691 getSummary()
- 692 PageReference Class
- 695 PageReference Constructors
- 695 PageReference(partialURL)
- 695 PageReference(record)
- 696 PageReference Methods
- 696 getAnchor()
- 697 getContent()
- 697 getContentAsPDF()
- 698 getCookies()
- 698 getHeaders()
- 699 getParameters()
- 699 getRedirect()
- 699 getUrl()
- 700 setAnchor(anchor)
- 700 setCookies(cookies)
- 701 setRedirect(redirect)
- 701 SelectOption Class
- 703 SelectOption Constructors
- 703 SelectOption(value, label)
- 704 SelectOption(value, label, isDisabled)
- 704 SelectOption Methods
- 705 getDisabled()
- 705 getEscapeItem()
- 705 getLabel()
- 705 getValue()
- 706 setDisabled(isDisabled)
- 706 setEscapeItem(itemsEscaped)
- 707 setLabel(label)
- 707 setValue(value)
- 707 StandardController Class
- 708 StandardController Constructors
- 709 StandardController(controllerSObject)
- 709 StandardController Methods
- 710 addFields(fieldNames)
- 710 cancel()
- 710 delete()
- 711 edit()
- 711 getId()
- 711 getRecord()
- 712 reset()
- 712 save()
- 712 view()
- 713 StandardSetController Class
- 714 StandardSetController Constructors
- 714 StandardSetController(sObjectList)
- 715 StandardSetController(controllerSObjects)
- 715 StandardSetController Methods
- 716 cancel()
- 716 first()
- 717 getCompleteResult()
- 717 getFilterId()
- 717 getHasNext()
- 717 getHasPrevious()
- 718 getListViewOptions()
- 718 getPageNumber()
- 718 getPageSize()
- 718 getRecord()
- 719 getRecords()
- 719 getResultSize()
- 719 getSelected()
- 719 last()
- 720 next()
- 720 previous()
- 720 save()
- 720 setFilterID(filterId)
- 721 setpageNumber(pageNumber)
- 721 setPageSize(pageSize)
- 721 setSelected(selectedRecords)
- 723 Execution Governors and Limits
- 731 Glossary
- 740 Index
Frequently Answers and Questions
What is Visualforce?
Visualforce is a framework that allows you to create custom user interfaces for Salesforce applications.
Which editions support Visualforce?
The document does not explicitly state which editions support Visualforce. See Salesforce official documentation for details.
How is Visualforce architected?
The document explains some aspects of Visualforce architecture.
advertisement