1.
Salesforce Basics
1.1 Introduction to Salesforce
● What is Salesforce?
● Types of Clouds: Sales Cloud, Service Cloud, Marketing Cloud, Community Cloud,
Commerce Cloud.
● Salesforce Editions: Developer, Enterprise, Professional, and Unlimited Editions.
● Multi-Tenant Architecture: Benefits and limitations.
● Salesforce Object Model: Standard Objects vs. Custom Objects.
1.2 Salesforce User Interface
● Salesforce Lightning Experience: Differences between Classic and Lightning.
● App Builder: How to create custom apps and pages.
● Page Layouts: Customizing page layouts for objects.
● Lightning App Builder: Creating custom pages for apps.
● Record Types: Differentiating views based on user profiles.
2. Salesforce Data Model
2.1 Objects and Fields
● Standard Objects: Account, Contact, Opportunity, Case, Lead, etc.
● Custom Objects: Creating and managing custom objects.
● Fields: Field types, Field-level security, Formula fields, Picklist fields.
● Relationships in Salesforce: Lookup, Master-Detail, Many-to-Many relationships
(Junction Objects).
2.2 Schema Builder
● Visualizing the data model.
● Creating and modifying objects and relationships.
3. Salesforce Data Management
3.1 Data Security and Sharing
● Profiles and Permission Sets: Controlling access to records and fields.
● Role Hierarchy: Granting access based on user roles.
● Sharing Rules: Automating record sharing with groups, roles, etc.
● Org-wide Defaults (OWD): Setting the default record access level.
● Field-Level Security: Hiding or showing fields to specific profiles.
3.2 Data Import and Export
● Data Loader: Importing, updating, deleting, and exporting data.
● Data Import Wizard: Simpler tool for importing data.
● External Data Sources: Connecting to external databases.
4. Apex (Server-Side Programming)
4.1 Introduction to Apex
● What is Apex?: Language for server-side logic in Salesforce.
● Apex Syntax: Variables, methods, and classes.
● Governor Limits: SOQL queries, DML operations, CPU time, etc.
4.2 Apex Triggers
● What are Triggers?: Running logic on record creation, update, or deletion.
● Trigger Events: Before insert, after insert, before update, after update, before delete,
after delete.
● Bulkification: Handling multiple records in one transaction to avoid governor limits.
● Trigger Context Variables: Understanding [Link], [Link],
[Link], etc.
4.3 Apex Classes and Methods
● Custom Apex Classes: Writing reusable code.
● Public vs. Private Methods: Encapsulation and access control.
● Test Classes: Writing test cases to ensure code coverage and performance.
● Asynchronous Apex: Using @future, Queueable, Batch Apex, and Scheduled
Apex for long-running operations.
5. Lightning Web Components (LWC)
5.1 Introduction to LWC
● What is LWC?: A modern framework built on web standards (HTML, CSS, JavaScript).
● LWC Architecture: Component structure, shadow DOM, and reactive properties.
● Creating LWC Components: Basic HTML structure, CSS styling, and JavaScript logic.
5.2 LWC Communication
● Parent-Child Communication: Using @api and @track for data binding.
● Custom Events: Using CustomEvent to communicate between components.
● Lightning Data Service: Interacting with Salesforce data in LWC without using Apex.
5.3 Advanced LWC Topics
● Wire Service: Using the @wire decorator for reactive data loading from Apex methods.
● Imperative Calls: Making Apex calls from LWC when more control is required.
● Dynamic Components: Dynamically loading components with
lightning/dynamicPage.
6. Visualforce (Legacy UI Framework)
6.1 What is Visualforce?
● Visualforce Pages: Creating custom UIs with HTML and Apex controllers.
● Apex Controllers: Using Apex to handle logic behind Visualforce pages.
6.2 Visualforce Markup
● Visualforce Components: Standard and custom components.
● Visualforce Pages: Using HTML, CSS, and Salesforce data in Visualforce.
6.3 Visualforce vs. LWC
● When to use Visualforce: Complex legacy use cases, integrations, or when Lightning
Components are not feasible.
● Visualforce limitations: Performance issues and maintenance complexity compared to
LWC.
7. Integration
7.1 Salesforce APIs
● REST API: Basic and advanced concepts, using RESTful services.
● SOAP API: Working with XML-based web services.
● Bulk API: Handling large volumes of data in asynchronous mode.
● Streaming API: Real-time data updates using push notifications.
7.2 External Services
● External Data Sources: Integrating Salesforce with external systems (using Apex,
REST/SOAP).
● Named Credentials: Securely storing external system credentials.
● Platform Events: Using event-driven architecture for real-time communication.
7.3 Middleware
● MuleSoft: Using MuleSoft for integration.
● Third-party tools: Integrating Salesforce with third-party systems like SAP, Oracle, etc.
8. Security and Sharing
8.1 Security Models
● Profiles and Permission Sets: Configuring access to Salesforce resources.
● Sharing Rules: Automating record sharing across teams.
● Field-Level Security: Limiting access to sensitive data fields.
8.2 Authentication
● Single Sign-On (SSO): Configuring login mechanisms for external systems.
● OAuth Authentication: Implementing OAuth for secure API access.
9. Deployment and Continuous Integration
9.1 Deployment Strategies
● Change Sets: Deploying metadata between Salesforce environments.
● Salesforce DX: Using Developer Experience tools for version control, continuous
integration, and deployment.
9.2 CI/CD Tools
● Jenkins, GitHub, and GitLab: Automating Salesforce deployments using version
control and CI/CD pipelines.
9.3 Sandboxes and Environments
● Types of Sandboxes: Developer, Developer Pro, Partial Copy, Full Sandbox.
● Deployment Tools: ANT Migration Tool, SFDX CLI.
10. Advanced Salesforce Topics
10.1 Asynchronous Apex
● Queueable Apex: Performing complex jobs in the background.
● Batch Apex: Processing large volumes of records in batches.
● Scheduled Apex: Running scheduled tasks at defined times.
10.2 Custom Metadata Types
● Storing configuration data in a custom format.
● Benefits of Custom Metadata Types over Custom Settings.
10.3 Platform Events
● Event-driven architecture: Handling real-time messaging and asynchronous
communication.
10.4 Custom Lightning Web Components
● Custom Lighting Web Components (LWCs): Creating reusable custom components
for Salesforce UIs.
● Data Binding in LWC: Reactive programming using @track, @api, and the wire
service.
● Shadow DOM in LWC: Isolation of styles and behavior in LWC components.
11. Best Practices
11.1 Apex Best Practices
● Avoiding hard-coded values (use Custom Settings/Metadata).
● Efficient use of SOQL and DML to avoid hitting governor limits.
● Bulkify triggers to handle large volumes of data.
11.2 Lightning Best Practices
● Using Lightning Design System (LDS) for UI consistency.
● Optimizing performance by avoiding unnecessary re-renders in LWCs.
11.3 Testing and Code Coverage
● Writing Test Classes for Apex.
● Ensuring 70% code coverage for deployment.
● Testing with mock data and using @isTest annotations for test classes.