Are you a programmer who wants to understand how to customize applications programmatically on the Salesforce platform? In this course, you will learn the core of the Apex programming language and Visualforce markup in order to customize your Salesforce applications. You will get hands-on experience building data objects (sObjects) and programmatically retrieving, manipulating, and storing the data associated with those objects. You will write custom logic using Apex triggers and classes, and test that logic using the built-in testing framework.
You will explore how Apex code interacts with declarative customizations on the platform, and the nuances of working on a multi-tenant platform. You’ll then examine common techniques for designing solutions in Apex. These activities will culminate in an exercise building a complex trigger that takes advantage of the declarative aspects of the platform. You will get hands-on experience writing Visualforce pages to customize your user interface and Visualforce controllers (in Apex) to modify the controller behavior behind the interface. You’ll also explore design techniques and the built-in testing framework around Visualforce.
Who should take this course?
This course is designed for programmatic developers who are new to the Salesforce platform, who need to be able to write programmatic customizations to both the business logic and user interface layers using Apex and Visualforce.
The prerequisites include a solid understanding of basic Salesforce concepts and functionality and:
- 1 year programming in Java (or another object-oriented programming language)
- Basic data modeling for relational databases
- Basic SQL
- Basic HTML
Please note: In order to provision you with your courseware and lab access for this course QA must share several items of basic personal information with our partner (usually your full name and email address). For more information on this please visit our QA Partner data sharing page. If you have any questions or concerns please contact your QA account manager.
- Create and modify objects using the declarative interface
- Write business logic customizations using Apex triggers and classes. Those customizations will use SOQL and DML.
- Design programmatic solutions that take advantage of declarative customizations
- Describe how your trigger code works within the basics of the Save Order of Execution
- Describe some of the fundamental aspects of designingprograms on a multi-tenant platform
- Write Visualforce markup and code to customize the user interface
- Use the built-in testing framework to test Apex and Visualforces
Objects and Fields
- Describe the capabilities of objects on the Salesforce platform
- Create a custom object
- Create custom fields
- Create relationship fields
Work Effectively with Custom Objects and Fields
- Create formula fields
- Create roll-up summary fields
- Describe the capabilities of record types
Programming with Apex
- Describe key aspects of Apex that differentiate it from other languages, such as Java and C#
- Describe why Apex transactions and governor limits must be considered when writing Apex
- Execute simple Apex
- Use the sObject data type, the primitive data types, and basic control statements in Apex
Use SOQL to Query Your Org’s Data
- Write a basic query using Salesforce’s query language, SOQL
- Process the result of a query in Apex
- Create a query dynamically at run-time
Use SOQL to Query Parent-Child Relationships
- Describe a relationship query
- Write a query that traverses a child-to-parent relationship
- Write a query that traverses a parent-to-child relationship
- List the differences between the ways you can invoke DML operations
- Write Apex to invoke DML operations and handle DML errors
- Describe what a trigger is used for
- Describe the syntax of a trigger definition
- Use trigger context variables
- Describe how Apex classes are used
- Define an Apex class
- Determine what data an Apex class can access
The Save Order of Execution and Apex Transactions
- Describe key points in the Order of Execution
- Describe how triggers fit into and can be impacted by the Order of Execution
- Describe the lifecycle of an Apex Transaction
- Describe the memory lifecycle for static variables
- Describe Apex’s testing framework
- Create test data
- Write and run an Apex test
- Describe practices for writing code that is easy to maintain and extend
- Write triggers and classes that assume batches of data as input
- Write code that works efficiently with the database, both in querying and using DML
Strategies for Designing Efficient Apex Solutions
- Determine your code coverage percentages
- Create tests using best practices
Trigger Design Strategies
- List declarative mechanisms you can use to implement complex business logic, for what types of problems they are best used, and their limitations
- Describe ways in which you can use declarative functionality to improve your programmatic solutions
Creating Visualforce Pages
- Create a Visualforce page
- Reference a standard controller
- Launch a Visualforce page using a custom button
- Display data from a record in a Visualforce page
Exploring the View and Controller Layers of Visualforce
- Create a Visualforce page
- Display related data
- Invoke standard controller actions
Working with Custom Controllers and Controller Extensions
- Create controller extensions
- Create a custom controller
- Work with properties
- Use PageReferences
- Invoke custom methods in Visualforce pages
Working with List Controllers and SOSL Queries
- Use a standard list controller in a Visualforce page
- Create a SOSL query
- Create a custom list controller
Visualforce Development Considerations
- Determine whether a declarative solution exists for your requirements
- Describe common governor limit issues and security concerns
- Describe Visualforce strategies
Testing Visualforce Controllers
- Describe how a Visualforce controller interacts with the view
- Write tests for controller constructors
- Write tests for action methods, getters, setters, and properties
Frequently asked questionsSee all of our FAQs
How can I create an account on myQA.com?
There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.
If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".
If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.
Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.
How do QA’s virtual classroom courses work?
Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.
We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.
Learn more about our Virtual Classrooms.
How do QA’s online courses work?
QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.
All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.
Learn more about QA’s online courses.
When will I receive my joining instructions?
Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.
When will I receive my certificate?
Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.