Things To Understand in Sales Force As A Full Stack Dev

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Basic Things to Understand about

Salesforce when you are coming from Non-


CRM or Full Stack Developer Background?
Note: All graphical content presented in this document referred from respective help links which helped me in understanding concepts.

What is salesforce?
When I have started to learn about salesforce only thing I know it is CRM system.

Lets walk through with me to know my understanding about salesforce being full stack developer
who has no hands on experience with CRM system before.

What is CRM?

As per official Salesforce website

“What is Salesforce?

Salesforce is a customer relationship management solution that brings companies and customers
together. It's one integrated CRM platform that gives all your departments — including marketing,
sales, commerce, and service — a single, shared view of every customer.
When you review further you will come across new words like “Accounts/Opportunities/ Cases/
Applications …etc “

What are those?

Standard Objects
In Full stack developer world language
You can relate following topics with Database World

As you are aware ,we have primary key, Foreign key & Unique Key concepts in DBMS world.you
can relate some of the concepts here.
Need to understand about Record Types & Profile as it is frequent
concept to use in salesforce

Page Layouts & Record Types are such a commonly used feature within Salesforce, it’s good to
get a grasp on how to best utilize them

“Page layouts control the layout and organization of buttons, fields, s-controls, Visualforce,
custom links, and related lists on object record pages. They also help determine which fields are
visible, read only, and required. Use page layouts to customize the content of record pages for
your users.” – Salesforce

“Record types let you offer different business processes, picklist values, and page layouts to
different users. You might create record types to differentiate your regular sales deals from your
professional services engagements, offering different picklist values for each.” – Salesforce

https://www.salesforceben.com/when-to-use-record-types-vs-page-layouts/
And you will get to hear one more new word
“ Multi-tenant architecture “

“Multi-tenant systems place the data from multiple companies (org in Salesforce) on the same server,
generally separating them from each other via a simple partition that prevents the data from
migrating from one company to another.

There are various benefits of multi-tenancy including cost savings, no upgrades headache for the
client (and faster and smoother upgrade for vendor), flexibility, scalability, high performance, low
operational costs etc. Salesforce.com is based on multi-tenant architecture and it works pretty well.”

Help Link :
http://www.developerforce.com/media/ForcedotcomBookLibrary/Force.com_Multitenancy_WP_101
508.pdf
What you can do in salesforce ?

1. As per understanding, you should know how to avoid coding in salesforce.


(Understand Salesforce fundamentals/Admin Part)

It is best practice to understand existing functionalities provided by salesforce before writing any
code.

2. You can install existing packages from AppExchange to achieve required functionality.

3.If your requirement demands different functionality which is not supported effectively by SF inbuilt
functionalities then you can write a code and salesforce has flexibility to support programming.
In general, we have to provide options to automate standard actions based on some actions or
events or time schedule events
As a full stack developer I hope you are aware of scheduling process with azure functions or data
base trigger or Based on some UI Action.

Salesforce has different tools to support automation process for different criteria’s

Good Article to understand differences

https://www.salesforceben.com/process-builder-vs-flows-become-the-ultimate-admin/

Workflow:

Workflow enables you to set up workflow rules. A workflow rule identifies what kinds of record
changes or additions trigger specified workflow actions, such as sending email alerts and updating
record fields.

Workflow rules and actions are associated with a specific object (and can cross objects only to update
fields on a related master record).

Visual Workflow:

Visual Workflow enables you to create flows, which are triggered by users rather than events. Unlike
Workflow, which always executes rules and actions behind the scenes, Visual Workflow offers screens
for displaying and collecting information from the user running the flow.

Flows aren’t tied to any one object. They can look up, create, update, and delete records for multiple
objects.
Process Builder:

The Process Builder’s simple and powerful design allows you to: Create your processes using a
convenient layout with point-and-click efficiency.

• Create your whole process in one place rather than using multiple workflow rules.
• Create processes by collaborating with different teams in your business.
• Stop using Apex code to automate simple tasks.

