Navigation

Tuesday, June 4, 2024

 

Salesforce Developer Training Course

Day 1: Salesforce Overview

 

What is Salesforce?
Uses of Salesforce
Why is Salesforce So Popular?
Salesforce Platform Services
What is Salesforce Cloud?
Easy-to-Use Salesforce Implementation
Explicit Salesforce Architecture
Salesforce Certification
Salesforce Database & Structure

 

Day 2: Data Model

 

Sales Objects
Task and Event Objects
Service Cloud Objects
Document, Note, and Attachment Objects
User, Sharing, and Permission Objects
Profile and Permission Objects
Record Type Objects

 

Day 3: Add Business Logic


Add a Formula Field
Add a Validation Rule
Create Flow Using Flow Builder
Build a Salesforce App


Day 4: Apex Introduction


What is Apex?
When Should Developer Choose Apex
Working Structure of Apex
Apex Syntax
Apex Development Environment
Data Type in Apex
Apex Access Specifier
Keywords in Apex
Apex String
Control Flow Statments  
Classes, Objects and Interfaces
Apex References - Data types

 

Day 5: Salesforce Object Query Language (SOQL)


Typographical Conventions in this Document
SOQL SELECT Syntax
SOQL SELECT Example
SOQL SELECT Functions
Relationship Queries
SOQL Limits on objects


Day 6: Salesforce Object Search Language (SOSL)


Typographical Conventions in this Document
SOSL Limits on Search Results & External Objects Search results
SOSL Syntax
Example Text Searches

 

 Day 7: Dynamic Apex


Introduction
Uding Field Toekn
Schema Method - sObjects,Tabs
Dynamic SOQL
Dynamic SOSL
Dynamic DML

 

 Day 8: Apex Triggers


What are Triggers in Salesforce?
Writing Apex Triggers
What are Context Variables in Triggers?
Using Trigger Exceptions
Triggers in Salesforce Vs Workflows in Salesforce

 

 Day 9: Asynchronous Apex 


Batch Apex 
Scheduled Apex 
Queueable Apex
Future Methods
Triggers in Salesforce Vs Workflows in Salesforce

 

Day 10: API


Understanding API     
Use Cases for API
REST API
SOAP API
Connect REST API
User Interface API
Analytics REST API
Bulk API
Metadata API
Pub/Sub API
Apex REST API
Apex SOAP API
Tooling API
GraphQL API

 

Day 11: Debugging and Exception Handling


Basics  
Developer Console   
Debug Log 
System Defined Exceptions and Types
Custom or User Defined Exceptions

 

Day 12: Apex Testing


Understanding Testing in Apex
What to Test in Apex
What is Apex Unit Tests?
Understanding Test Data
Run Unit Test Methods
Testing Best Practices
Testing Example
Testing and Code Coverage
Code Coverage Best Practices
Build a Mocking Framework with the Stub API

 

Day 13: Vasualforce Page


Creating a Visualforce Page
Editing a Visualforce Page
Using Page Block and Page Block Section
Creating Standard List Controller
Adding Records using Standard Controller
Use of Visualforce in Lightning Experience
Develop Visualforce Pages for Lightning Experience
Explore the Visualforce App Container
Share Visualforce Pages between Classic and Lightning Experience
Manage Navigation
Understand Important Visual Design Considerations


Day 14: Lightning Aura Components


Introducing Aura Components
Quick Start
Creating Components
Using Components
Communicating with Events
Communicating Across the DOM with Lightning Message Service
Creating Apps
Styling Apps
Developing Secure Code
Using JavaScript
Working with Salesforce Data
Testing Components
Debugging
Performance

 



Day 15: Lightning Web Components


Introducing Lightning Web Components
Discussion about the Lightning Component Bundle
Create Lightning Web Components
Communicate with Events
Work with Salesforce Data
Develop Secure Code
Use Components in Salesforce Targets
Use Components Outside Salesforce with Lightning Out
Aura Coexistence
Migrate Aura Components
Debug Lightning Web Components
Test Lightning Web Components
Improve Performance

 

Day 16: Apex Deployment 

 

Salesforce Sandbox 
Change Sets
First Generation Packaging 
DevOps Centre
Third-Party Release Management Tools
Salesforce CLI  (SF) 
ANT Migration Tool


Day 17: Packages 
   

Understanding Packages
First Generation Packages
Second Generation Packages     


Authentication Flow





Additional Reference Documents (Trailmixes).

Dev - Day 1 (Salesforce Overview)

Dev - Day 2 (Data Model)

Dev - Day 3 (Add Business Logic)

Dev - Day 4 (Apex Introduction)

Dev - Day 5 (Salesforce Object Query Language (SOQL))

Dev - Day 6 (Salesforce Object Search Language (SOSL))

Dev - Day 7 (Dynamic Apex)


Dev - Day 9 (Asynchronous Apex)

Dev - Day 10 (API)



Dev - Day 13 (Visualforce Page)

Dev - Day 14 (Lightning Aura Components)

Dev - Day 15 (Lightning Web Components)

Dev - Day 16 (Deployment)

Dev - Day 17 (Packages)

Dev - Day 18 (Sample LWC Projects)


Additional Modules


Developer Beginner 


Developer Intermediate


Developer Advance 


Development Best Practices 


Platform Developer 1 Exam Preparation


Platform Developer II Exam Preparation


Trailhead GitHub



Documents from Salesforce 




LWC Component Reference

SOQL and SOSL Reference Guide

SF Commands Reference Guide

 





Sunday, October 18, 2020

Service Cloud Administration in Lightning Experience (ADX261)


Service Cloud Administration in Lightning Experience (ADX261) 

List of Topics to be covered in this Series:
  • Setup the case management process automating the support process with queues, assignment/escalation rules, and Process Builder
  • Configure Salesforce knowledge to help you manage the creation, publication, and maintenance of knowledge articles
  • Enable entitlements to set up service contracts
  • Setup the Salesforce Service Console app and to help your support reps work more efficiently
  • Understand the capabilities of the Softphone Utility in the Lightning Console
  • Configure online chat with customers using Web Chats
  • Understand and set up Communities

Lessons and Topics

Case Escalations and Entitlements

  • Create processes to streamline a support team’s workflow and case management.
  • Customize fields, page layouts and record types for different kinds of support cases.
  • Define picklist values for each new record type.
  • Create case assignment rules, queues and escalation rules to push cases to the appropriate support team at the appropriate time.
  • Create and manage entitlements to customize the level of support for each customer.

Salesforce Knowledge

  • Enable Lightning Knowledge and assign appropriate user licenses.
  • Customize page layouts and record types to support knowledge article management.
  • Customize access to, permissions for, and visibility of knowledge tools and processes.
  • Create and manage articles to ensure quality of information.
  • Manage and close cases more efficiently using knowledge articles.


Lightning Service Console

  • Create your own Service Console app.
  • Customize the Lightning Console pages.
  • Add Utilities to your Console.
  • Enable and utilize Chat (formerly Live Agent).
  • Optimize the use of Omni-Channel.


Salesforce Self-Service Communities

  • Enable communities in your Salesforce org.
  • Create a permission set for effective administration of communities.
  • Customize the look and layout of the community.
  • Add the Reputation component to the community.





 





Thursday, August 20, 2020

Automatically share child records using Process Builder and Visual Flow

 


This blog post demonstrates how to automatically share custom child record(s) with a user using Process Builder and Visual Flow. 


Problem

Out-of-the-box Salesforce functionality doesn’t allow child records to be automatically shared when a user accesses its parent record. Without additional custom functionality, child records need to be manually shared with users which would be very time-consuming.


Use Case

A company has one or more child companies (distributors). When a user accesses a parent company record they also want access to its child company records (distributors).


Solution

Process Builder and Visual Flow can be utilized to automatically share child records when a user accesses the parent record.  


Custom object Company contains a self-lookup Distributor which enables a parent/child relationship between a Company parent record and one or more child Company (Distributor) records. 


Custom object Company Sharing is related to Company via a master-detail relationship and stores sharing information. 



To implement our solution, we will carry out the following tasks:


  1. Create custom objects.

  2. Create Visual Flow Share Company & Distributor Record to User.

  3. Create Process Builder Company Share - On Create & Update.


1. Create Custom Objects


1.1 Create a custom object Company to store company information.


Object Name

API Name

Singular  Label

Plural Label

Data Type

Company

Company__c

Company

Companies

Text



1.2 Add the following fields:


Field Name

API Name

Data Type

Company Name

Name

Text

Address

Address__c

Text Area

City

City__c

Text

Country

Country__c

Text

Distributor

Distributor__c

Lookup(Company)

Email

Email__c

Email

Phone

Phone__c

Phone

Postal Code

Postal_Code__c

Text

State

State__c

Text




1.3 Create a custom self-lookup field Distributor on the Company object to store all the child Distributor records. 



Field Name

API Name

Data Type

Description

Distributor

Distributor__c

Lookup

Store child Company record



1.4 Create a custom object Company Sharing to store sharing information.


Object Name

API Name

Singular  Label

Plural Label

Data Type

Company Sharing

Company_Sharing__c

Company Sharing

Company Sharing

Text



Image of object here ->


1.5 Add the following fields to Company Sharing.


Field Name

API Name

Data Type

Access Level

Access_Level__c

Picklist

Company

Company__c

Master-Detail

Company Share ID

Company_Share_ID__c

Auto Number

User

User

Lookup(User)


Image of object here ->


2. Create Visual Flow Share Company & Distributor Record to User


Visual flow Share Company & Distributor Record to User transfers ownership of Company and Distributor record to the user when a Company record is created or updated.



2.1 Start Button default it will appear.

2.2 Create a userId input variable and check the Available for input.


2.3 Create CompanyId variable and check the Available for input


2.4 Create AccessType variable and check the Available for input



2.5 Select Decision element from left side panel if company id not equal to null 


 →   Toolbox →  Element →  Logic →  Decision








2.6 Select Create Record element from left side panel to Share the Company Record to User create the Share: Company object record.


 →  Toolbox →  Element →  Data →  Create Record



2.7 Select Get Records element from the left-side panel to get the list of Distributor record  equal to companyId from the Company object.

 

 →  Toolbox →  Element →  Data →  Create Record




2.8 Select Loop element from the left-side panel to iterate the Distributor record  from the List of Distributors.


 →  Toolbox →  Element →  Logic →  Loop


 →  Create SingleDistributor record variable to store Company record.



2.9 Select Assignment element from the left-side panel to assign the Company Share record to value to Create Company Share Record.


→ Toolbox →  Element- →  Logic →  Assignment






→  Create SingleCompanyShareRecord record variable to store Share: Company record.



2.10 Select Assignment element from the left-side panel to assign the SingleCompanyShareRecord to CollectionCompanyShare variable.


→ Toolbox →  Element →  Logic →  Assignment




→  Create CollectionCompanyShare record variable. 



2.11: Select the Create Record element from the left-side panel to create the bulk of Company Share records using this variable CollectionCompanyShare.





3. Create Process Builder Company Share - On Create & Update


3.1 Create Process builder Company Share - On Create & Update which runs each time a Company Sharing is created or updated. 


→ Select Company Share object

→ When a record is created or edited



3.2  Criteria is defined as: When a Company Sharing record is created or when fields Company__c, User__c and Access_Level__c are changed. 


The criteria is defined by using the following formula:


OR(ISNEW(),
ISCHANGED([Company_Sharing__c].Company__c ),
ISCHANGED([Company_Sharing__c].User__c),
ISCHANGED([Company_Sharing__c].Access_Level__c ))



Step 3:  When the criteria is met, Visual Flow Share Company & Distributor Record to User is called using the following variables:

 

CompanyID  →  Field Reference [Company_Sharing__c].Company__c

UserId          →  Field Reference [Company_Sharing__c].User__c

AccessType →  Field Reference [Company_Sharing__c].Access_Level__c




Conclusion

In our example, Process Builder and Visual Flow creates and updates the Company Sharing object to enable Company and Distributor records to be automatically shared with users, therefore removing the need for records to be manually shared.



When a new Company Sharing record is created, users automatically gain access to all the Distributor records.



This solution satisfies the Use Case by providing a practical way to automatically share child records with users. It demonstrates how Process Builder and Visual Flow can be utilised to create an elegant and powerful solution to manage record sharing.