Things To Understand in Sales Force As A Full Stack Dev
Things To Understand in Sales Force As A Full Stack Dev
Things To Understand in Sales Force As A Full Stack Dev
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?
“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 “
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 ?
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
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:
APEX:
It supports collections /loops /if-else conditions like OOP
APEX Triggers :
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.
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 :
• 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.
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:selectOptions value="{!listviewoptions}"/>
</apex:selectList>
</apex:panelGrid>
</apex:pageBlock>
<apex:pageBlockButtons >
</apex:pageBlockButtons>
<apex:column headerValue="Stage">
<apex:inputField value="{!opp.stageName}"/>
</apex:column>
<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:
https://developer.salesforce.com/docs/atlas.en-
us.apexcode.meta/apexcode/apex_testing_example.htm