DATA LOADING:

In salesforce you can load records with help of different tools.

Data Import Wizard && Apex Data Loader


Query Languages

SOQL & SOSL


You can create query at runtime like SQL queries
SOSL:
Search from Multiple objects

You can execute queries in developer console→anonymous window


Lets come to coding 😊 😊

So far we have discussed about different concepts/tools in salesforce


to achieve required functionality

As a full stack developer if you love to code then salesforce providing


programming to achieve same functionalities

APEX:
It supports collections /loops /if-else conditions like OOP
APEX Triggers :

As I have mentioned earlier automatic process can be taken by in


built functionalities like Process Builder/Workflow /flows.

With the help of APEX Triggers we can trigger specific actions based
on different actions

We can use Before Update /Before Insert /After Update /After Insert
/Before Delete /After Delete scenario to do different actions.

trigger TriggerName on ObjectName (trigger_events) {


code_block
}

https://trailhead.salesforce.com/en/content/learn/modules/apex_triggers/apex_triggers_intro

it is easy to understand these concepts if you have worked on Databased triggers in Full stack web
developer world.
VISUAL FORCE Pages :

If you are fan of Front-end coding by using Html/css/JavaScript then


you are at right place.

If you have some hands on experience on Salesforce UI,then as a


front end developer may be you will feel to customize the pages
based on different themes or you want to add different color for
buttons, this is the right place to achieve that .

“Visualforce is a markup language that allows you to describe the user


interface components that live on your Force.com .Visualforce is the
component-based user interface framework for the Force.com platform. The
framework includes a tag-based markup language; similar to
HTML.Visualforce is used for building various attractive and dynamic
applications.Visualforce lives on the server. So any code you write will be
generated and run on the server”
There are two elements in visualforce page.

• Visualforce markup
• A Visualforce controller

Visualforce Markup
Visualforce markup consists of Visualforce tags, HTML, JavaScript,
jQuery, CSS, and Ajax or any other Web-enabled code embedded
within a single tag, Visualforce is salesforce custom markup language
and represents the view in a Model-View-Controller software design
pattern.

Read: VisualForce Component: Type of VisualForce Component in


Salesforce
Controller: the Visualforce controller is an element in Visualforce
pages which set to manipulate data with user interactions. Visualforce
controllers are of three types they are

1. Standard controllers.
2. Custom Controllers.
3. Extension controllers.
<apex:page standardController="Opportunity" recordSetVar="opportunities"
tabStyle="Opportunity" sidebar="false">

<apex:form >

<apex:pageBlock >

<apex:pageMessages />

<apex:pageBlock >

<apex:panelGrid columns="2">

<apex:outputLabel value="View:"/>

<apex:selectList value="{!filterId}" size="1">

<apex:actionSupport event="onchange" rerender="opp_table"/>

<apex:selectOptions value="{!listviewoptions}"/>

</apex:selectList>

</apex:panelGrid>

</apex:pageBlock>

<apex:pageBlockButtons >

<apex:commandButton value="Save" action="{!save}"/>

</apex:pageBlockButtons>

<apex:pageBlockTable value="{!opportunities}" var="opp" id="opp_table">


<apex:column value="{!opp.name}"/>

<apex:column headerValue="Stage">

<apex:inputField value="{!opp.stageName}"/>

</apex:column>

<apex:column headerValue="Close Date">

<apex:inputField value="{!opp.closeDate}"/>

</apex:column>

</apex:pageBlockTable>

</apex:pageBlock>

</apex:form>

</apex:page>

https://www.janbasktraining.com/blog/create-visualforce-page-salesforce/
From Visualforce Pages to Lightning
Components
https://www.youtube.com/watch?v=CWU8C-dTnJk
Testing:

Salesforce provides functionality to write test classes for controllers


to cover all code logic and it requires to have 75 % of code coverage
for production deployment.

https://developer.salesforce.com/docs/atlas.en-
us.apexcode.meta/apexcode/apex_testing_example.htm

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy