O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Force.com Application Development

Book Description

Use the Force.com platform to design and develop real-world, cutting-edge cloud applications

In Detail

Starting with an introduction to the Force.com model, key features, and advantages of the Force.com platform, this book delves into the design and development of applications on the Force.com platform. Particular emphasis is given to building the data model and user interfaces of the Force.com application, designing the Force.com application for multiple users, and protecting data related to your application.

This book also covers the most important features of the Force.com platform such as preserving data quality with validation rules, automating the business process by using workflows and approval processes, data management operations and tools, reports and dashboards, e-mail service related features of the Force.com platform, and deploying a Force.com application. Through the course of the book, you will learn not only declarative (point-click) developments, but also programmatic developments such as building custom pages using Visualforce and custom coding using Apex. By the end of the book, you will have learned about the Force.com tools including the Force.com IDE and standard Visualforce components that are used to develop build Visualforce pages.

What You Will Learn

  • Design, develop, customize, and deploy applications on the Force.com platform
  • Build a data model and standard user interfaces on the Force.com platform
  • Develop Force.com applications for multiple users and protect your organization's data
  • Implement the application's business processes using Validation Rules, Approval Processes, and Workflows
  • Use Data Management operations and tools on the Force.com application
  • Make custom pages using Visualforce and custom controllers using Apex
  • Create reports, dashboards, and e-mail services on the Force.com platform
  • Construct Force.com sites that allow the application to be extended out into the broader population of users through the use of a public website
  • Employ the tools available on the Force.com platform

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Learning Force.com Application Development
    1. Table of Contents
    2. Learning Force.com Application Development
    3. Credits
    4. About the Author
    5. Acknowledgments
    6. About the Reviewers
    7. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
        3. Instant updates on new Packt books
    8. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    9. 1. Getting Started with Force.com
      1. Introduction to the Force.com platform
        1. Understanding the Force.com model
          1. Key features of the Force.com platform
            1. Multitenancy
            2. Application services
            3. Force.com metadata
            4. MVC architecture
            5. Programming language
              1. Apex
              2. Visualforce
              3. SOQL
              4. SOSL
            6. Integration
            7. Force.com sites
            8. AppExchange
        2. Advantages of Force.com
      2. Designing and developing applications on the Force.com platform
        1. Signing up for a free developer edition account
        2. Basic application design
          1. Types of applications suitable for Force.com
          2. Design consideration
        3. Customization on the Force.com platform
      3. Identifying building blocks of the Force.com platform
      4. The sample application
      5. Summary
    10. 2. Building the Data Model
      1. Creating objects
        1. Standard objects
        2. Custom objects
      2. Creating custom fields
        1. Text data types
        2. Numeric field data types
        3. Calendar data types
        4. Formatted text data types
        5. Calculation data types
        6. Limited option data types
        7. Relationship data types
          1. Special relationship types
          2. Creating a lookup relationship field
          3. Creating a master-detail relationship field
      3. Summary
    11. 3. Building the User Interface
      1. Creating a Force.com custom application
      2. Creating custom tabs
        1. Custom object tabs
        2. Visualforce tabs
        3. The Web tab
      3. Customizing page layouts
        1. Search layouts
        2. Page layouts
          1. The page layout editor
      4. An overview of Visualforce
        1. Advantages of Visualforce
      5. Summary
    12. 4. Designing Apps for Multiple Users and Protecting Data
      1. Design considerations
      2. An overview of Force.com licenses
      3. The security framework of the Force.com platform
        1. Organization security
          1. Password policies
          2. Activations
          3. Login access policies
          4. Certificate and key management
          5. Remote site settings
          6. Other organization security settings
        2. User security
        3. Network-based security
        4. Session security
        5. Administrative security
          1. Profiles and roles
            1. Creating a custom profile
            2. Assigning roles
          2. Administrative permissions and general user permissions
          3. Permission sets
          4. Groups
          5. Queues
        6. Component-based security
          1. Application permissions
          2. Tab permissions
          3. Record type permissions
          4. Apex class and Visualforce page permissions
          5. Object permissions
          6. Field-level security permissions
        7. Record-based security
          1. Record ownership
          2. Organization-wide defaults
          3. Record sharing
      4. Summary
    13. 5. Implementing Business Processes
      1. Preserving data quality with validation rules
        1. Defining validation rules
        2. Considerations and tips for writing validation rules
      2. Automating the business process using workflows
        1. Creating workflow rules
        2. Time-dependent actions and time trigger considerations
      3. Automating the business process using approval processes
        1. Creating a multistep approval process
        2. Approval process considerations
        3. Comparing workflow and approval processes
      4. Summary
    14. 6. Data Management on the Force.com Platform
      1. Data management operations
        1. The CRUD commands
        2. The Upsert command
      2. Force.com record IDs
        1. Characteristics of record IDs
        2. Inserting system fields
        3. External IDs
      3. Data management tools
        1. Cloud-based tools
        2. The data import wizard
          1. Data export
          2. Mass transfer records
          3. Mass delete records
        3. API-based tools
          1. Apex Data Loader
            1. Exporting data using Data Loader
            2. Upserting data using Data Loader
      4. Summary
    15. 7. Custom Coding with Apex
      1. Introducing Apex
        1. Apex code in the runtime environment
        2. Apex code and unit testing
        3. Apex governors and limits
        4. Apex code and security
        5. Apex code and web services
        6. Apex and metadata
      2. Working with Apex
        1. Apex basics
          1. Apex data types
            1. Primitive data types
            2. Enum data types
            3. sObject data types
            4. Collection data types
          2. Apex logics and loops
      3. Writing Apex code – object-oriented programming in Apex
        1. Creating Apex code
        2. Syntax to define classes
        3. Syntax to define interfaces
        4. Syntax for attributes and methods
          1. Access modifiers
          2. The static keyword
          3. The final keyword
          4. Class constructors
      4. Triggers
        1. Trigger syntax
        2. Trigger context variables
        3. Triggers and the order of execution
        4. Exceptions in triggers
        5. Creating triggers
          1. Trigger considerations
      5. Force.com platform query languages
        1. Salesforce.com Object Query Language (SOQL)
          1. SOQL basic syntax
            1. SOQL keywords
            2. SOQL functions
          2. SOQL relationship queries
        2. Salesforce.com Object Search Language (SOSL)
        3. Dynamic SOQL and SOSL
      6. Data manipulation on the Force.com platform
        1. Standalone statements
        2. Database methods
          1. SaveResult
          2. Database.DMLOptions
        3. DML and Loops
        4. Apex SOQL and DML governor limits
        5. Data integrity and transactions
      7. Summary
    16. 8. Building Custom Pages with Visualforce
      1. Introducing Visualforce
      2. The concepts of Visualforce
        1. The Visualforce architecture
        2. Visualforce pages
          1. Expression syntax and data binding
          2. Visualforce and standard web development technologies
            1. Styling Visualforce pages
              1. Salesforce styles
              2. Custom styles
            2. Using JavaScript in Visualforce pages
              1. Accessing Visualforce components with JavaScript
              2. JavaScript remoting for Apex controllers
            3. Using jQuery in Visualforce pages
            4. HTML5 and Visualforce pages
        3. Visualforce controllers
          1. Standard controllers
            1. Standard controller – data bindings
            2. Standard controller – traversing data
            3. Standard controller – data validation messages
            4. Standard controller – actions
          2. Standard list controllers
            1. Standard list controller – actions
          3. Custom controllers
            1. Controller methods
              1. Getter methods
              2. Setter methods
              3. Action methods
              4. Navigation methods
          4. Controller extensions
          5. Considerations to create custom controllers and controller extensions
      3. The order of execution of a Visualforce page
        1. Get requests of a Visualforce page
        2. Postback requests of a Visualforce page
      4. Visualforce custom components
        1. Creating and using a custom component
        2. Custom attributes and custom controllers
      5. Advantages of Visualforce
      6. Summary
    17. 9. Analytics as a Service with the Force.com Platform
      1. Reports
        1. Report formats
          1. Tabular reports
          2. Summary reports
          3. Matrix reports
          4. Joined reports
        2. Building a report
      2. Custom report types
      3. Dashboards
        1. Building a dashboard
      4. Reporting snapshot
        1. Setting up a reporting snapshots
      5. Summary
    18. 10. E-mail Services with the Force.com Platform
      1. Handling inbound e-mails
        1. Implementing the InboundEmailHandler interface
        2. Setting up the e-mail service
      2. Sending e-mails
        1. Sending a single e-mail
        2. Sending mass e-mails
        3. Sending e-mails with attachments
      3. Visualforce e-mail templates
      4. Summary
    19. 11. Building Public Websites with Force.com Sites
      1. Force.com sites
      2. Creating and customizing your first Force.com site
        1. Registering a domain name
        2. Creating a Force.com site using the domain name
        3. Assigning Visualforce pages to the site
        4. Setting up the security access permissions
          1. Public Access Settings
          2. Login settings
      3. Best practices on Force.com sites
      4. Summary
    20. 12. Deploying the Force.com Application
      1. Application development methodology and architecture
      2. Migrating configuration changes
      3. Sandboxes
        1. Change set
          1. Setting up deployment connections
          2. Best practices
      4. Packages
        1. Managed packages
        2. Unmanaged packages
        3. Creating a package
        4. Uploading the package
      5. Simple deployment with the Force.com IDE
      6. Distributing Force.com applications onto AppExchange
      7. Summary
    21. A. Force.com Tools
      1. Development tools
      2. Data tools
      3. Cloud integration tools
      4. Language integration libraries
      5. Salesforce platform mobile services
      6. Summary
    22. Index