SlideShare a Scribd company logo
Cloud Computing
victoriousdigital.in/salesforce-certification-training-institute-pune
What is Cloud Computing?
• Paradigm/model that allows On Demand
network Access to Shared Computing
Resources
• Managing, Storing, Processing Data Online via
Internet
victoriousdigital.in/salesforce-certification-training-institute-pune
Characteristics
• On Demand Service
• Network Access
• Shared Resources
• More scalability
victoriousdigital.in/salesforce-certification-training-institute-pune
Delivery Models
• SAAS (Software as a Service)
• PAAS (Platform as a Service)
• IAAS (Infrastructure as a Service)
victoriousdigital.in/salesforce-certification-training-institute-pune
SAAS
• On Demand Service
Pay per use of application software to users
• Independent of platform
Dont require anything to be installed in PC
• Runs in a single instance of Software
Available for multiple end users
• Cheap
Resources maintained by vendor
• Accessible via web browser
victoriousdigital.in/salesforce-certification-training-institute-pune
Examples
• Who uses-end users
• Gmail
• Office 365
• Google drive
• CRM – Salesforce.com
victoriousdigital.in/salesforce-certification-training-institute-pune
PROS and CONS
• Accessible from any
platform
• No need to commute
(we can work from
anywhere)
• Allows Multi tenancy
• Best for collaborative
working
• Browsers issues
• Internet performance
victoriousdigital.in/salesforce-certification-training-institute-pune
PAAS
• Service made with programming lanuage,web
server,database
• Like Salesforce Force.com (use of apex
language similar to java)
• Build,Compile,Run programs without worrying
about Infrastructure
• Manage data,Application Resources
victoriousdigital.in/salesforce-certification-training-institute-pune
Examples
• Who uses- developers
• AWS
• Heroku
• Force.com
PROS and CONS
• Cost effective
• Faster market for
developers
• Easy deployment
• Private Public
deployment possible
(use of managed
package)
• Limited developers
• Migration issues
victoriousdigital.in/salesforce-certification-training-institute-pune
IAAS
• Computing Architecture , Infrastructure,but all
in virtual environment
• Data storage,Virtualization,Servers,Networking
• Mainly handle
application,data,runtime,Middleware
victoriousdigital.in/salesforce-certification-training-institute-pune
Examples
• Who uses – Sys Admins
• AWS EC2
• Rackspace.com
• Gogrid
victoriousdigital.in/salesforce-certification-training-institute-pune
PROS and CONS
• Cloud provides the Infra
• Scalability
• Flexible
• Security Issues
• Network & Service
delays
victoriousdigital.in/salesforce-certification-training-institute-pune
Database
• collection of related data and its metadata organized in a structured format
• Database Management System (DBMS)
– is a software that enables easy creation, access, and modification of databases
victoriousdigital.in/salesforce-certification-training-institute-pune
Salesforce.com Database
• organized collection of objects.
• database tables to collect (or store) the
information
• information as object in Salesforce.com
• table is presented with rows and columns
• Salesforce its maintained as Record and Field.
victoriousdigital.in/salesforce-certification-training-institute-pune
Database Structure
• In Salesforce.com objects are of three types:
• Standard Objects: These are the objects that are
pre defined by the salesforce and readily
available.
• Custom Objects: These are the objects created by
user according to their need .Each custom object
has five standard fields (refer Note 2.2.1)
• External Objects: These are the custom objects
which are used to map the data stored outside
your organization.
victoriousdigital.in/salesforce-certification-training-institute-pune
Default Standard fields
• ID: This is an index allocated to each object.
This value is unique. ID can be of 15 digit
(Case sensitive) and 18 digits (Case
insensitive)
• Name
• Owner
• Created Date/ Created By
• Last Modified Date/ Last Modified By
victoriousdigital.in/salesforce-certification-training-institute-pune
Normal excel based vs Relational
database
• Relationships define the connection between
two objects, and objects are related to each
other through the use of common fields.
victoriousdigital.in/salesforce-certification-training-institute-pune
Types of Relationship
• Relationships associate one object with other
object.
• Relationship is always defined on the child
object.
• The child object has complete access of the
parent. Based on the handling of data
deletion, record, ownership, security
victoriousdigital.in/salesforce-certification-training-institute-pune
Introduction of Primary-Keys & Foreign-Keys
(Conceptual Knowledge)
• A Primary key is a column or set of columns that uniquely
identifies the record in the table. When a primary key is
defined using multiple columns, the data from each column
is used to determine whether a record/row is unique.
When we defined any column or columns as primary key,
there are some constrains which should be satisfied by
primary key that is column value should not be null (Null
Constrains) and data should be unique (Unique Constrains.)
• A Foreign key is a set of one or more columns in a table
that refers to the primary key in another table. Foreign key
does not necessary to be always point to primary key, but
the basic idea behind foreign key is that any column which
is unique to identify that record/row.
victoriousdigital.in/salesforce-certification-training-institute-pune
different types of relationships are
categorized in to following ways:
• Master Detail
• Lookup relationship
victoriousdigital.in/salesforce-certification-training-institute-pune
Using 2 relationship we can build
various relationships in SFDC
• Many to One (Many child objects but one Parent
Object)E.g. many metro cities are associated to One
Country.
This kind of relationship is represented in four different forms
like
• Master-detail
• LookUp (Loosely Coupled Relationship)
• Self
• Hierarchical (only available on User object)
victoriousdigital.in/salesforce-certification-training-institute-pune
Master-Detail (1: n) — (One Parent Object and
Many Child Objects)
• The record of child object gets automatically
deleted when we delete the master object.
• To create a child object parent object reference field
is required.
• Child object does not have separate sharing but it
derives from Parent object, the detail records
inherits the sharing and security settings of
respective master record.
• The Owner field is automatically set to the owner of
its associated master record as owner field is not
available at detail side (child object).
victoriousdigital.in/salesforce-certification-training-institute-pune
• The detail record must have the master detail relationship
field on its page layout.
• Administrators select Allow reprinting option in the master-
detail relationship definition to represent child records in
master-detail relationship on custom objects.
• Master-detail relationships can be defined on two custom
objects.
• One can define this relationship between one custom
object and one standard object but in such relationship the
standard object cannot be on the detail side of a
relationship with a custom object. The data of custom
object is displayed on page layout.
• master-detail relationship can’t be created on objects
where the User or Lead objects are the master.
victoriousdigital.in/salesforce-certification-training-institute-pune
Lookup (1: n)
• Lookup is also one-to-many relationship but in
this relationship two objects has no effect on
deletion or security.
• Child objects are independent
• Child object have separate setting
• If we delete parent object child object will
remain in system.
• Child may or may not have parent.
victoriousdigital.in/salesforce-certification-training-institute-pune
Self
• In this relationship the object is self-referred.
E.g. Add on Card on your credit card
• an object has a lookup with itself, it is a self-
relationship. A self relationship creates a tree
diagram of the objects. For example, the
account has a lookup on himself, called Parent
Account.
victoriousdigital.in/salesforce-certification-training-institute-pune
Hierarchical
• This is also (1: N) Lookup relationship
• But can only be defined on User object. In this we
can use lookup field to associate one user with
other user.
• relationship is a special lookup relationship
available only for the user object. It allows users
to use a lookup field to associate one user with
another that does not directly or indirectly refer
to itself. For example, you can create a custom
hierarchical relationship field to store each user's
direct manager.
victoriousdigital.in/salesforce-certification-training-institute-pune
Many-to-many Very Very IMP
• master-detail relationships can be used to
model many-to-many relationships between any
two objects.
• In many-to-many relationship each record of one
object is linked with multiple records from
another objects and vice versa.
• We need to create custom junction object to
create a many-to-many relationship and then
master-detail relationship fields, are linked with
this objects.
victoriousdigital.in/salesforce-certification-training-institute-pune
Junction object
• This object is used to create Many-to-Many
relationship.
• Salesforce support two relationship master
detail and Lookup but both are 1:n that is one-
to-many.
• To define many-to-many relationship we need
third object and that is called junction object.
victoriousdigital.in/salesforce-certification-training-institute-pune
Example
• Classroom and Courses
• Can have multiple courses in 1 classroom on
different time
• Can have 1 course in multiple classroom
• To understand this we need a junction object
Course offerings
victoriousdigital.in/salesforce-certification-training-institute-pune
Junction object Example
• Create 3 custom objects
• Classroom fields seats
• Course field Name
• Junction Course offerings
• Fields start date, enddate,current occupancy
• One formula field later
• On course offering have 2 master detail
relationship one to classroom and other to
Course
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
Model
• The model is your database objects in
Salesforce. The include the standard
Salesforce objects like Leads, Contacts,
Accounts, Opportunities etc but it also
includes any custom objects you've created.
Think of it like this - the "model" represents
your data model in terms of MVC.
victoriousdigital.in/salesforce-certification-training-institute-pune
VIEW
• The view represents the presentation of the data (i.e. the user
interface).
• Pages - While often just called "pages", what we are talking about
is Visualforce pages. They are the building blocks of the user
interface. Visualforce uses HTML to lay out the appearance of the
application interface. Each page is referenced by a unique URL just
like a regular webpage. The pages themselves also
contain Visualforce Components which can be invoked by simple
tags inside the page.
• Components - these are both standard and custom Visualforce
Components. Think of them like widgets that you can add to your
pages. Once you write the code once, you can reuse it on multiple
pages. Components are important because they allow for this
reuse. Components can be styled with CSS.
victoriousdigital.in/salesforce-certification-training-institute-pune
CONTROLLER
• Controllers are the building blocks of the actual
application logic. The controllers are written in Apex
code and they end up controlling and enforcing all the
business logic. Remember that one of the key design
elements of MVC is to separate the logic from the UI.
The presentation layer (the view) shouldn't be mixed
with a bunch of business logic. Pages interact with the
controller through components which shuttle the data
and specifies what happens when the user actually
interacts with the UI. Salesforce has pre-built
controllers for many of the standard actions like View,
Edit, Save. If you want to add new behavior though you
can extend or build new controllers (custom
controllers) in Apex.
victoriousdigital.in/salesforce-certification-training-institute-pune
Roll-up Summary Field
• A roll-up summary field is custom object field
which calculates values from related records
child records detail records or the records in a
related list.
• Roll-up summary field is created to display a
value in a master record based on the values
of fields in a detail record.
• Roll-up summary can be defined on Master-
Detail relationship only.
victoriousdigital.in/salesforce-certification-training-institute-pune
Types
• Assumption child record has fees field of master
• Count-count of all child records on master
• Sum- field on child for aggregation referred sum of
fees field on child
• Min minimum value of fees in all child records
• Max maximum value of fees in all child records
• Go to App Setup | Create | Objects and click on New
field and Select Roll up summary field.
victoriousdigital.in/salesforce-certification-training-institute-pune
Type Description
COUNT Totals the number of related records.
SUM Totals the values in the field you select
in the Field to Aggregate option. Only
number, currency, and percent fields
are available.
MIN Displays the lowest value of the field
you select in the Field to
Aggregate option for all directly related
records. Only number, currency,
percent, date, and date/time fields are
available.
MAX Displays the highest value of the field
you select in the Field to
Aggregate option for all directly related
records. Only number, currency,
percent, date, and date/time fields are
available.
victoriousdigital.in/salesforce-certification-training-institute-pune
Formula & Cross Object Formula Field in Salesforce:
• Formula Field is a read only field whose value
is evaluated from the formula or expression
defined by us. We can define formula field on
both standard as well as custom objects. Any
change in expression or formula will
automatically update the value of formula
field.
victoriousdigital.in/salesforce-certification-training-institute-pune
Return types of Formula Fields
• We can define formula field for 7 types:
• Number
• Currency
• Percent
• Date
• Date/Time
• Checkbox
• Text
victoriousdigital.in/salesforce-certification-training-institute-pune
Cross Object Formula Field
• Cross Object Formula Fields are the fields which are
based on a Cross-object formulas.
• The cross object formulas are defined on two related
objects and reference merge fields on those objects.
• This field is built on child object. It is also known as
Reference formula. We can apply cross-object fields up
to 10 levels. Cross-object formulas can reference
merge fields from a master object as well as if field is at
detail side then it can merge field from a master-detail
relationship. Cross Objects formula can also be defined
on lookup relationships.
victoriousdigital.in/salesforce-certification-training-institute-pune
Record types
• Record types allow you to offer different
business processes, picklist values, and page
layouts to different users based on their
profiles. Record types can be used in various
ways, for example:
• Create record types for Account to
differentiate type of account for one business
process with another and offer different
picklist values for each.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Record types allow you to associate different business processes and
subset of pick list value to different users based on their user profile.
• They are used to drive which page layouts users see when viewing
records, based on their user profile.
• Benefits of record types:
• Tailors user interaction experience to specific business needs.
• Allows for easier administration as there are fewer fields to maintain.
• Creating Record Types:
• Example to create record types: In this example I
am creating record type for Case object.
• Setup->Customize->Object(Account,case
Contact)>Record Type
victoriousdigital.in/salesforce-certification-training-institute-pune
Pagelayouts
• Page Layout
• The organization of fields, custom links, and related lists on an object
detail or edit page.
• Used to organize UI pages for your users:
• – Which fields, related lists, and Custom links a user’s sees.
• – Field properties – visible, read-only and required.
• – Page section customizations.
• NOTE: Establish unique layouts for different business scenarios.
• Creating Page Layout:
• Following is example to create page layout for case object.
• Set Up->Customize->Object(Account,Contact,case)>Page Layout->Click on
New button
• Fill Mandatory details
• Drag and drop required to the layout and save page layout.
victoriousdigital.in/salesforce-certification-training-institute-pune
Page Layout Assignment
• Go to Record Type or Page Layout and click
on Page layout Assignment
• assign page layout to record types based on
profiles.
victoriousdigital.in/salesforce-certification-training-institute-pune
Concept of Dependent Picklist values
• Create two Fields
• Type of customer Gold Silver platinum
Bronze,Diamond
• Dependent picklist as Free Services-flight
discount,drinks,Wifi,Lunch free
• Gold-has FD ----Silver-Wifi,drinks----Platinum
all----diamond-wifi,lunch,FD---Bronze-drink
victoriousdigital.in/salesforce-certification-training-institute-pune
workflow
• Workflow lets you automate standard internal procedures
and processes to save time across your org. A workflow
rule is the main nfor a set of workflow instructions.
• Workflow rules can help automate the following types of
actions based on your organization's processes:
• Tasks: Assign a new task to a user, role, or record owner.
• Email Alerts: Send an email to one or more recipients you
specify.
• Field Updates: Update the value of a field on a record.
• Outbound Messages: Send a secure, configurable API
message (in XML format) to a designated listener.
victoriousdigital.in/salesforce-certification-training-institute-pune
• For example, workflow rules can:
• Assign follow-up tasks to a support rep one week after a case is updated.
• Send sales management an email alert when a sales rep qualifies a large
deal.
• Change the Owner field on a contract three days before it expires.
• Trigger an outbound API message to an external HR system to initiate the
reimbursement process for an approved expense report.
• Each workflow rule consists of:
• Criteria that cause the workflow rule to run.
• Immediate actions that execute when a record matches the criteria. For
example, salesforce.com can automatically send an email that notifies the
account team when a new high-value opportunity is created.
• Time-dependent actions that queue when a record matches the criteria,
and execute according to time triggers. For example, salesforce.com can
automatically send an email reminder to the account team if a high-value
opportunity is still open ten days before the close date.
victoriousdigital.in/salesforce-certification-training-institute-pune
Scenarios
• Type of customer- = gold email to owner of
the account
• When status = platinum update field checkbox
on account.
• Contact phone is =null update contact field
phone with any default value
• When customer is diamond assign task to
record owner
victoriousdigital.in/salesforce-certification-training-institute-pune
Validation Rules
• Validation rules verify that the data a user enters in a
record meets the standards you specify before the user
can save the record.
• A validation rule can contain a formula or expression that
evaluates the data in one or more fields and returns a
value of “True” or “False”.
• Validation rules also include an error message to display
to the user when the rule returns a value of “True” due
to an invalid value.
• rules helps you to improve data quality by preventing
users form entering incorrect data.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Validation rules apply to new and updated
records for an object
• Even if the fields referenced in the validation
rules are not visible on the page layouts, the
validation rule still apply and will result in an
error message if the rule fails.
• If entered invalid data, it will display the
associated error message without saving the
record.
• Validation rules don't apply if you create new
records for an object with Quick Create.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Rule Name: Validation_on_Account_revenue
• “If Industry equal to Banking then annual revenue
should not be null”.
• Industry =Banking and Annual Revenue
• Error-Annual Revenue should not null when
Industry is Banking.
• Link to practice more -
https://resources.docs.salesforce.com/204/latest
/en-
us/sfdc/pdf/salesforce_useful_validation_formula
s.pdf
victoriousdigital.in/salesforce-certification-training-institute-pune
Assignment Rules
• Assignment rules are used to automate your organization’s
lead generation and support processes.
• Assignment rule are used to assign owner to the records
based on the condition.
• Lead Assignment Rules – Specify how leads are assigned to
users or queues as they are created manually, captured
from the web, or imported via the lead import wizards.
• Case Assignment Rules – Determine how cases are
assigned to users or put into queues as they are created
manually, using Web-to-Case, Email-to-Case, the Customer
Portal
victoriousdigital.in/salesforce-certification-training-institute-pune
• Self Study
• Web to case email to case
• Scenario
• Account rating is hot assign Case to Tier 1
queue
victoriousdigital.in/salesforce-certification-training-institute-pune
Auto Response Rules
• An auto-response rule is a set of conditions for sending automatic
email responses to lead or case submissions based on the attributes
of the submitted record. Applicable leads include those captured
through a Web-to-Lead form.
• Applicable cases include those submitted through a:
– Self-Service portal
– Customer Portal
– Web-to-Case form
– Email-to-Case message
– On-Demand Email-to-Case message
• You can create as many response rules as you like based on any
attribute of the incoming lead or case, but only one rule for leads
and one for cases can be active at a time.
victoriousdigital.in/salesforce-certification-training-institute-pune
Auto-response rules and workflow email alerts provide similar
functionality. The following table lists some of the differences
between workflow alerts and auto-response rules to help you
determine which process to use:
TYPE OF
PROCESS
DESIGNED FOR RUNS
WHEN
SENDS EMAIL
TO
NUMBER OF EMAILS SENT
Workflow
email alerts
Notifications to
interested parties.
A case or
lead is
created or
edited.
Anyone you
choose.
Sends one email per email alert.
Each workflow rule can have up
to:
•10 email alerts as immediate
actions
•10 email alerts per time trigger
as time-dependent actions
•10 time triggers
Auto-
response
rules
Initial response to
the contact who
created a case or the
person who
submitted the lead
on the Web.
A case or
lead is
created.
Contact on a
case or the
person who
submitted
the lead on
the Web.
Sends one email based on the
first rule entry criteria it matches
in a sequence of rule entries.
victoriousdigital.in/salesforce-certification-training-institute-pune
Web to Lead
• Salesforce web to lead is to directly collect capture the
leads form your website and loaded into Salesforce.
• This is built in functionality in Salesforce. Nothing you
need to download or install.
• Go to “set up” -> Customize -> Leads -> click on web-
to-Lead
• we can see web to lead set enabled checkbox is
checked. By default web to lead is enabled in sales
force. And default lead creator is owner of the lead
creator in Salesforce. By default it will display System
Administrator who created Salesforce organization.
victoriousdigital.in/salesforce-certification-training-institute-pune
Auto Response Rule Scenario
• Send Auto Response email to the person who
creates web to lead
• Send Auto Response email to the person who
creates web to Case and email to case
victoriousdigital.in/salesforce-certification-training-institute-pune
Email -to -Case
• Salesforce can automatically create a case when
an email is sent to one of your company's email
addresses, such as support@company.com.
• This Email-to-Case functionality auto-populates
case fields from the content of each email.
• For example, an email subject heading becomes
a case subject.
• Your organization can set up Email-to-Case or On-
Demand Email-to-Case to efficiently resolve and
correspond with customer inquiries via email.
victoriousdigital.in/salesforce-certification-training-institute-pune
Email-to-Case
• Email-to-Case requires downloading the
Email-to-Case agent and setting it up behind
your network's firewall.
• Use Email-to-Case if you have a requirement
to keep all email traffic within your firewall,
and you want to accept email attachments
larger than 25 MB from customers.
victoriousdigital.in/salesforce-certification-training-institute-pune
On-Demand Email-to-Case
• On-Demand Email-to-Case uses Apex email
services to convert email to cases, without
you having to download and install an agent
behind your network's firewall.
• Use On-Demand Email-to-Case if you are not
concerned about keeping email traffic within
your firewall and you do not need to accept
attachments larger than 25 MB from
customers.
victoriousdigital.in/salesforce-certification-training-institute-pune
Configure email to case
• From Setup, enter email- to - case in the Quick Find box,
then select Email-to-Case.
• In the Routing Addresses list, click New.
• Enter your routing address settings.
• Click Save.
• A verification email is sent to the routing email address
you provided.
• Click the link in the verification email.
• A confirmation page opens in your web browser.
• Click the link in the confirmation page to continue to
Salesforce.
victoriousdigital.in/salesforce-certification-training-institute-pune
Web to Case
• customer support requests directly from your company’s website
and automatically generate up to 5,000 new cases a day with Web-
to-Case.
• Web To Case is a means by which you can post a simple,
unauthenticated web page that allows your customers to submit
cases directly to your Salesforce.com instance.
• This means that you can post a public case submission page on your
own website with your own branding and styling.
• Web To Case works by generating a snippet of HTML for you. This
HTML is an HTML form that you can put on any page.
• When your customer presses Submit, the information on this form
is posted directly to a Salesforce.com server, which handles the
information, converts it to a case, and redirects the customer's
browser back to a page of your choosing
victoriousdigital.in/salesforce-certification-training-institute-pune
• Generate same as Web to lead
• Self study -
https://help.salesforce.com/servlet/servlet.Fil
eDownload?file=015300000036A6eAAE
victoriousdigital.in/salesforce-certification-training-institute-pune
Escalation Rules
• Escalation rules automatically escalate cases when the
case meets the criteria defined in the rule entry.
• You can create rule entries, which define criteria for
escalating a case, and escalation actions, which define
what happens when a case escalates.
• Reference-
https://help.salesforce.com/articleView?id=rules_escal
ation_create.htm&type=5
• http://www.infallibletechie.com/2013/08/escalation-
rule-in-salesforce.html
victoriousdigital.in/salesforce-certification-training-institute-pune
Different levels of Security
• Object level security
• The bluntest way that we can control data is by preventing a user from seeing, creating,
editing, and/or deleting CRUD any instance of a particular type of object, like a Position
or Review. Object-level access allows us to hide whole tabs and objects from particular
users, so that they don't even know that type of data exists.
• On the platform, we set object-level access rules with object permissions on user
profiles or permission sets
• Object Level security can be done in the following Sections.
• Permission Sets.
• Profiles
• Permission Sets : In this Permission sets we define the access level of the user.
Generally we determine what a user can do in the applications. These are used to grant
additional permission to a user. Profiles : In Object level Security, Profiles are assigned
to the user by system administrator. A profile can be assigned to many users where as a
user can have only one Profile.
• A permission set is a collection of settings and permissions that give users access to
various tools and functions. The settings and permissions in permission sets are also
found in profiles, but permission sets extend users’ functional access without changing
their profiles.
• For example, to give users access to a custom object, create a permission set, enable
the required permissions for the object, and assign the permission set to the users. You
never have to change profiles, or create a profile for a single use case. While users can
have only one profile, they can have multiple permission sets.
victoriousdigital.in/salesforce-certification-training-institute-pune
Field level security
• A variation on object-level access is field-level
access, in which a user can be prevented from
seeing, editing, and/or deleting CRUD the value
for a particular field on an object. Field-level
access allows us to hide sensitive information like
the maximum salary for a position or a
candidate's social security number without
having to hide the whole object.
• On the platform, we set field-level access rules
with the field-level security.
victoriousdigital.in/salesforce-certification-training-institute-pune
Record level security
• To control data with a little more finesse, we can allow
particular users to view an object, but then restrict the
individual object records that they're allowed to see. For
example, record-level access allows an interviewer like
Melissa Lee to see and edit her own reviews, without
exposing the reviews of everyone else on her team.
• On the platform, we actually have four ways of setting
record-level access rules:
• Organization-wide defaults
• Role hierarchies
• Sharing rules
• Manual sharing
• Apex Sharing
victoriousdigital.in/salesforce-certification-training-institute-pune
Organization wide default
• OWD stands for Organization wide defaults. This setting is defined
at object level. OWD defined the default record level sharing for
objects. All profiles get at least the privileges defined in OWD. OWD
takes three different values –
– Private
– Public Read only
– Public Read-Write
– Public Read-Write/Transfer
• To find out what should be set as OWD for an object, first find out
which user requires least access to an object. OWD is set based
upon this users access requirements.
Most restrictive record access is defined using OWD. Access to
additional records is made available through Role hierarchy, Sharing
rules, Manual sharing, Apex sharing
victoriousdigital.in/salesforce-certification-training-institute-pune
• Private :
If the OWD for an object is set to private, then only the owner, and users
above that role in role hierarchy, can view, edit and report on those
records
• Public Read Only :
If the OWD for an object is set to Public Read Only, then all users can
view and report on records but they cannot edit them. Only the record
owner and the users above that role in the role hierarchy can edit the
records
Public Read/Write :
If the OWD for an object is set to Public Read/Write, then all users can
view, edit and report on all records. But only owner of the record can
delete the records.
• Public Read/Write/Transfer :
This is available only for Case and Lead objects
If the OWD for an object is set to Public Read/Write/Transfer then, all
users can view, edit, Transfer and report on all the records but only owner
of the record can delete the records
victoriousdigital.in/salesforce-certification-training-institute-pune
• Public Full Access :
This is available only for Campaign object.
If the OWD for Campaigns are set Public Full Access then, all users can
view, edit, delete and report on all records.
• No Access, View Only or Use :
This is available only for Price Book object.
If the OWD for Price Book is set Use then, all users can access the Price
Book information and as well as using the Price Book configuration for
Opportunities with Products.
If the OWD for Price Book is set View Only then, all users can access the
Price Book information but not to use that Price Book detail in
Opportunities with Products
If the OWD for Price Book is set No Access then, it restricts users from
accessing information for Price Book and Prices.
• Controlled By Parent :
If the OWD for any object is set as Controlled By Parent, then user can
perform an action on the record based on whether they can do the same
on the parent record associated with it.
victoriousdigital.in/salesforce-certification-training-institute-pune
Role Hierarchy
• Role Hierarchy allows additional users access to
records. A hierarchy of roles is defined based upon
access requirements at record level. Each user belongs
to a unique role.
• If a role has access to some record, than its parent and
ancestors will also have access to this record.
• Roles can be created using the Manager Users menu.
• Roles are used to control record access, where as
profiles are used to specify access at object and field
level.
victoriousdigital.in/salesforce-certification-training-institute-pune
Public Group
• Public group consists of users, roles or "roles
and subordinates".
• Sharing rule is defined using public groups.
Record that match certain condition can be
assigned to users in public groups using
Sharing Rules.
victoriousdigital.in/salesforce-certification-training-institute-pune
Manual Sharing (User Managed
Sharing)
• Manual Sharing is used to grant one-off access.
• Manual sharing can be granted by record owner,
any one above the owner in role hierarchy and
System Administrator.
• Manual sharing is used to handle exception cases
where access to a particular record needs to be
given to a specific user.
• There is a Sharing button on the records page.
This is used to provide manual sharing.
victoriousdigital.in/salesforce-certification-training-institute-pune
Sharing Rules.
• Sharing Rules makes automatic exceptions
to organization wide defaults settings for
particular users in an organization. Sharing
rules can be done by manual sharing, criteria
based sharing and Apex managed sharing.
victoriousdigital.in/salesforce-certification-training-institute-pune
Controlling Access Using Hierarchies
Grant Access Using Hierarchies
• Determine whether users have access to records they don’t
own, including records to which they don’t have sharing
access, but someone below them in the hierarchy does.
• Beyond setting the organization-wide sharing defaults for
each object, you can specify whether users have access to
the data owned by or shared with their subordinates in the
hierarchy.
• For example, the role hierarchy automatically grants record
access to users above the record owner in the hierarchy. By
default, the Grant Access Using Hierarchies option is
enabled for all objects, and it can only be changed for
custom objects.
victoriousdigital.in/salesforce-certification-training-institute-pune
• To control sharing access using hierarchies for
any custom object, from Setup, enter Sharing
Settings in the Quick Find box, then select
Sharing Settings. Next, click Edit in the
Organization Wide Defaults section. Deselect
Grant Access Using Hierarchies if you want to
prevent users from gaining automatic access
to data owned by or shared with their
subordinates in the hierarchies.
victoriousdigital.in/salesforce-certification-training-institute-pune
Important points
• Regardless of your organization's sharing settings, users can gain access to
records they do not own through other means such as user permissions
like “View All Data,” sharing rules, or manual sharing of individual records.
• The Grant Access Using Hierarchies option is always selected on standard
objects and is not editable.
• If you disable the Grant Access Using Hierarchies option, sharing with a
role or territory and subordinates only shares with the users directly
associated with the role or territory selected. Users in roles or territories
above them in the hierarchies will not gain access.
• If your organization disables the Grant Access Using Hierarchies option,
activities associated with a custom object are still visible to users above
the activity’s assignee in the role hierarchy.
• If a master-detail relationship is broken by deleting the relationship, the
former detail custom object's default setting is automatically reverted to
Public Read/Write and Grant Access Using Hierarchies is selected by
default.
victoriousdigital.in/salesforce-certification-training-institute-pune
• The Grant Access Using Hierarchies option affects which users gain access
to data when something is shared with public groups, personal groups,
queues, roles, or territories. For example, the View All Users option
displays group members and people above them in the hierarchies when a
record is shared with them using a sharing rule or manual sharing and the
Grant Access Using Hierarchies option is selected. When the Grant Access
Using Hierarchies option is not selected, some users in these groups no
longer have access. The following list covers the access reasons that
depend on the Grant Access Using Hierarchies option.
• These reasons always gain access:
• Group Member, Queue Member, Role Member, Member of Subordinate
Role, Territory Member, Member of Subordinate Territory
• These reasons only gain access when using hierarchies:
• Manager of Group Member, Manager of Queue Member, Manager of
Role, Manager of Territory, User Role Manager of Territory
victoriousdigital.in/salesforce-certification-training-institute-pune
Apex Sharing
• Apex managed sharing is a type of "Programatic Sharing" which allows you
to define a custom sharing reason to associate with your programatic
share.
• Standard Salesforce objects support "Programatic Sharing" while custom
objects support Apex managed sharing. More specifically, object shares
can be written to both standard and custom objects, however custom
sharing reasons can only be defined for shares written to custom objects.
apex manage sharing is used for custom objects as we can define apex
sharing reason for custom objects. For standard object, apex sharing
reason will be “Manual”
• Salesforce create share table for all objects for which OWD is either public
read only or Private. For standard object, share table name is table name
followed by share word. For example: AccountShare, ContactShare,
CaseShare
For custom object, it is followed by __share. For example : For Position__c,
share table name is Position__share
victoriousdigital.in/salesforce-certification-training-institute-pune
• Objects on the detail side of a master-detail
relationship do not have an associated sharing
object. The detail record’s access is
determined by the master’s sharing object
and the relationship’s sharing setting.
victoriousdigital.in/salesforce-certification-training-institute-pune
Create share table record using apex
• Share table contains four columns: ParentId, UserOrGroupId, RowCause,
AccessLevel.
Below is code to create position__share record:
Position__share p = new Position__share();
p.parentId = ‘Position Record Id which needs to be shared’;
p.userOrGroupId= ‘User id or Group id with which we want to share record’;
p.RowCause=’ apex sharing reason defined for custom object, here for
position__c’;
p.AccessLevel =’access level for record’; //can be Read or Edit
insert p;
• Note: you cannot update share table record. System only allows insert or
delete of records for share table. So if you have to change access for user,
you have create new record and can delete already existing record if you
want.
victoriousdigital.in/salesforce-certification-training-institute-pune
Scenario
• – Account Sharing Example: The Western and
Eastern Regional Directors need to see all of the
accounts created by each others’ sales reps. You
can create two public groups – one that includes
the Western and Eastern Regional Director roles
and one that includes the Western and Eastern
Sales Rep roles. Then create an account sharing
rule so that records owned by the Western and
Eastern Sales Rep group are shared with the
group containing the Western and Eastern
Regional Director roles
victoriousdigital.in/salesforce-certification-training-institute-pune
Approval Process
• Salesforce approval process is an automated process and your
organization can use to approve records in Salesforce, An approval
process is combination of steps for a record to be approved and person
has to approve it each step. A step can apply to all the records to that
object or just record that meets the certain criteria. An approval process
also specifies the actions to take when a record is approved, rejected,
recalled, or first submitted for approval.
• Simple or multi-step approval processes to automate and enforce the
approval of virtually anything in your company.
• Navigate setup -> Create -> Workflow & Approvals -> Approval Processes.
• Select Object for the new approval process.
• Click on Create New Approval Process and choose Use Standard Setup
Wizard from the drop-down button.
• Note: If you want to create a basic approval process with default settings.
Click on Use Jump Start Wizard.
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
Scenario
• Opportunities that are discounted more than
40% require a CEO approval. Use this example
to create a one-step approval process.
• Whenever Account Status = Completed,
Account should follow approval process from
owner manager
victoriousdigital.in/salesforce-certification-training-institute-pune
Data management
• Import wizard
• It is easy to use tool to load Accounts,
Contacts, Leads, Solutions, or Custom Objects.
-Load 50,000 records or less.
-Prevent duplicates
-Doesn’t support all standard object but
supports all custom object
victoriousdigital.in/salesforce-certification-training-institute-pune
Apex Data Loader
• Data Loader is a tool or Application used in salesforce to
import and export bulk data. ThroughApex Data Loader we
are able to Update, Insert, Delete, Upsert, Export and
Export All. Each operation will be different from each other.
• Insert – insertion of new records
• Update – Updating existed records.
• Upsert – Update and Insertion of records
• Delete – Deletion of records.
• Export – Extraction of all records.
• Export All – It extracts all records from salesforce including
Recycle Bin records.
victoriousdigital.in/salesforce-certification-training-institute-pune
Advantages
• Is a fully supported salesforce.com product.
• Supports import from CSV or export to CSV.
• Can be used to import or export more than
50,000 records.
• Supports loading from or exporting to a
database
• Supports custom relationships for upsert.
Can be run from command line.
victoriousdigital.in/salesforce-certification-training-institute-pune
• In dataloader settings we should enable
‘insert null values’ checkbox otherwise we
can’t insert null values
victoriousdigital.in/salesforce-certification-training-institute-pune
Bulk API
• The Bulk API is used to upload high volume of
data (millions of records).
The Data Loader uses the SOAP-based Web
Services API by default. To use the Bulk API
instead, check “Bulk API” checkbox in apex data
loader settings page.
When you check Bulk API checkbox, increases the
batch (upto 10000 records) which is usually 200
in normal upload.
victoriousdigital.in/salesforce-certification-training-institute-pune
External ID
• We have account table in Salesforce and account table
outside of the Salesforce (ex: .csv file, sql database).
• In Salesforce all the records can be identified with record id
and outside of the Salesforce we can’t recognize records
with Salesforce id that is the reason to compare outside
table and salesforce table in Salesforce for one of the field
we have to enable external ID (we can enable external id
for text, number, auto number and email).
• If we enable external id we can compare that particular
column with the column which is available in external table.
While comparing if the both column values are same then
it will update otherwise it will insert.
victoriousdigital.in/salesforce-certification-training-institute-pune
Process Builder
• The Process Builder is a workflow tool that helps
you easily automate your business processes by
providing a powerful and user-friendly graphical
representation of your process as you build it.
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.
victoriousdigital.in/salesforce-certification-training-institute-pune
Criteria
Automated processes in the Process Builder are
based on records and consist of:
• Criteria that determine when to execute
action groups.
• Immediate and scheduled actions to execute
when those criteria are met.
victoriousdigital.in/salesforce-certification-training-institute-pune
Actions
• Create a record
• Update any related record—not just the record or its
parent
• Use a quick action to create a record, update a record, or
log a call
• Launch a flow—you can’t schedule this action with
workflow
• Send an email
• Post to Chatter
• Submit for approval
• The process builder doesn’t support outbound messages,
but we can easily create one with Apex.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Create a record: This will allow you to create
new records and set certain field values for
the new record.
• Email alerts: IN order to send an email from a
process, you must create the email alert. To
send an email alert that email should be
associated with the same object on which
process is started. Email template contains the
standard text, list of recipients, and template
victoriousdigital.in/salesforce-certification-training-institute-pune
• Trigger a flow: You can launch a flow from your process to automate complex
business processes.
• Post to Chatter: Process builder post to chatter action helps to post information to
any user or group chatter feed within Salesforce. The post will appear in the
chatter field as if the person who triggered the process had written it. You can
reference groups or topics and add merge fields.
• Submit for approval: Only the record that started the process will be submitted.
You can’t submit any related records for approval.
• Update records: Update one or more records that are related to the record that
started the process. You can update the record with manually entered values or by
using the values from related records. We can update records of parent or child
whereas workflow only updates same or parent object from the child.
• Quick actions: You must already have global actions or an object specific action
created within Salesforce to use these quick actions. You can then select to log a
call, send an email, or update a record.
• Process: This action will call another process to another process. For this action,
you need to choose process type as it invoked by another process.
victoriousdigital.in/salesforce-certification-training-institute-pune
Why Process builder?
• Process builder is more flexible in comparison
to workflow.In workflow rule can’t update
child record, Post to Chatter, auto submits
record in the Approval process, invoke an apex
or call flows.
victoriousdigital.in/salesforce-certification-training-institute-pune
Scenario
• On Account when status =‘In progress’
• Create an Contact which gets attached to
same account with same name as Account
victoriousdigital.in/salesforce-certification-training-institute-pune
Introduction to SOQL and SOSL
• Salesforce Object Query Language (SOQL) is similar to SELECT
statement in SQL (Structured Query Language). Using SOQL
one can search the organization specific data. SOQL can be
used with Apex, Visualforce and Schema explorer of
Force.com IDE. While writing query one have to combine
SELECT command with a list of fields to retrieve as well as the
conditions for selecting rows.
victoriousdigital.in/salesforce-certification-training-institute-pune
Syntax
• SELECT one or list of fields FROM an Object
WHERE (optional block) filtering criteria
• SELCET EmpID, Name FROM Employee WHERE
DEPT_NAME = ‘R&D’;
victoriousdigital.in/salesforce-certification-training-institute-pune
Hints when to use SOQL and SOSL :
• Use SOQL when you have some basic prior knowledge about the objects
and its data. At other hand when you know which data you want to
retrieve from the object. SOQL can be used to retrieve data from a single
object or from multiple objects which are related to one another. Using
SOQL we can get Count, Sort queries too. SOQL can be used with
Salesforce Object Search Language (SOSL) APIs to search your
organization’s Salesforce data if you have built your own salesforce custom
UI.
• SOSL is a text-based search technique which works on programmed based
on search index. Programmers used SOSL when they are not aware about
in which object or fields the data has. It retrieves data for a specific term
that is inside the field or build search index for multiple terms within field.
It is used to retrieve multiple objects efficiently though may not related to
each other. It is used to retrieve data from multiple divisions too.
• To increase the performance of searching use SOSL than SOQL as SOSL is
faster than SOQL. If you are searching for specific and single term search
then SOQL is best option as SOSL combines multiple terms in the single
field. Number of fields in search should be minimum because the large
number of fields leads to increase in number of permutations, which can
be difficult to tune.
victoriousdigital.in/salesforce-certification-training-institute-pune
Relationship Queries
• Using relationship queries one can retrieve the
related object data from the database. There are
two types of relationship queries Parent-to- Child
and Child-to-Parent. These queries are similar to
SQL joins. Relationship queries retrieve some
valid relationship path. One can use relationship
queries to retrieve object of one type based on
criteria applies for other types of object.
• To understand the concept of Parent and child
relationship refer the following diagram
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
Queries traversing from Child to
Parent Object
• For(College_c c:[SELECT
Name,University_r.Name, University_c FROM
Colllege_c]}
• {
• System.debug(‘College Name:’ +
c.Name+ ‘University
Name:’+c.University_r.Name);
• }
victoriousdigital.in/salesforce-certification-training-institute-pune
Queries traversing from Parent to
Child Object
• For (University_c u:[Select Name, (Select Name
from Colleges_r) from University_c]}
• {
• For(college_c:u.Colleges r)
• {
•
• System.debug(‘University Name :’+u.Name+
‘College Name:’+c.Name);
• }
• }
victoriousdigital.in/salesforce-certification-training-institute-pune
Aggregate Queries
• Salesforce support aggregate functions like SUM () , MAX(), AVG()
etc to perform various operations. Any query that includes an
aggregate function returns its results in an array of AggregateResult
objects. AggregateResult is a read-only Object and is only used for
query results.
• Aggregate functions are more powerful tool to generate reports
when you use them with a GROUP BY clause. Any aggregated field
in a SELECT list that does not have an alias automatically gets an
implied alias with a format expri, where i denotes the order of the
aggregated fields with no explicit aliases. The value of i starts at 0
and incremented per aggregated field.
• Order by Name desc
• Order by Name Asc
victoriousdigital.in/salesforce-certification-training-institute-pune
Introduction to Apex
• Apex is an object oriented, strongly typed programming
language, used API supported by Force.com to give
transaction control on salesforce platform. Apex supports
for online SOQL and SOSL query handling and returns
SObjects records. It has built in support for DML and DML
exception handling. It is easy to understand and use as the
syntax is more similar to Java language
• Apex is used to implement complex business functionality.
Apex supports trigger. We can perform complex validation
using Apex.
• Note: SObject class is generic class which can be any SFDC
object.
victoriousdigital.in/salesforce-certification-training-institute-pune
Introduction of Collection Types,
Loops & DML Statements
• As per other programming languages Apex
also have some inbuilt data structures.
Collectively it is called as Collection. Apex
Collection has four types namely Lists, Sets,
Maps and Enumerations. The first element of
any collection type is always indexed at
location zero.
victoriousdigital.in/salesforce-certification-training-institute-pune
List
• List:
• A list is a sequential collection of elements. It allows
duplicates. Let’s consider the following example
to create List of integer
• List<Integer> customList = new List<Integer>();
• customList.add(55);
• customList.add(56);
• customList.get(0);
• You can also use the array syntax for lists. For example:
• String[] favoriteColor = new List<String>();
• favoriteColor[2] = ‘Blue’;
victoriousdigital.in/salesforce-certification-training-institute-pune
Set
• Set :
• A set is another collection type. Unlike List set
is unordered as well as doesn’t allow
duplicates.
• Set<String> alpha = new Set<String>{‘p’,’q’,’r’};
• alpha.add(‘s’);
• System.assert(alpha.comtains(‘r’));
victoriousdigital.in/salesforce-certification-training-institute-pune
Map
• Maps:
• Maps are collections types which supports
key-value pairs.
• Map<String,String> myStrings = new
Map<String,String>{‘AS201’, ‘XYZ’};
victoriousdigital.in/salesforce-certification-training-institute-pune
Loops
• Loops :
• Apex supports five types of procedural loops.
Following are the listed loops. All loops allows
break and continue statement.
• do{statement} while (condition);
• while(condition) statement;
• for(initialization; exit
condition; increment) statement;
• for(variable : array/set) statement;
• for(variable : [inline_soql_query]) statement;
victoriousdigital.in/salesforce-certification-training-institute-pune
• Do-While Loops
Similar to other programming language ​ do-
while loop repeatedly executes a block of code
till the Boolean condition remains true. Its
syntax is:
• Do
• {
• --code
• }while(condition);
victoriousdigital.in/salesforce-certification-training-institute-pune
• While Loops
• The Apex​​ while loop executes a block of code
until a particular Boolean condition remains
true. Its syntax is:
• While(condition)
• --code
• }
victoriousdigital.in/salesforce-certification-training-institute-pune
• For Loop:
• Apex supports three variations of the for loop:
• The traditional for loop:
• For(init statement; exit condition;
increment/decrement statement){
• Code block
• }
victoriousdigital.in/salesforce-certification-training-institute-pune
• The list or set iteration for loop:
• For(variable : list_or_set) {
• code block;
• }
• The SOQL for loop:
• for (variable/variable list : [soql query statement])
{
• Code block;
• }
victoriousdigital.in/salesforce-certification-training-institute-pune
Apex Triggers
• Trigger is piece of code that is executes before and after a record is
Inserted/Updated/Deleted from the force.com database.
Syntax:
Trigger <trigger name> on <Object name> (trigger Events) {
// Implement the Logic here
}
• Types of Triggers:
– Before Triggers
– After Triggers
• Before Trigger: Before triggers are used to perform the logic on the same object
and specifically we cannot use the DML operation (Insert, update, delete) on these
triggers.
These triggers are fired before the data is saved into the database.
After Trigger: After triggers are used to perform the logic on the related objects
and these triggers are used access the fields values that are created by system (Ex:
CreatedBy, LasteModifiedBy , Record Id etc..).
•
victoriousdigital.in/salesforce-certification-training-institute-pune
Bulk Triggers
By default every trigger is a bulk trigger which is used to process the
multiple records at a time as a batch. For each batch of 200 records.
Trigger Context Variables:
All the trigger context variables are prefixed with “Trigger.” (Ex:
Trigger.isInsert, etc..)
• isInsert: Returns true if the trigger was fired due to insert operation.
• isUpdate: Returns true if the trigger was fired due to update
operation.
• isDelete: Returns true if the trigger was fired due to delete
operation.
• isBefore: Returns true if the trigger was fired before record is saved.
• isAfter: Returns true if the trigger was fired after record is saved.
victoriousdigital.in/salesforce-certification-training-institute-pune
• New: Returns a list of new version of sObject records.
• Old: Returns a list of old version of sObject records.
• NewMap: Returns a map of new version of sObject records. (map is
stored in the form of map<id,newRecords>)
• OldMap: Returns a map of old version of sObject records. (map is
stored in the form of map<id,oldRecords>)
• Size: Returns a integer (total number of records invoked due to
trigger invocation for the both old and new)
• isExecuting: Returns true if the current apex code is a trigger.
victoriousdigital.in/salesforce-certification-training-institute-pune
The events we can use in the new
trigger and old trigger
victoriousdigital.in/salesforce-certification-training-institute-pune
Trigger Context Variable
considerations:
• Trigger.Old is always readOnly
• We cannot delete trigger.new
• In before triggers, trigger.new can be used to
update the fields on the same object.
• In After trigger, we get run time exception is
thrown when user try to modify the fields in
the same object.
victoriousdigital.in/salesforce-certification-training-institute-pune
Scenarios
• Add fields values to account fields while inserting new accounts
• Populate account description with modified user name when user
updates account.
• Throw an error whenever the user try to delete the contact which is not
associated to account
• Create the object called “Customer Project” and create Status field under
this object with picklist data type (Values=Active, Inactive). Create the
relationship between this custom object and Opportunity so that
Customer Project is related list to the Opportunity.
Create Active Customer project- field on Opportunity object (Data
Type=Checkbox)
The logic is when we create Customer Project for an Opportunity with the
Status=Active, then Active Customer project check box on the
Opportunity Detail page is automatically
checked.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Create “Sales Rep” field with data type (Text)
on the Account Object. When we create the
Account record, the Account Owner will be
automatically added to Sales Rep field. When
we update the Account owner of the record,
then also the Sales Rep will be automatically
updated.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Create field called “Count of Contacts” on
Account Object. When we add the
Contacts for that Account then count will
populate in the field on Account details page.
When we delete the Contacts for that
Account, then Count will update
automatically.
victoriousdigital.in/salesforce-certification-training-institute-pune
Future Method
• A future method runs in the background, asynchronously. You can
call a future method for executing long-running operations, such
as callouts to external Web services or any operation you’d like to
run in its own thread, on its own time.
• You can also make use of future methods to isolate DML operations
on different sObject types to prevent the mixed DML error. For
Example you can't update an account and a user role in a single
transaction.
• Each future method is queued and executes when system resources
become available.
• That way, the execution of your code doesn’t have to wait for the
completion of a long-running operation.
• A benefit of using future methods is that some governor limits are
higher, such as SOQL query limits and heap size limits
victoriousdigital.in/salesforce-certification-training-institute-pune
Syntax
global class YourClassName
{
@future
public static void yourFutureMethodName(Set<Id>
recordIds)
{
List<Account> acc = [Select Id, Name from Account
Where Id IN :recordIds];
// process account records to do awesome stuff
}
}
victoriousdigital.in/salesforce-certification-training-institute-pune
• Methods with the future annotation must be static methods
• can only return a void type
• The specified parameters must be primitive data types, arrays of primitive data
types, or collections of primitive data types
• Methods with the future annotation cannot take sObjects or objects as
arguments.
• You can invoke future methods the same way you invoke any other method.
However, a future method can’t invoke another future method
• No more than 50 method calls per Apex invocation
• Asynchronous calls, such as @future or executeBatch, called in a startTest,
stopTest block, do not count against your limits for the number of queued jobs
• To test methods defined with the future annotation, call the class containing the
method in a startTest(), stopTest() code block. All asynchronous calls made after
the startTest method are collected by the system. When stopTest is executed, all
asynchronous processes are run synchronously
victoriousdigital.in/salesforce-certification-training-institute-pune
When to use Future Method:
• If you want to make the execution of the apex
program to run asynchronously then we make
use of future method.
• When you specify
future , the method executes when Salesforce has
available resources.
• For example, you can use the future annotation
when making an asynchronous Web service
callout to an external service.
victoriousdigital.in/salesforce-certification-training-institute-pune
global class FutureMethodExample
{
@future(callout=true)
public static void getStockQuotes(String acctName)
{
// Perform a callout to an external service
Http http=new Http();
HttpRequest hr=new HttpRequest();
hr.setMethod('POST');
hr.setEndpoint('https://google.com');
http.send(hr);
}
}
victoriousdigital.in/salesforce-certification-training-institute-pune
Important-
• The reason why sObjects can’t be passed as arguments
to future methods is because the sObject might change
between the time you call the method and the time it
executes.
• In this case, the future method will get the old sObject
values and might overwrite them. To work with
sObjects that already exist in the database, pass the
sObject ID instead (or collection of IDs) and use the ID
to perform a query for the most up-to-date record. The
following example shows how to do so with a list of IDs
victoriousdigital.in/salesforce-certification-training-institute-pune
FUTURE METHOD CONSIDERATIONS
• Remember that any method using the future annotation requires
special consideration because the method does not necessarily
execute in the same order it is called.
• Future methods don’t have any execution order
• Methods with the future annotation cannot be used in Visualforce
controllers in either getMethodName or setMethodName methods,
nor in the constructor.
• You cannot call a method annotated with future from a method
that also has the future annotation. Nor can you call a trigger from
an annotated method that calls another annotated method.
• The getContent and getContentAsPDFPageReference methods
cannot be used in methods with the future annotation
• Consider using Batch Apex instead of future methods to process
large number of records asynchronously. This is more efficient than
creating a future request for each record.
victoriousdigital.in/salesforce-certification-training-institute-pune
Batch Apex
• Batch Apex is asynchronous execution of Apex
code, specially designed for processing the
large number of records and has greater
flexibility in governor limits than the
synchronous code.
victoriousdigital.in/salesforce-certification-training-institute-pune
When to use Batch Apex?
• When you want to process large number of records on
daily basis or even on specific time of interval then you
can go for Batch Apex.
• Also, when you want an operation to be asynchronous
then you can implement the Batch Apex. Batch Apex is
exposed as an interface that must be implemented by
the developer. Batch jobs can be programmatically
invoked at runtime using Apex. Batch Apex operates
over small batches of records, covering your entire
record set and breaking the processing down to
manageable chunks of data.
victoriousdigital.in/salesforce-certification-training-institute-pune
• batch that runs against 10,000 Accounts will
actually be run in 50 separate execute()
transactions, each of which only has to deal
with 200 Accounts. Governor limits still apply,
but only to each transaction, along with a
separate set of limits for the batch as a whole.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Database.Batchable interface has the
following three methods that need to be
implemented −
• Start
• Execute
• Finish
victoriousdigital.in/salesforce-certification-training-institute-pune
Start
• This method will be called at the starting of the
Batch Job and collects the data on which the
Batch job will be operating.
• Use the Database.QueryLocator object when you
are using a simple query to generate the scope of
objects used in the batch job. In this case, the
SOQL data row limit will be bypassed.
• Use the iterable object when you have complex
criteria to process the records.
Database.QueryLocator determines the scope of
records which should be processed.
victoriousdigital.in/salesforce-certification-training-institute-pune
Start – Use this to basically collect the records and then pass on
to execute method
Execute- Use this to process the records.
Finish – Called once, when processing get finished and can be
used for operations like sending confirmation email
victoriousdigital.in/salesforce-certification-training-institute-pune
Execute
• where, list<sObject< is returned by the
Database.QueryLocator method.
• This method gets called after the Start
method and does all the processing required
for Batch Job.
• global void
execute(Database.BatchableContext BC,
list<subject> scope) {}
victoriousdigital.in/salesforce-certification-training-institute-pune
Finish
• This method gets called at the end and you
can do some finishing activities like sending an
email with information about the batch job
records processed and status.
• global void finish(Database.BatchableContext
BC) {}
victoriousdigital.in/salesforce-certification-training-institute-pune
Example
Global class batchAccountUpdate implements Database.Batchable<sObject> {
Global Database.QueryLocator start(Database.BatchableContext BC) {
String query = ‘SELECT Id,Name FROM Account’;
return Database.getQueryLocator(query);
}
Global void execute(Database.BatchableContext BC, List<Account> scope) {
for(Account a : scope) {
a.Name = a.Name + ‘Updated’;
}
update scope;
}
• Global void finish(Database.BatchableContext BC) {
AsyncApexJob a = [SELECT Id, Status, NumberOfErrors,
JobItemsProcessed,TotalJobItems, CreatedBy.Email
FROM AsyncApexJob WHERE Id =:BC.getJobId()];
String UserEmail = ‘Any EMAIL’;
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(new String[] {UserEmail});
mail.setReplyTo(‘ANY EMAIL’);
mail.setSenderDisplayName(‘Batch Processing’);
mail.setSubject(‘Batch Process Completed’);
mail.setPlainTextBody(‘Batch Process has completed’);
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
}
}
victoriousdigital.in/salesforce-certification-training-institute-pune
How to run Batch Process:
• In order to run batch process, you need to use
Database.executeBatch() method.
Open the developer console and then write a
small snippet of apex code as shown below
batchAccountUpdate batchJob = new
batchAccountUpdate();
Database.executeBatch(batchJob);
victoriousdigital.in/salesforce-certification-training-institute-pune
Scheduling Batch Process:
• We can also schedule batch apex. In order to schedule
batch class,we need to write schedulable batch class.
• Example:
Global class batchAccountUpdateSchedular
implements Schedule{
Global void execute(SchedulableContext sc){
batchAccountUpdate b= new batchAccountUpdate();
Database.executebatch(b);
}
}
Now you can schedule this apex class by using
Schedule Apex in Salesforce
victoriousdigital.in/salesforce-certification-training-institute-pune
Visualforce Pages
• Visualforce is markup language that allows to
define user interface components in Salesforce.
This is very interesting tool which runs o
force.com platform. By using page layouts, we
can easily configure User interface. But by using
visusalforce pages, you can develop your own
customized user interface.
victoriousdigital.in/salesforce-certification-training-institute-pune
• In VisualForce page we can write the HTML, CSS, and
JavaScript etc…
• Each visual force is page that contains the
tags/components and controllers.
• Each tag contains attributes and attributes defines the
properties of the tag.
– By default each tag has two attributes.
• ID: – Id is used to bind the two components together.
• Rerendered: – Used to show/hide the component.
– Controllers: –
• Standard Controller: –
• Custom Controller/Controller
• Extension Controller
victoriousdigital.in/salesforce-certification-training-institute-pune
Where to use Visualforce Page
• Visualforce pages can be used to
• – Override standard buttons, such as New button
for accounts, save button for contacts….etc..
• – To override custom tabs, to create vf tabs
• – Embed components in detail page layout.
• – Create dashboard components on custom help
pages
• – Customize, extend on integrate the sideboards
in the service cloud console(custom console
components)
victoriousdigital.in/salesforce-certification-training-institute-pune
Controllers
• Standard Controller
• StandardController objects reference the pre-built Visual
Force controllers provided by salesforce.com. The only time it is
necessary to refer to a StandardController object is when defining
an extension for a standard controller. StandardController is the
data type of the single argument in the extension class constructor.
• Standard Controller is used for customization of both standard and
custom objects.
• Controller
• Controller is an apex class which is used to implement all the logic
of VisualForce page without leveraging the standard functionality.
• Extension Controller
• Extension is an apex class used to extend or add the functionality to
standard or custom controllers.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Custom Controller: A custom controller is an Apex class that implements
all of the logic for a page without leveraging a standard controller. Use
custom controllers when you want your Visualforce page to run entirely in
system mode, which does not enforce the permissions and field-level
security of the current user.
Controller extension: A controller extension is an Apex class that extends
the functionality of a standard or custom controller. Use controller
extensions when:
• You want to leverage the built-in functionality of a standard controller
but override one or more actions, such as edit, view, save, or delete.
• You want to add new actions.
victoriousdigital.in/salesforce-certification-training-institute-pune
• • You want to build a Visualforce page that respects user permissions.
Although a controller extension class executes in system mode, if a
controller extension extends a standard controller, the logic from the
standard controller does not execute in system mode. Instead, it executes
in user mode, in which permissions, field-level security, and sharing rules
of the current user apply.
A controller extension is any Apex class containing a constructor that takes
a single argument of type ApexPages.StandardController or
CustomControllerName, whereCustomControllerName is the name of a
custom controller you want to extend.
Note: Although custom controllers and controller extension classes
execute in system mode and thereby ignore user permissions and field-
level security, you can choose whether they respect a user's organization-
wide defaults, role hierarchy, and sharing rules by using the with sharing
keywords in the class definition.
victoriousdigital.in/salesforce-certification-training-institute-pune
What is a report?
• A report is a list of records that meet the criteria you
define. It’s displayed in Salesforce in rows and columns,
and can be filtered, grouped, or displayed in a graphical
chart.
• Every report is stored in a folder. Folders can be public,
hidden, or shared, and can be set to read-only or
read/write. You control who has access to the contents
of the folder based on roles, permissions, public
groups, and license types. You can make a folder
available to your entire organization, or make it private
so that only the owner has access.
victoriousdigital.in/salesforce-certification-training-institute-pune
Standard Salesforce Reports
• A report represents the relationship between primary
objects and its related objects. To represent this
relationship report has predefined templates which
makes reporting easier. Every report displays only
those records which meets the criteria.
• Salesforce has Standard report type as default report
type. Standard report type is present for all salesforce
standard objects. For custom objects, salesforce
automatically create a standard report type using
“with”, or “and” relationship.
victoriousdigital.in/salesforce-certification-training-institute-pune
Custom Salesforce Reports
• The custom report type can be created by
selecting the objects of your interest and their
relationships. The wizard will give access to all
child objects of these selected objects. This
type of report can be customize as per user
need.
victoriousdigital.in/salesforce-certification-training-institute-pune
Salesforce Reports Presentation
Styles
• Based on the presentation following styles can be used to generate
report in salesforce.
• Tabular Report : The basic form of presentation of user data is
tabular report. It has simple listing of data without any subtotals.
One can use this report if the presentation is simple.
• Summary Report : Summary report is little bit advanced report as
compare to tabular report having grouping of information with
subtotals.
• Matrix Report : Matrix report has groups of data based on columns
and rows. This report can be used to represent comparison
between related total with total by row and total by column.
• Join Report : Join report has the more advanced way to represent
data. This report will allow you to relate different blocks and show
them in single report. Each block has unique attributes like name,
filters, columns, data, and summary fields.
victoriousdigital.in/salesforce-certification-training-institute-pune
Features of the Salesforce Reports
• Salesforce Reports is one of the most powerful features to represent business and easy
understanding of the relationship among objects. Every report in salesforce support following
features.
• Custom Summary Formula field: User can define formula based on summary report is generated.
• Exception Reports (Cross Filters): These reports are used to show highlight the position where data
doesn’t exist. These reports are created using cross filters.
• Custom Summary Formulas: These formulas are used on reports to calculate complex data from
summary level.
• Analytical Snapshots: Snapshot captures data at schedule point with respect to time.
• Historical Trend Reporting: This will allow you to track your data. This will allow you to track upto 8
fields on Opportunity object and 3 fields up to custom objects.
• Bucket Field: Salesforce allows us to categorize records without using any formula. This is known as
Bucketing. In bucketing user defines the bucket field (or bucket multiple categories) to group report
value.
• Condition High-lighting : To highlight field values on summary or matrix reports based on some
criteria like value ranges user can apply conditional highlighting. To enable this, report must have
custom summary formula or at least one summary field.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Scheduling report for future run : Once you
create a new report we can schedule report by
using following steps:
• Set the frequency field to run report. It can be
any value you want to run the report number of
times like Daily, Weekly or Monthly.
• Mention the dates in Start and End fields.
• To run the report you must select start time. Click
on Find available options to choose a start time.
• To save report schedule click on Save Report
Schedule.
victoriousdigital.in/salesforce-certification-training-institute-pune
What is a dashboard?
• A dashboard is a visual display of key metrics and trends for records in your org. The relationship between
a dashboard component and report is 1:1; for each dashboard component, there is a single underlying
report. However, you can use the same report in multiple dashboard components on a single dashboard
(e.g., use the same report in both a bar chart and pie chart). Multiple dashboard components can be
shown together on a single dashboard page layout, creating a powerful visual display and a way to
consume multiple reports that often have a common theme, like sales performance, customer support,
etc.
• Like reports, dashboards are stored in folders, which control who has access. If you have access to a folder,
you can view its dashboards. However, to view the dashboard components, you need access to the
underlying reports as well. You can also follow a dashboard in Chatter to get updates about the dashboard
posted to your feed.
• Each dashboard has a running user, whose security settings determine which data to display in a
dashboard. If the running user is a specific user, all dashboard viewers see data based on the security
settings of that user—regardless of their own personal security settings. For this reason, you’ll want to
choose the running user wisely, so as not to open up too much visibility. For example, set the Sales
Manager as the running user for a leaderboard for her team. This allows her team members to view the
leaderboard for their individual team, but not other teams.
• Dynamic dashboards are dashboards for which the running user is always the logged-in user. This way,
each user sees the dashboard according to his or her own access level. If you’re concerned about too
much access, dynamic dashboards might be the way to go.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Dashboard is a page layout for visual display of
your data. Each dashboard has 1:1 mapping
for its component and report. One can
clubbed multiple dashboard components to
display a single report. The security settings is
used to control the visibility of data. These
dashboards are dynamic in nature. User can
only view their own data as per their settings.
victoriousdigital.in/salesforce-certification-training-institute-pune
Dashboard components and their
usage
• Charts, tables, gauges, metrics are component
in dashboard. User can select any of these
component to view data.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Chart: Chart is used for graphical presentation
of data. Visual force has variety of chart types
to represent your data.
• Gauge: This can be used when the single value
need to pointed within range of custom
values.
• Metric: This used to represent data based on
one key value.
• Table: Table is used to show the set of data.
victoriousdigital.in/salesforce-certification-training-institute-pune
Dashboard Settings
• The dashboard setting option is available next to report
setting for tabular reports limited by row.
• Dashboard Running User concept
• Each dashboard has a running user, based on security
settings determined by the user the data is display in a
dashboard.
• To select a dashboard’s running user in Salesforce Classic
use following steps:
• Go to Edit a dashboard.
• Click the down arrow button next to the View dashboard as
• Select a running user setting. It has two options
victoriousdigital.in/salesforce-certification-training-institute-pune
• Run as specified user. In this view all users
able to see same data regardless of their
personal security settings.
• Run as logged-in user.This type of settings is
used in dynamic dashboard and each user can
view only their own data
victoriousdigital.in/salesforce-certification-training-institute-pune
• Then select the option “Let authorized users change running user” to enable user
with permission to change the running user on the dashboard view page.
• If user has “View My Team’s Dashboards” selection then dashboard as any user
below them in the role hierarchy can view dashboard.
• “View All Data” option will allow all users to edit the dashboard and view it as any
user in their organization.
• “Enable Other User’s Dashboard” will restrict the access to edit the dashboard. If
they have access to it, though that user is not the running user and don’t have
“View All Data.”
• Click OK.
• View dashboard as field, “running user”.
• Click Save.
• For reference read more ------
https://success.salesforce.com/answers?id=90630000000hOkpAAE
victoriousdigital.in/salesforce-certification-training-institute-pune
What is a report type?
• A report type is like a template which makes reporting easier. The report type
determines which fields and records are available for use when creating a report.
This is based on the relationships between a primary object and its related objects.
For example, with the ‘Contacts and Accounts’ report type, ‘Contacts’ is the
primary object and ‘Accounts’ is the related object.
• Reports display only records that meet the criteria defined in the report type. Out
of the box, Salesforce provides a set of predefined standard report types. Don’t
see all the fields you want? You might need to create a custom report type.
• For example, an administrator can create a report type that shows only job
applications that have an associated resume; applications without resumes won't
show up in reports using that type. An administrator can also show records that
may have related records—for example, applications with or without resumes. In
this case, all applications, whether or not they have resumes, are available to
reports using that type. An administrator can also add fields from a related object
by creating a lookup relationship to that object, allowing for even more reporting
possibilities.
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
Salesforce Communities:
• Salesforce Communities are very useful for employees,
customers and partners to connect in one place. We can
create and customize communities according to our
requirement. Communities was released in summer’ 13
release.
• You can collaborate and communicate with people outside
of your company who are key to business. We can easily
communicate with internal users and portal users and
external users.
• We can create multiple communities in an organization. For
example for partner support you can create one
community and for customer support you create one more
community. Like based on your business need you can
create multiple communities.
• Salesforce Communities are useful to:
• – Drive more sales by connecting your employees with your
distributors, resellers, and suppliers
• – Deliver world-class service by giving your customers one place to
get answers
• – Manage social listening, content, engagement, and workflow all in
one place
• Here in this post I will explain you how to enable community and how to
create communities.
• How to enable community in Salesforce?
• To enable community in Salesforce go to setup -> Build -> Customize ->
Communities and click on settings. and check enable communities check
box and enter your domain name and save it.
• Note: You cannot change your domain name once you save it. This domain
name will be used in all of your communities.
victoriousdigital.in/salesforce-certification-training-institute-pune
Check availability button is used to, the domain entered by you is available
or not
victoriousdigital.in/salesforce-certification-training-institute-pune
• Once communities is enabled new header will
be enabled in your salesforce org, there you
can swipe between multiple communities. See
the below screen for reference.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Now communities are enabled. We will see how to create
communities.
• How to create communities in salesforce?
• To create communities go to setup -> Build -> Customize ->
Communities -> Manage Communities -> and click on New
communities button . And enter name,
description and url and click on create button.
• How to manage community?
• Once community is created, that is only visible to only
administrators until you publish it or share the URL. After
creating the community you will navigate to following
screen.
victoriousdigital.in/salesforce-certification-training-institute-pune
victoriousdigital.in/salesforce-certification-training-institute-pune
Click on EDIT button to manage the community you
just created. After clicking on edit you will be navigate
to below screen.
victoriousdigital.in/salesforce-certification-training-institute-pune
• Members is used to add members to the community.
• Tabs & pages button is used to manages Which tabs are available to the
community and overriding home page with visualforce page.
• Branding button is used add header, footer and to change colors.
• Login Page button is used to add logo to your community and also we can
define login options for external users.
• Email button is used to specify sender email to notifications, chatter email
branding and email templates.
• Miscellaneous button is used to flagging contents, enable private
messages and enable knowledgeable people on topics.
• Once you defined all your community settings you can publish your
community.
• How to add members to your salesforce communities?
• Based on the profiles and permission sets we can add members to the
Salesforce communities.
victoriousdigital.in/salesforce-certification-training-institute-pune
To add members to your Salesforce communities go to Setup -> Build -> customize
-> Community -> manage community -> and edit your community and click on
Members and add profiles or permission sets you want give access to community.
See the below screen for reference.
victoriousdigital.in/salesforce-certification-training-institute-pune
Lightning (Salesforce Lightning)
• Lightning (Salesforce Lightning) is
a component-based framework for app
development from Salesforce.com that is
designed to simplify processes for business
users, who typically do not have programming
experience.
victoriousdigital.in/salesforce-certification-training-institute-pune
Lightning Features
• Experience, a graphical user interface (GUI) that is optimized for
speed.
• Lightning App Builder, which provides drag and drop capacities to
facilitate app creation and customization.
• Lightning Component Framework, which includes tools and
extensions that enable the development of reusable components
and standalone apps and customization of the Salesforce1 Mobile
App.
• A Javascript framework for creating single page applications and
Lightning Components.
• Design System, A CSS framework and component library for
building Lightning styled apps.
• Lightning Connect, an integration tool that makes it easier for
Force.com apps to consume data from any external source that
conforms to the OData specification.
victoriousdigital.in/salesforce-certification-training-institute-pune
Lightning Components Framework
• Lightning Components is a UI framework for developing web
apps for mobile and desktop devices. It’s a modern
framework for building single-page applications with dynamic,
responsive user interfaces for Lightning Platform apps. It uses
JavaScript on the client side and Apex on the server side.
victoriousdigital.in/salesforce-certification-training-institute-pune
Contact Us
victoriousdigital.in/salesforce-certification-training-institute-pune
Office No – 310, 3rd Floor, Above Panchali Hotel, JM Road, Shivaji Nagar,
Pune
9545022110 / 9579932978
victoriousdigital2015@gmail.com
victoriousdigital.in/salesforce-certification-training-institute-pune
Thank you
victoriousdigital.in/salesforce-certification-training-institute-pune

More Related Content

Similar to Salesforce Training Institute & Courses Pune | SFDC Training PCMC

Unit 2_DBMS_10.2.22.pptx
Unit 2_DBMS_10.2.22.pptxUnit 2_DBMS_10.2.22.pptx
Unit 2_DBMS_10.2.22.pptx
MaryJoseph79
 
ER modeling
ER modelingER modeling
ER modeling
Dabbal Singh Mahara
 
Tools-and-Techniques-for-Basic-Administration-vFinal3.pptx
Tools-and-Techniques-for-Basic-Administration-vFinal3.pptxTools-and-Techniques-for-Basic-Administration-vFinal3.pptx
Tools-and-Techniques-for-Basic-Administration-vFinal3.pptx
indupriya93
 
Database Lecture 3.pptx
Database Lecture 3.pptxDatabase Lecture 3.pptx
Database Lecture 3.pptx
RUBAB79
 
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdfEContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
sitework231
 
ER diagram slides for datanase stujdy-1.pdf
ER diagram slides for datanase stujdy-1.pdfER diagram slides for datanase stujdy-1.pdf
ER diagram slides for datanase stujdy-1.pdf
SadiaSharmin40
 
salesforce.pptx
salesforce.pptxsalesforce.pptx
salesforce.pptx
PratikStha4
 
Bn1038 demo pega
Bn1038 demo  pegaBn1038 demo  pega
Bn1038 demo pega
conline training
 
Model Confidence for Master Data with David Loshin
Model Confidence for Master Data with David LoshinModel Confidence for Master Data with David Loshin
Model Confidence for Master Data with David Loshin
Embarcadero Technologies
 
SFDC Database Additional Features
SFDC Database Additional FeaturesSFDC Database Additional Features
SFDC Database Additional Features
Sujit Kumar
 
SFDC Database Basics
SFDC Database BasicsSFDC Database Basics
SFDC Database Basics
Sujit Kumar
 
How to Set Up Row-Level Security in Power BI
How to Set Up Row-Level Security in Power BIHow to Set Up Row-Level Security in Power BI
How to Set Up Row-Level Security in Power BI
Senturus
 
Salesforce interview questions walkthrough
Salesforce interview questions walkthroughSalesforce interview questions walkthrough
Salesforce interview questions walkthrough
Shivam Srivastava
 
Blurring the Boundaries Between Salesforce Orgs
Blurring the Boundaries Between Salesforce OrgsBlurring the Boundaries Between Salesforce Orgs
Blurring the Boundaries Between Salesforce Orgs
Salesforce Developers
 
LDV-v2.pptx
LDV-v2.pptxLDV-v2.pptx
LDV-v2.pptx
Shams Pirzada
 
IT6701 Information Management - Unit I
IT6701 Information Management - Unit I  IT6701 Information Management - Unit I
IT6701 Information Management - Unit I
pkaviya
 
1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx
umarAnjum6
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
Chetna Purohit
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
edm00se
 

Similar to Salesforce Training Institute & Courses Pune | SFDC Training PCMC (20)

Unit 2_DBMS_10.2.22.pptx
Unit 2_DBMS_10.2.22.pptxUnit 2_DBMS_10.2.22.pptx
Unit 2_DBMS_10.2.22.pptx
 
ER modeling
ER modelingER modeling
ER modeling
 
Tools-and-Techniques-for-Basic-Administration-vFinal3.pptx
Tools-and-Techniques-for-Basic-Administration-vFinal3.pptxTools-and-Techniques-for-Basic-Administration-vFinal3.pptx
Tools-and-Techniques-for-Basic-Administration-vFinal3.pptx
 
Database Lecture 3.pptx
Database Lecture 3.pptxDatabase Lecture 3.pptx
Database Lecture 3.pptx
 
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdfEContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
 
ER diagram slides for datanase stujdy-1.pdf
ER diagram slides for datanase stujdy-1.pdfER diagram slides for datanase stujdy-1.pdf
ER diagram slides for datanase stujdy-1.pdf
 
salesforce.pptx
salesforce.pptxsalesforce.pptx
salesforce.pptx
 
Bn1038 demo pega
Bn1038 demo  pegaBn1038 demo  pega
Bn1038 demo pega
 
LDV.pptx
LDV.pptxLDV.pptx
LDV.pptx
 
Model Confidence for Master Data with David Loshin
Model Confidence for Master Data with David LoshinModel Confidence for Master Data with David Loshin
Model Confidence for Master Data with David Loshin
 
SFDC Database Additional Features
SFDC Database Additional FeaturesSFDC Database Additional Features
SFDC Database Additional Features
 
SFDC Database Basics
SFDC Database BasicsSFDC Database Basics
SFDC Database Basics
 
How to Set Up Row-Level Security in Power BI
How to Set Up Row-Level Security in Power BIHow to Set Up Row-Level Security in Power BI
How to Set Up Row-Level Security in Power BI
 
Salesforce interview questions walkthrough
Salesforce interview questions walkthroughSalesforce interview questions walkthrough
Salesforce interview questions walkthrough
 
Blurring the Boundaries Between Salesforce Orgs
Blurring the Boundaries Between Salesforce OrgsBlurring the Boundaries Between Salesforce Orgs
Blurring the Boundaries Between Salesforce Orgs
 
LDV-v2.pptx
LDV-v2.pptxLDV-v2.pptx
LDV-v2.pptx
 
IT6701 Information Management - Unit I
IT6701 Information Management - Unit I  IT6701 Information Management - Unit I
IT6701 Information Management - Unit I
 
1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
 

More from victoriousdigital

Digital Marketing Courses Syllabus
Digital Marketing Courses Syllabus Digital Marketing Courses Syllabus
Digital Marketing Courses Syllabus
victoriousdigital
 
Salesforce Training Institute In Pune Syllabus
Salesforce Training  Institute In Pune Syllabus Salesforce Training  Institute In Pune Syllabus
Salesforce Training Institute In Pune Syllabus
victoriousdigital
 
Python Classes in Pune- Victorrious Digital
Python Classes in Pune- Victorrious DigitalPython Classes in Pune- Victorrious Digital
Python Classes in Pune- Victorrious Digital
victoriousdigital
 
Digital marketing courses in pune | Top Training Institute in Pune
Digital marketing courses in pune | Top Training Institute in PuneDigital marketing courses in pune | Top Training Institute in Pune
Digital marketing courses in pune | Top Training Institute in Pune
victoriousdigital
 
Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...
Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...
Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...
victoriousdigital
 
Digital Marketing Courses With all Modules
Digital Marketing Courses With all ModulesDigital Marketing Courses With all Modules
Digital Marketing Courses With all Modules
victoriousdigital
 
Digital marketing Courses in Pune
Digital marketing Courses in PuneDigital marketing Courses in Pune
Digital marketing Courses in Pune
victoriousdigital
 

More from victoriousdigital (7)

Digital Marketing Courses Syllabus
Digital Marketing Courses Syllabus Digital Marketing Courses Syllabus
Digital Marketing Courses Syllabus
 
Salesforce Training Institute In Pune Syllabus
Salesforce Training  Institute In Pune Syllabus Salesforce Training  Institute In Pune Syllabus
Salesforce Training Institute In Pune Syllabus
 
Python Classes in Pune- Victorrious Digital
Python Classes in Pune- Victorrious DigitalPython Classes in Pune- Victorrious Digital
Python Classes in Pune- Victorrious Digital
 
Digital marketing courses in pune | Top Training Institute in Pune
Digital marketing courses in pune | Top Training Institute in PuneDigital marketing courses in pune | Top Training Institute in Pune
Digital marketing courses in pune | Top Training Institute in Pune
 
Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...
Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...
Digital Marketing Courses in Pune | Training Institute | Affordable FeesBest ...
 
Digital Marketing Courses With all Modules
Digital Marketing Courses With all ModulesDigital Marketing Courses With all Modules
Digital Marketing Courses With all Modules
 
Digital marketing Courses in Pune
Digital marketing Courses in PuneDigital marketing Courses in Pune
Digital marketing Courses in Pune
 

Recently uploaded

MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
goswamiyash170123
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 

Recently uploaded (20)

MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 

Salesforce Training Institute & Courses Pune | SFDC Training PCMC

  • 2. What is Cloud Computing? • Paradigm/model that allows On Demand network Access to Shared Computing Resources • Managing, Storing, Processing Data Online via Internet victoriousdigital.in/salesforce-certification-training-institute-pune
  • 3. Characteristics • On Demand Service • Network Access • Shared Resources • More scalability victoriousdigital.in/salesforce-certification-training-institute-pune
  • 4. Delivery Models • SAAS (Software as a Service) • PAAS (Platform as a Service) • IAAS (Infrastructure as a Service) victoriousdigital.in/salesforce-certification-training-institute-pune
  • 5. SAAS • On Demand Service Pay per use of application software to users • Independent of platform Dont require anything to be installed in PC • Runs in a single instance of Software Available for multiple end users • Cheap Resources maintained by vendor • Accessible via web browser victoriousdigital.in/salesforce-certification-training-institute-pune
  • 6. Examples • Who uses-end users • Gmail • Office 365 • Google drive • CRM – Salesforce.com victoriousdigital.in/salesforce-certification-training-institute-pune
  • 7. PROS and CONS • Accessible from any platform • No need to commute (we can work from anywhere) • Allows Multi tenancy • Best for collaborative working • Browsers issues • Internet performance victoriousdigital.in/salesforce-certification-training-institute-pune
  • 8. PAAS • Service made with programming lanuage,web server,database • Like Salesforce Force.com (use of apex language similar to java) • Build,Compile,Run programs without worrying about Infrastructure • Manage data,Application Resources victoriousdigital.in/salesforce-certification-training-institute-pune
  • 9. Examples • Who uses- developers • AWS • Heroku • Force.com
  • 10. PROS and CONS • Cost effective • Faster market for developers • Easy deployment • Private Public deployment possible (use of managed package) • Limited developers • Migration issues victoriousdigital.in/salesforce-certification-training-institute-pune
  • 11. IAAS • Computing Architecture , Infrastructure,but all in virtual environment • Data storage,Virtualization,Servers,Networking • Mainly handle application,data,runtime,Middleware victoriousdigital.in/salesforce-certification-training-institute-pune
  • 12. Examples • Who uses – Sys Admins • AWS EC2 • Rackspace.com • Gogrid victoriousdigital.in/salesforce-certification-training-institute-pune
  • 13. PROS and CONS • Cloud provides the Infra • Scalability • Flexible • Security Issues • Network & Service delays victoriousdigital.in/salesforce-certification-training-institute-pune
  • 14. Database • collection of related data and its metadata organized in a structured format • Database Management System (DBMS) – is a software that enables easy creation, access, and modification of databases victoriousdigital.in/salesforce-certification-training-institute-pune
  • 15. Salesforce.com Database • organized collection of objects. • database tables to collect (or store) the information • information as object in Salesforce.com • table is presented with rows and columns • Salesforce its maintained as Record and Field. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 16. Database Structure • In Salesforce.com objects are of three types: • Standard Objects: These are the objects that are pre defined by the salesforce and readily available. • Custom Objects: These are the objects created by user according to their need .Each custom object has five standard fields (refer Note 2.2.1) • External Objects: These are the custom objects which are used to map the data stored outside your organization. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 17. Default Standard fields • ID: This is an index allocated to each object. This value is unique. ID can be of 15 digit (Case sensitive) and 18 digits (Case insensitive) • Name • Owner • Created Date/ Created By • Last Modified Date/ Last Modified By victoriousdigital.in/salesforce-certification-training-institute-pune
  • 18. Normal excel based vs Relational database • Relationships define the connection between two objects, and objects are related to each other through the use of common fields. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 19. Types of Relationship • Relationships associate one object with other object. • Relationship is always defined on the child object. • The child object has complete access of the parent. Based on the handling of data deletion, record, ownership, security victoriousdigital.in/salesforce-certification-training-institute-pune
  • 20. Introduction of Primary-Keys & Foreign-Keys (Conceptual Knowledge) • A Primary key is a column or set of columns that uniquely identifies the record in the table. When a primary key is defined using multiple columns, the data from each column is used to determine whether a record/row is unique. When we defined any column or columns as primary key, there are some constrains which should be satisfied by primary key that is column value should not be null (Null Constrains) and data should be unique (Unique Constrains.) • A Foreign key is a set of one or more columns in a table that refers to the primary key in another table. Foreign key does not necessary to be always point to primary key, but the basic idea behind foreign key is that any column which is unique to identify that record/row. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 21. different types of relationships are categorized in to following ways: • Master Detail • Lookup relationship victoriousdigital.in/salesforce-certification-training-institute-pune
  • 22. Using 2 relationship we can build various relationships in SFDC • Many to One (Many child objects but one Parent Object)E.g. many metro cities are associated to One Country. This kind of relationship is represented in four different forms like • Master-detail • LookUp (Loosely Coupled Relationship) • Self • Hierarchical (only available on User object) victoriousdigital.in/salesforce-certification-training-institute-pune
  • 23. Master-Detail (1: n) — (One Parent Object and Many Child Objects) • The record of child object gets automatically deleted when we delete the master object. • To create a child object parent object reference field is required. • Child object does not have separate sharing but it derives from Parent object, the detail records inherits the sharing and security settings of respective master record. • The Owner field is automatically set to the owner of its associated master record as owner field is not available at detail side (child object). victoriousdigital.in/salesforce-certification-training-institute-pune
  • 24. • The detail record must have the master detail relationship field on its page layout. • Administrators select Allow reprinting option in the master- detail relationship definition to represent child records in master-detail relationship on custom objects. • Master-detail relationships can be defined on two custom objects. • One can define this relationship between one custom object and one standard object but in such relationship the standard object cannot be on the detail side of a relationship with a custom object. The data of custom object is displayed on page layout. • master-detail relationship can’t be created on objects where the User or Lead objects are the master. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 25. Lookup (1: n) • Lookup is also one-to-many relationship but in this relationship two objects has no effect on deletion or security. • Child objects are independent • Child object have separate setting • If we delete parent object child object will remain in system. • Child may or may not have parent. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 26. Self • In this relationship the object is self-referred. E.g. Add on Card on your credit card • an object has a lookup with itself, it is a self- relationship. A self relationship creates a tree diagram of the objects. For example, the account has a lookup on himself, called Parent Account. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 27. Hierarchical • This is also (1: N) Lookup relationship • But can only be defined on User object. In this we can use lookup field to associate one user with other user. • relationship is a special lookup relationship available only for the user object. It allows users to use a lookup field to associate one user with another that does not directly or indirectly refer to itself. For example, you can create a custom hierarchical relationship field to store each user's direct manager. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 28. Many-to-many Very Very IMP • master-detail relationships can be used to model many-to-many relationships between any two objects. • In many-to-many relationship each record of one object is linked with multiple records from another objects and vice versa. • We need to create custom junction object to create a many-to-many relationship and then master-detail relationship fields, are linked with this objects. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 29. Junction object • This object is used to create Many-to-Many relationship. • Salesforce support two relationship master detail and Lookup but both are 1:n that is one- to-many. • To define many-to-many relationship we need third object and that is called junction object. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 30. Example • Classroom and Courses • Can have multiple courses in 1 classroom on different time • Can have 1 course in multiple classroom • To understand this we need a junction object Course offerings victoriousdigital.in/salesforce-certification-training-institute-pune
  • 31. Junction object Example • Create 3 custom objects • Classroom fields seats • Course field Name • Junction Course offerings • Fields start date, enddate,current occupancy • One formula field later • On course offering have 2 master detail relationship one to classroom and other to Course victoriousdigital.in/salesforce-certification-training-institute-pune
  • 39. Model • The model is your database objects in Salesforce. The include the standard Salesforce objects like Leads, Contacts, Accounts, Opportunities etc but it also includes any custom objects you've created. Think of it like this - the "model" represents your data model in terms of MVC. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 40. VIEW • The view represents the presentation of the data (i.e. the user interface). • Pages - While often just called "pages", what we are talking about is Visualforce pages. They are the building blocks of the user interface. Visualforce uses HTML to lay out the appearance of the application interface. Each page is referenced by a unique URL just like a regular webpage. The pages themselves also contain Visualforce Components which can be invoked by simple tags inside the page. • Components - these are both standard and custom Visualforce Components. Think of them like widgets that you can add to your pages. Once you write the code once, you can reuse it on multiple pages. Components are important because they allow for this reuse. Components can be styled with CSS. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 41. CONTROLLER • Controllers are the building blocks of the actual application logic. The controllers are written in Apex code and they end up controlling and enforcing all the business logic. Remember that one of the key design elements of MVC is to separate the logic from the UI. The presentation layer (the view) shouldn't be mixed with a bunch of business logic. Pages interact with the controller through components which shuttle the data and specifies what happens when the user actually interacts with the UI. Salesforce has pre-built controllers for many of the standard actions like View, Edit, Save. If you want to add new behavior though you can extend or build new controllers (custom controllers) in Apex. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 42. Roll-up Summary Field • A roll-up summary field is custom object field which calculates values from related records child records detail records or the records in a related list. • Roll-up summary field is created to display a value in a master record based on the values of fields in a detail record. • Roll-up summary can be defined on Master- Detail relationship only. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 43. Types • Assumption child record has fees field of master • Count-count of all child records on master • Sum- field on child for aggregation referred sum of fees field on child • Min minimum value of fees in all child records • Max maximum value of fees in all child records • Go to App Setup | Create | Objects and click on New field and Select Roll up summary field. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 44. Type Description COUNT Totals the number of related records. SUM Totals the values in the field you select in the Field to Aggregate option. Only number, currency, and percent fields are available. MIN Displays the lowest value of the field you select in the Field to Aggregate option for all directly related records. Only number, currency, percent, date, and date/time fields are available. MAX Displays the highest value of the field you select in the Field to Aggregate option for all directly related records. Only number, currency, percent, date, and date/time fields are available. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 45. Formula & Cross Object Formula Field in Salesforce: • Formula Field is a read only field whose value is evaluated from the formula or expression defined by us. We can define formula field on both standard as well as custom objects. Any change in expression or formula will automatically update the value of formula field. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 46. Return types of Formula Fields • We can define formula field for 7 types: • Number • Currency • Percent • Date • Date/Time • Checkbox • Text victoriousdigital.in/salesforce-certification-training-institute-pune
  • 47. Cross Object Formula Field • Cross Object Formula Fields are the fields which are based on a Cross-object formulas. • The cross object formulas are defined on two related objects and reference merge fields on those objects. • This field is built on child object. It is also known as Reference formula. We can apply cross-object fields up to 10 levels. Cross-object formulas can reference merge fields from a master object as well as if field is at detail side then it can merge field from a master-detail relationship. Cross Objects formula can also be defined on lookup relationships. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 48. Record types • Record types allow you to offer different business processes, picklist values, and page layouts to different users based on their profiles. Record types can be used in various ways, for example: • Create record types for Account to differentiate type of account for one business process with another and offer different picklist values for each. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 49. • Record types allow you to associate different business processes and subset of pick list value to different users based on their user profile. • They are used to drive which page layouts users see when viewing records, based on their user profile. • Benefits of record types: • Tailors user interaction experience to specific business needs. • Allows for easier administration as there are fewer fields to maintain. • Creating Record Types: • Example to create record types: In this example I am creating record type for Case object. • Setup->Customize->Object(Account,case Contact)>Record Type victoriousdigital.in/salesforce-certification-training-institute-pune
  • 50. Pagelayouts • Page Layout • The organization of fields, custom links, and related lists on an object detail or edit page. • Used to organize UI pages for your users: • – Which fields, related lists, and Custom links a user’s sees. • – Field properties – visible, read-only and required. • – Page section customizations. • NOTE: Establish unique layouts for different business scenarios. • Creating Page Layout: • Following is example to create page layout for case object. • Set Up->Customize->Object(Account,Contact,case)>Page Layout->Click on New button • Fill Mandatory details • Drag and drop required to the layout and save page layout. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 51. Page Layout Assignment • Go to Record Type or Page Layout and click on Page layout Assignment • assign page layout to record types based on profiles. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 52. Concept of Dependent Picklist values • Create two Fields • Type of customer Gold Silver platinum Bronze,Diamond • Dependent picklist as Free Services-flight discount,drinks,Wifi,Lunch free • Gold-has FD ----Silver-Wifi,drinks----Platinum all----diamond-wifi,lunch,FD---Bronze-drink victoriousdigital.in/salesforce-certification-training-institute-pune
  • 53. workflow • Workflow lets you automate standard internal procedures and processes to save time across your org. A workflow rule is the main nfor a set of workflow instructions. • Workflow rules can help automate the following types of actions based on your organization's processes: • Tasks: Assign a new task to a user, role, or record owner. • Email Alerts: Send an email to one or more recipients you specify. • Field Updates: Update the value of a field on a record. • Outbound Messages: Send a secure, configurable API message (in XML format) to a designated listener. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 54. • For example, workflow rules can: • Assign follow-up tasks to a support rep one week after a case is updated. • Send sales management an email alert when a sales rep qualifies a large deal. • Change the Owner field on a contract three days before it expires. • Trigger an outbound API message to an external HR system to initiate the reimbursement process for an approved expense report. • Each workflow rule consists of: • Criteria that cause the workflow rule to run. • Immediate actions that execute when a record matches the criteria. For example, salesforce.com can automatically send an email that notifies the account team when a new high-value opportunity is created. • Time-dependent actions that queue when a record matches the criteria, and execute according to time triggers. For example, salesforce.com can automatically send an email reminder to the account team if a high-value opportunity is still open ten days before the close date. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 55. Scenarios • Type of customer- = gold email to owner of the account • When status = platinum update field checkbox on account. • Contact phone is =null update contact field phone with any default value • When customer is diamond assign task to record owner victoriousdigital.in/salesforce-certification-training-institute-pune
  • 56. Validation Rules • Validation rules verify that the data a user enters in a record meets the standards you specify before the user can save the record. • A validation rule can contain a formula or expression that evaluates the data in one or more fields and returns a value of “True” or “False”. • Validation rules also include an error message to display to the user when the rule returns a value of “True” due to an invalid value. • rules helps you to improve data quality by preventing users form entering incorrect data. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 57. • Validation rules apply to new and updated records for an object • Even if the fields referenced in the validation rules are not visible on the page layouts, the validation rule still apply and will result in an error message if the rule fails. • If entered invalid data, it will display the associated error message without saving the record. • Validation rules don't apply if you create new records for an object with Quick Create. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 58. • Rule Name: Validation_on_Account_revenue • “If Industry equal to Banking then annual revenue should not be null”. • Industry =Banking and Annual Revenue • Error-Annual Revenue should not null when Industry is Banking. • Link to practice more - https://resources.docs.salesforce.com/204/latest /en- us/sfdc/pdf/salesforce_useful_validation_formula s.pdf victoriousdigital.in/salesforce-certification-training-institute-pune
  • 59. Assignment Rules • Assignment rules are used to automate your organization’s lead generation and support processes. • Assignment rule are used to assign owner to the records based on the condition. • Lead Assignment Rules – Specify how leads are assigned to users or queues as they are created manually, captured from the web, or imported via the lead import wizards. • Case Assignment Rules – Determine how cases are assigned to users or put into queues as they are created manually, using Web-to-Case, Email-to-Case, the Customer Portal victoriousdigital.in/salesforce-certification-training-institute-pune
  • 60. • Self Study • Web to case email to case • Scenario • Account rating is hot assign Case to Tier 1 queue victoriousdigital.in/salesforce-certification-training-institute-pune
  • 61. Auto Response Rules • An auto-response rule is a set of conditions for sending automatic email responses to lead or case submissions based on the attributes of the submitted record. Applicable leads include those captured through a Web-to-Lead form. • Applicable cases include those submitted through a: – Self-Service portal – Customer Portal – Web-to-Case form – Email-to-Case message – On-Demand Email-to-Case message • You can create as many response rules as you like based on any attribute of the incoming lead or case, but only one rule for leads and one for cases can be active at a time. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 62. Auto-response rules and workflow email alerts provide similar functionality. The following table lists some of the differences between workflow alerts and auto-response rules to help you determine which process to use: TYPE OF PROCESS DESIGNED FOR RUNS WHEN SENDS EMAIL TO NUMBER OF EMAILS SENT Workflow email alerts Notifications to interested parties. A case or lead is created or edited. Anyone you choose. Sends one email per email alert. Each workflow rule can have up to: •10 email alerts as immediate actions •10 email alerts per time trigger as time-dependent actions •10 time triggers Auto- response rules Initial response to the contact who created a case or the person who submitted the lead on the Web. A case or lead is created. Contact on a case or the person who submitted the lead on the Web. Sends one email based on the first rule entry criteria it matches in a sequence of rule entries. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 63. Web to Lead • Salesforce web to lead is to directly collect capture the leads form your website and loaded into Salesforce. • This is built in functionality in Salesforce. Nothing you need to download or install. • Go to “set up” -> Customize -> Leads -> click on web- to-Lead • we can see web to lead set enabled checkbox is checked. By default web to lead is enabled in sales force. And default lead creator is owner of the lead creator in Salesforce. By default it will display System Administrator who created Salesforce organization. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 64. Auto Response Rule Scenario • Send Auto Response email to the person who creates web to lead • Send Auto Response email to the person who creates web to Case and email to case victoriousdigital.in/salesforce-certification-training-institute-pune
  • 65. Email -to -Case • Salesforce can automatically create a case when an email is sent to one of your company's email addresses, such as support@company.com. • This Email-to-Case functionality auto-populates case fields from the content of each email. • For example, an email subject heading becomes a case subject. • Your organization can set up Email-to-Case or On- Demand Email-to-Case to efficiently resolve and correspond with customer inquiries via email. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 66. Email-to-Case • Email-to-Case requires downloading the Email-to-Case agent and setting it up behind your network's firewall. • Use Email-to-Case if you have a requirement to keep all email traffic within your firewall, and you want to accept email attachments larger than 25 MB from customers. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 67. On-Demand Email-to-Case • On-Demand Email-to-Case uses Apex email services to convert email to cases, without you having to download and install an agent behind your network's firewall. • Use On-Demand Email-to-Case if you are not concerned about keeping email traffic within your firewall and you do not need to accept attachments larger than 25 MB from customers. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 68. Configure email to case • From Setup, enter email- to - case in the Quick Find box, then select Email-to-Case. • In the Routing Addresses list, click New. • Enter your routing address settings. • Click Save. • A verification email is sent to the routing email address you provided. • Click the link in the verification email. • A confirmation page opens in your web browser. • Click the link in the confirmation page to continue to Salesforce. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 69. Web to Case • customer support requests directly from your company’s website and automatically generate up to 5,000 new cases a day with Web- to-Case. • Web To Case is a means by which you can post a simple, unauthenticated web page that allows your customers to submit cases directly to your Salesforce.com instance. • This means that you can post a public case submission page on your own website with your own branding and styling. • Web To Case works by generating a snippet of HTML for you. This HTML is an HTML form that you can put on any page. • When your customer presses Submit, the information on this form is posted directly to a Salesforce.com server, which handles the information, converts it to a case, and redirects the customer's browser back to a page of your choosing victoriousdigital.in/salesforce-certification-training-institute-pune
  • 70. • Generate same as Web to lead • Self study - https://help.salesforce.com/servlet/servlet.Fil eDownload?file=015300000036A6eAAE victoriousdigital.in/salesforce-certification-training-institute-pune
  • 71. Escalation Rules • Escalation rules automatically escalate cases when the case meets the criteria defined in the rule entry. • You can create rule entries, which define criteria for escalating a case, and escalation actions, which define what happens when a case escalates. • Reference- https://help.salesforce.com/articleView?id=rules_escal ation_create.htm&type=5 • http://www.infallibletechie.com/2013/08/escalation- rule-in-salesforce.html victoriousdigital.in/salesforce-certification-training-institute-pune
  • 72. Different levels of Security • Object level security • The bluntest way that we can control data is by preventing a user from seeing, creating, editing, and/or deleting CRUD any instance of a particular type of object, like a Position or Review. Object-level access allows us to hide whole tabs and objects from particular users, so that they don't even know that type of data exists. • On the platform, we set object-level access rules with object permissions on user profiles or permission sets • Object Level security can be done in the following Sections. • Permission Sets. • Profiles • Permission Sets : In this Permission sets we define the access level of the user. Generally we determine what a user can do in the applications. These are used to grant additional permission to a user. Profiles : In Object level Security, Profiles are assigned to the user by system administrator. A profile can be assigned to many users where as a user can have only one Profile. • A permission set is a collection of settings and permissions that give users access to various tools and functions. The settings and permissions in permission sets are also found in profiles, but permission sets extend users’ functional access without changing their profiles. • For example, to give users access to a custom object, create a permission set, enable the required permissions for the object, and assign the permission set to the users. You never have to change profiles, or create a profile for a single use case. While users can have only one profile, they can have multiple permission sets. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 73. Field level security • A variation on object-level access is field-level access, in which a user can be prevented from seeing, editing, and/or deleting CRUD the value for a particular field on an object. Field-level access allows us to hide sensitive information like the maximum salary for a position or a candidate's social security number without having to hide the whole object. • On the platform, we set field-level access rules with the field-level security. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 74. Record level security • To control data with a little more finesse, we can allow particular users to view an object, but then restrict the individual object records that they're allowed to see. For example, record-level access allows an interviewer like Melissa Lee to see and edit her own reviews, without exposing the reviews of everyone else on her team. • On the platform, we actually have four ways of setting record-level access rules: • Organization-wide defaults • Role hierarchies • Sharing rules • Manual sharing • Apex Sharing victoriousdigital.in/salesforce-certification-training-institute-pune
  • 75. Organization wide default • OWD stands for Organization wide defaults. This setting is defined at object level. OWD defined the default record level sharing for objects. All profiles get at least the privileges defined in OWD. OWD takes three different values – – Private – Public Read only – Public Read-Write – Public Read-Write/Transfer • To find out what should be set as OWD for an object, first find out which user requires least access to an object. OWD is set based upon this users access requirements. Most restrictive record access is defined using OWD. Access to additional records is made available through Role hierarchy, Sharing rules, Manual sharing, Apex sharing victoriousdigital.in/salesforce-certification-training-institute-pune
  • 76. • Private : If the OWD for an object is set to private, then only the owner, and users above that role in role hierarchy, can view, edit and report on those records • Public Read Only : If the OWD for an object is set to Public Read Only, then all users can view and report on records but they cannot edit them. Only the record owner and the users above that role in the role hierarchy can edit the records Public Read/Write : If the OWD for an object is set to Public Read/Write, then all users can view, edit and report on all records. But only owner of the record can delete the records. • Public Read/Write/Transfer : This is available only for Case and Lead objects If the OWD for an object is set to Public Read/Write/Transfer then, all users can view, edit, Transfer and report on all the records but only owner of the record can delete the records victoriousdigital.in/salesforce-certification-training-institute-pune
  • 77. • Public Full Access : This is available only for Campaign object. If the OWD for Campaigns are set Public Full Access then, all users can view, edit, delete and report on all records. • No Access, View Only or Use : This is available only for Price Book object. If the OWD for Price Book is set Use then, all users can access the Price Book information and as well as using the Price Book configuration for Opportunities with Products. If the OWD for Price Book is set View Only then, all users can access the Price Book information but not to use that Price Book detail in Opportunities with Products If the OWD for Price Book is set No Access then, it restricts users from accessing information for Price Book and Prices. • Controlled By Parent : If the OWD for any object is set as Controlled By Parent, then user can perform an action on the record based on whether they can do the same on the parent record associated with it. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 78. Role Hierarchy • Role Hierarchy allows additional users access to records. A hierarchy of roles is defined based upon access requirements at record level. Each user belongs to a unique role. • If a role has access to some record, than its parent and ancestors will also have access to this record. • Roles can be created using the Manager Users menu. • Roles are used to control record access, where as profiles are used to specify access at object and field level. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 79. Public Group • Public group consists of users, roles or "roles and subordinates". • Sharing rule is defined using public groups. Record that match certain condition can be assigned to users in public groups using Sharing Rules. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 80. Manual Sharing (User Managed Sharing) • Manual Sharing is used to grant one-off access. • Manual sharing can be granted by record owner, any one above the owner in role hierarchy and System Administrator. • Manual sharing is used to handle exception cases where access to a particular record needs to be given to a specific user. • There is a Sharing button on the records page. This is used to provide manual sharing. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 81. Sharing Rules. • Sharing Rules makes automatic exceptions to organization wide defaults settings for particular users in an organization. Sharing rules can be done by manual sharing, criteria based sharing and Apex managed sharing. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 82. Controlling Access Using Hierarchies Grant Access Using Hierarchies • Determine whether users have access to records they don’t own, including records to which they don’t have sharing access, but someone below them in the hierarchy does. • Beyond setting the organization-wide sharing defaults for each object, you can specify whether users have access to the data owned by or shared with their subordinates in the hierarchy. • For example, the role hierarchy automatically grants record access to users above the record owner in the hierarchy. By default, the Grant Access Using Hierarchies option is enabled for all objects, and it can only be changed for custom objects. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 83. • To control sharing access using hierarchies for any custom object, from Setup, enter Sharing Settings in the Quick Find box, then select Sharing Settings. Next, click Edit in the Organization Wide Defaults section. Deselect Grant Access Using Hierarchies if you want to prevent users from gaining automatic access to data owned by or shared with their subordinates in the hierarchies. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 84. Important points • Regardless of your organization's sharing settings, users can gain access to records they do not own through other means such as user permissions like “View All Data,” sharing rules, or manual sharing of individual records. • The Grant Access Using Hierarchies option is always selected on standard objects and is not editable. • If you disable the Grant Access Using Hierarchies option, sharing with a role or territory and subordinates only shares with the users directly associated with the role or territory selected. Users in roles or territories above them in the hierarchies will not gain access. • If your organization disables the Grant Access Using Hierarchies option, activities associated with a custom object are still visible to users above the activity’s assignee in the role hierarchy. • If a master-detail relationship is broken by deleting the relationship, the former detail custom object's default setting is automatically reverted to Public Read/Write and Grant Access Using Hierarchies is selected by default. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 85. • The Grant Access Using Hierarchies option affects which users gain access to data when something is shared with public groups, personal groups, queues, roles, or territories. For example, the View All Users option displays group members and people above them in the hierarchies when a record is shared with them using a sharing rule or manual sharing and the Grant Access Using Hierarchies option is selected. When the Grant Access Using Hierarchies option is not selected, some users in these groups no longer have access. The following list covers the access reasons that depend on the Grant Access Using Hierarchies option. • These reasons always gain access: • Group Member, Queue Member, Role Member, Member of Subordinate Role, Territory Member, Member of Subordinate Territory • These reasons only gain access when using hierarchies: • Manager of Group Member, Manager of Queue Member, Manager of Role, Manager of Territory, User Role Manager of Territory victoriousdigital.in/salesforce-certification-training-institute-pune
  • 86. Apex Sharing • Apex managed sharing is a type of "Programatic Sharing" which allows you to define a custom sharing reason to associate with your programatic share. • Standard Salesforce objects support "Programatic Sharing" while custom objects support Apex managed sharing. More specifically, object shares can be written to both standard and custom objects, however custom sharing reasons can only be defined for shares written to custom objects. apex manage sharing is used for custom objects as we can define apex sharing reason for custom objects. For standard object, apex sharing reason will be “Manual” • Salesforce create share table for all objects for which OWD is either public read only or Private. For standard object, share table name is table name followed by share word. For example: AccountShare, ContactShare, CaseShare For custom object, it is followed by __share. For example : For Position__c, share table name is Position__share victoriousdigital.in/salesforce-certification-training-institute-pune
  • 87. • Objects on the detail side of a master-detail relationship do not have an associated sharing object. The detail record’s access is determined by the master’s sharing object and the relationship’s sharing setting. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 88. Create share table record using apex • Share table contains four columns: ParentId, UserOrGroupId, RowCause, AccessLevel. Below is code to create position__share record: Position__share p = new Position__share(); p.parentId = ‘Position Record Id which needs to be shared’; p.userOrGroupId= ‘User id or Group id with which we want to share record’; p.RowCause=’ apex sharing reason defined for custom object, here for position__c’; p.AccessLevel =’access level for record’; //can be Read or Edit insert p; • Note: you cannot update share table record. System only allows insert or delete of records for share table. So if you have to change access for user, you have create new record and can delete already existing record if you want. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 89. Scenario • – Account Sharing Example: The Western and Eastern Regional Directors need to see all of the accounts created by each others’ sales reps. You can create two public groups – one that includes the Western and Eastern Regional Director roles and one that includes the Western and Eastern Sales Rep roles. Then create an account sharing rule so that records owned by the Western and Eastern Sales Rep group are shared with the group containing the Western and Eastern Regional Director roles victoriousdigital.in/salesforce-certification-training-institute-pune
  • 90. Approval Process • Salesforce approval process is an automated process and your organization can use to approve records in Salesforce, An approval process is combination of steps for a record to be approved and person has to approve it each step. A step can apply to all the records to that object or just record that meets the certain criteria. An approval process also specifies the actions to take when a record is approved, rejected, recalled, or first submitted for approval. • Simple or multi-step approval processes to automate and enforce the approval of virtually anything in your company. • Navigate setup -> Create -> Workflow & Approvals -> Approval Processes. • Select Object for the new approval process. • Click on Create New Approval Process and choose Use Standard Setup Wizard from the drop-down button. • Note: If you want to create a basic approval process with default settings. Click on Use Jump Start Wizard. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 92. Scenario • Opportunities that are discounted more than 40% require a CEO approval. Use this example to create a one-step approval process. • Whenever Account Status = Completed, Account should follow approval process from owner manager victoriousdigital.in/salesforce-certification-training-institute-pune
  • 93. Data management • Import wizard • It is easy to use tool to load Accounts, Contacts, Leads, Solutions, or Custom Objects. -Load 50,000 records or less. -Prevent duplicates -Doesn’t support all standard object but supports all custom object victoriousdigital.in/salesforce-certification-training-institute-pune
  • 94. Apex Data Loader • Data Loader is a tool or Application used in salesforce to import and export bulk data. ThroughApex Data Loader we are able to Update, Insert, Delete, Upsert, Export and Export All. Each operation will be different from each other. • Insert – insertion of new records • Update – Updating existed records. • Upsert – Update and Insertion of records • Delete – Deletion of records. • Export – Extraction of all records. • Export All – It extracts all records from salesforce including Recycle Bin records. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 95. Advantages • Is a fully supported salesforce.com product. • Supports import from CSV or export to CSV. • Can be used to import or export more than 50,000 records. • Supports loading from or exporting to a database • Supports custom relationships for upsert. Can be run from command line. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 96. • In dataloader settings we should enable ‘insert null values’ checkbox otherwise we can’t insert null values victoriousdigital.in/salesforce-certification-training-institute-pune
  • 97. Bulk API • The Bulk API is used to upload high volume of data (millions of records). The Data Loader uses the SOAP-based Web Services API by default. To use the Bulk API instead, check “Bulk API” checkbox in apex data loader settings page. When you check Bulk API checkbox, increases the batch (upto 10000 records) which is usually 200 in normal upload. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 98. External ID • We have account table in Salesforce and account table outside of the Salesforce (ex: .csv file, sql database). • In Salesforce all the records can be identified with record id and outside of the Salesforce we can’t recognize records with Salesforce id that is the reason to compare outside table and salesforce table in Salesforce for one of the field we have to enable external ID (we can enable external id for text, number, auto number and email). • If we enable external id we can compare that particular column with the column which is available in external table. While comparing if the both column values are same then it will update otherwise it will insert. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 99. Process Builder • The Process Builder is a workflow tool that helps you easily automate your business processes by providing a powerful and user-friendly graphical representation of your process as you build it. 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. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 100. Criteria Automated processes in the Process Builder are based on records and consist of: • Criteria that determine when to execute action groups. • Immediate and scheduled actions to execute when those criteria are met. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 101. Actions • Create a record • Update any related record—not just the record or its parent • Use a quick action to create a record, update a record, or log a call • Launch a flow—you can’t schedule this action with workflow • Send an email • Post to Chatter • Submit for approval • The process builder doesn’t support outbound messages, but we can easily create one with Apex. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 102. • Create a record: This will allow you to create new records and set certain field values for the new record. • Email alerts: IN order to send an email from a process, you must create the email alert. To send an email alert that email should be associated with the same object on which process is started. Email template contains the standard text, list of recipients, and template victoriousdigital.in/salesforce-certification-training-institute-pune
  • 103. • Trigger a flow: You can launch a flow from your process to automate complex business processes. • Post to Chatter: Process builder post to chatter action helps to post information to any user or group chatter feed within Salesforce. The post will appear in the chatter field as if the person who triggered the process had written it. You can reference groups or topics and add merge fields. • Submit for approval: Only the record that started the process will be submitted. You can’t submit any related records for approval. • Update records: Update one or more records that are related to the record that started the process. You can update the record with manually entered values or by using the values from related records. We can update records of parent or child whereas workflow only updates same or parent object from the child. • Quick actions: You must already have global actions or an object specific action created within Salesforce to use these quick actions. You can then select to log a call, send an email, or update a record. • Process: This action will call another process to another process. For this action, you need to choose process type as it invoked by another process. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 104. Why Process builder? • Process builder is more flexible in comparison to workflow.In workflow rule can’t update child record, Post to Chatter, auto submits record in the Approval process, invoke an apex or call flows. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 105. Scenario • On Account when status =‘In progress’ • Create an Contact which gets attached to same account with same name as Account victoriousdigital.in/salesforce-certification-training-institute-pune
  • 106. Introduction to SOQL and SOSL • Salesforce Object Query Language (SOQL) is similar to SELECT statement in SQL (Structured Query Language). Using SOQL one can search the organization specific data. SOQL can be used with Apex, Visualforce and Schema explorer of Force.com IDE. While writing query one have to combine SELECT command with a list of fields to retrieve as well as the conditions for selecting rows. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 107. Syntax • SELECT one or list of fields FROM an Object WHERE (optional block) filtering criteria • SELCET EmpID, Name FROM Employee WHERE DEPT_NAME = ‘R&D’; victoriousdigital.in/salesforce-certification-training-institute-pune
  • 108. Hints when to use SOQL and SOSL : • Use SOQL when you have some basic prior knowledge about the objects and its data. At other hand when you know which data you want to retrieve from the object. SOQL can be used to retrieve data from a single object or from multiple objects which are related to one another. Using SOQL we can get Count, Sort queries too. SOQL can be used with Salesforce Object Search Language (SOSL) APIs to search your organization’s Salesforce data if you have built your own salesforce custom UI. • SOSL is a text-based search technique which works on programmed based on search index. Programmers used SOSL when they are not aware about in which object or fields the data has. It retrieves data for a specific term that is inside the field or build search index for multiple terms within field. It is used to retrieve multiple objects efficiently though may not related to each other. It is used to retrieve data from multiple divisions too. • To increase the performance of searching use SOSL than SOQL as SOSL is faster than SOQL. If you are searching for specific and single term search then SOQL is best option as SOSL combines multiple terms in the single field. Number of fields in search should be minimum because the large number of fields leads to increase in number of permutations, which can be difficult to tune. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 109. Relationship Queries • Using relationship queries one can retrieve the related object data from the database. There are two types of relationship queries Parent-to- Child and Child-to-Parent. These queries are similar to SQL joins. Relationship queries retrieve some valid relationship path. One can use relationship queries to retrieve object of one type based on criteria applies for other types of object. • To understand the concept of Parent and child relationship refer the following diagram victoriousdigital.in/salesforce-certification-training-institute-pune
  • 111. Queries traversing from Child to Parent Object • For(College_c c:[SELECT Name,University_r.Name, University_c FROM Colllege_c]} • { • System.debug(‘College Name:’ + c.Name+ ‘University Name:’+c.University_r.Name); • } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 112. Queries traversing from Parent to Child Object • For (University_c u:[Select Name, (Select Name from Colleges_r) from University_c]} • { • For(college_c:u.Colleges r) • { • • System.debug(‘University Name :’+u.Name+ ‘College Name:’+c.Name); • } • } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 113. Aggregate Queries • Salesforce support aggregate functions like SUM () , MAX(), AVG() etc to perform various operations. Any query that includes an aggregate function returns its results in an array of AggregateResult objects. AggregateResult is a read-only Object and is only used for query results. • Aggregate functions are more powerful tool to generate reports when you use them with a GROUP BY clause. Any aggregated field in a SELECT list that does not have an alias automatically gets an implied alias with a format expri, where i denotes the order of the aggregated fields with no explicit aliases. The value of i starts at 0 and incremented per aggregated field. • Order by Name desc • Order by Name Asc victoriousdigital.in/salesforce-certification-training-institute-pune
  • 114. Introduction to Apex • Apex is an object oriented, strongly typed programming language, used API supported by Force.com to give transaction control on salesforce platform. Apex supports for online SOQL and SOSL query handling and returns SObjects records. It has built in support for DML and DML exception handling. It is easy to understand and use as the syntax is more similar to Java language • Apex is used to implement complex business functionality. Apex supports trigger. We can perform complex validation using Apex. • Note: SObject class is generic class which can be any SFDC object. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 115. Introduction of Collection Types, Loops & DML Statements • As per other programming languages Apex also have some inbuilt data structures. Collectively it is called as Collection. Apex Collection has four types namely Lists, Sets, Maps and Enumerations. The first element of any collection type is always indexed at location zero. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 116. List • List: • A list is a sequential collection of elements. It allows duplicates. Let’s consider the following example to create List of integer • List<Integer> customList = new List<Integer>(); • customList.add(55); • customList.add(56); • customList.get(0); • You can also use the array syntax for lists. For example: • String[] favoriteColor = new List<String>(); • favoriteColor[2] = ‘Blue’; victoriousdigital.in/salesforce-certification-training-institute-pune
  • 117. Set • Set : • A set is another collection type. Unlike List set is unordered as well as doesn’t allow duplicates. • Set<String> alpha = new Set<String>{‘p’,’q’,’r’}; • alpha.add(‘s’); • System.assert(alpha.comtains(‘r’)); victoriousdigital.in/salesforce-certification-training-institute-pune
  • 118. Map • Maps: • Maps are collections types which supports key-value pairs. • Map<String,String> myStrings = new Map<String,String>{‘AS201’, ‘XYZ’}; victoriousdigital.in/salesforce-certification-training-institute-pune
  • 119. Loops • Loops : • Apex supports five types of procedural loops. Following are the listed loops. All loops allows break and continue statement. • do{statement} while (condition); • while(condition) statement; • for(initialization; exit condition; increment) statement; • for(variable : array/set) statement; • for(variable : [inline_soql_query]) statement; victoriousdigital.in/salesforce-certification-training-institute-pune
  • 120. • Do-While Loops Similar to other programming language ​ do- while loop repeatedly executes a block of code till the Boolean condition remains true. Its syntax is: • Do • { • --code • }while(condition); victoriousdigital.in/salesforce-certification-training-institute-pune
  • 121. • While Loops • The Apex​​ while loop executes a block of code until a particular Boolean condition remains true. Its syntax is: • While(condition) • --code • } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 122. • For Loop: • Apex supports three variations of the for loop: • The traditional for loop: • For(init statement; exit condition; increment/decrement statement){ • Code block • } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 123. • The list or set iteration for loop: • For(variable : list_or_set) { • code block; • } • The SOQL for loop: • for (variable/variable list : [soql query statement]) { • Code block; • } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 124. Apex Triggers • Trigger is piece of code that is executes before and after a record is Inserted/Updated/Deleted from the force.com database. Syntax: Trigger <trigger name> on <Object name> (trigger Events) { // Implement the Logic here } • Types of Triggers: – Before Triggers – After Triggers • Before Trigger: Before triggers are used to perform the logic on the same object and specifically we cannot use the DML operation (Insert, update, delete) on these triggers. These triggers are fired before the data is saved into the database. After Trigger: After triggers are used to perform the logic on the related objects and these triggers are used access the fields values that are created by system (Ex: CreatedBy, LasteModifiedBy , Record Id etc..). • victoriousdigital.in/salesforce-certification-training-institute-pune
  • 125. Bulk Triggers By default every trigger is a bulk trigger which is used to process the multiple records at a time as a batch. For each batch of 200 records. Trigger Context Variables: All the trigger context variables are prefixed with “Trigger.” (Ex: Trigger.isInsert, etc..) • isInsert: Returns true if the trigger was fired due to insert operation. • isUpdate: Returns true if the trigger was fired due to update operation. • isDelete: Returns true if the trigger was fired due to delete operation. • isBefore: Returns true if the trigger was fired before record is saved. • isAfter: Returns true if the trigger was fired after record is saved. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 126. • New: Returns a list of new version of sObject records. • Old: Returns a list of old version of sObject records. • NewMap: Returns a map of new version of sObject records. (map is stored in the form of map<id,newRecords>) • OldMap: Returns a map of old version of sObject records. (map is stored in the form of map<id,oldRecords>) • Size: Returns a integer (total number of records invoked due to trigger invocation for the both old and new) • isExecuting: Returns true if the current apex code is a trigger. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 127. The events we can use in the new trigger and old trigger victoriousdigital.in/salesforce-certification-training-institute-pune
  • 128. Trigger Context Variable considerations: • Trigger.Old is always readOnly • We cannot delete trigger.new • In before triggers, trigger.new can be used to update the fields on the same object. • In After trigger, we get run time exception is thrown when user try to modify the fields in the same object. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 129. Scenarios • Add fields values to account fields while inserting new accounts • Populate account description with modified user name when user updates account. • Throw an error whenever the user try to delete the contact which is not associated to account • Create the object called “Customer Project” and create Status field under this object with picklist data type (Values=Active, Inactive). Create the relationship between this custom object and Opportunity so that Customer Project is related list to the Opportunity. Create Active Customer project- field on Opportunity object (Data Type=Checkbox) The logic is when we create Customer Project for an Opportunity with the Status=Active, then Active Customer project check box on the Opportunity Detail page is automatically checked. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 130. • Create “Sales Rep” field with data type (Text) on the Account Object. When we create the Account record, the Account Owner will be automatically added to Sales Rep field. When we update the Account owner of the record, then also the Sales Rep will be automatically updated. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 131. • Create field called “Count of Contacts” on Account Object. When we add the Contacts for that Account then count will populate in the field on Account details page. When we delete the Contacts for that Account, then Count will update automatically. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 132. Future Method • A future method runs in the background, asynchronously. You can call a future method for executing long-running operations, such as callouts to external Web services or any operation you’d like to run in its own thread, on its own time. • You can also make use of future methods to isolate DML operations on different sObject types to prevent the mixed DML error. For Example you can't update an account and a user role in a single transaction. • Each future method is queued and executes when system resources become available. • That way, the execution of your code doesn’t have to wait for the completion of a long-running operation. • A benefit of using future methods is that some governor limits are higher, such as SOQL query limits and heap size limits victoriousdigital.in/salesforce-certification-training-institute-pune
  • 133. Syntax global class YourClassName { @future public static void yourFutureMethodName(Set<Id> recordIds) { List<Account> acc = [Select Id, Name from Account Where Id IN :recordIds]; // process account records to do awesome stuff } } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 134. • Methods with the future annotation must be static methods • can only return a void type • The specified parameters must be primitive data types, arrays of primitive data types, or collections of primitive data types • Methods with the future annotation cannot take sObjects or objects as arguments. • You can invoke future methods the same way you invoke any other method. However, a future method can’t invoke another future method • No more than 50 method calls per Apex invocation • Asynchronous calls, such as @future or executeBatch, called in a startTest, stopTest block, do not count against your limits for the number of queued jobs • To test methods defined with the future annotation, call the class containing the method in a startTest(), stopTest() code block. All asynchronous calls made after the startTest method are collected by the system. When stopTest is executed, all asynchronous processes are run synchronously victoriousdigital.in/salesforce-certification-training-institute-pune
  • 135. When to use Future Method: • If you want to make the execution of the apex program to run asynchronously then we make use of future method. • When you specify future , the method executes when Salesforce has available resources. • For example, you can use the future annotation when making an asynchronous Web service callout to an external service. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 136. global class FutureMethodExample { @future(callout=true) public static void getStockQuotes(String acctName) { // Perform a callout to an external service Http http=new Http(); HttpRequest hr=new HttpRequest(); hr.setMethod('POST'); hr.setEndpoint('https://google.com'); http.send(hr); } } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 137. Important- • The reason why sObjects can’t be passed as arguments to future methods is because the sObject might change between the time you call the method and the time it executes. • In this case, the future method will get the old sObject values and might overwrite them. To work with sObjects that already exist in the database, pass the sObject ID instead (or collection of IDs) and use the ID to perform a query for the most up-to-date record. The following example shows how to do so with a list of IDs victoriousdigital.in/salesforce-certification-training-institute-pune
  • 138. FUTURE METHOD CONSIDERATIONS • Remember that any method using the future annotation requires special consideration because the method does not necessarily execute in the same order it is called. • Future methods don’t have any execution order • Methods with the future annotation cannot be used in Visualforce controllers in either getMethodName or setMethodName methods, nor in the constructor. • You cannot call a method annotated with future from a method that also has the future annotation. Nor can you call a trigger from an annotated method that calls another annotated method. • The getContent and getContentAsPDFPageReference methods cannot be used in methods with the future annotation • Consider using Batch Apex instead of future methods to process large number of records asynchronously. This is more efficient than creating a future request for each record. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 139. Batch Apex • Batch Apex is asynchronous execution of Apex code, specially designed for processing the large number of records and has greater flexibility in governor limits than the synchronous code. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 140. When to use Batch Apex? • When you want to process large number of records on daily basis or even on specific time of interval then you can go for Batch Apex. • Also, when you want an operation to be asynchronous then you can implement the Batch Apex. Batch Apex is exposed as an interface that must be implemented by the developer. Batch jobs can be programmatically invoked at runtime using Apex. Batch Apex operates over small batches of records, covering your entire record set and breaking the processing down to manageable chunks of data. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 141. • batch that runs against 10,000 Accounts will actually be run in 50 separate execute() transactions, each of which only has to deal with 200 Accounts. Governor limits still apply, but only to each transaction, along with a separate set of limits for the batch as a whole. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 142. • Database.Batchable interface has the following three methods that need to be implemented − • Start • Execute • Finish victoriousdigital.in/salesforce-certification-training-institute-pune
  • 143. Start • This method will be called at the starting of the Batch Job and collects the data on which the Batch job will be operating. • Use the Database.QueryLocator object when you are using a simple query to generate the scope of objects used in the batch job. In this case, the SOQL data row limit will be bypassed. • Use the iterable object when you have complex criteria to process the records. Database.QueryLocator determines the scope of records which should be processed. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 144. Start – Use this to basically collect the records and then pass on to execute method Execute- Use this to process the records. Finish – Called once, when processing get finished and can be used for operations like sending confirmation email victoriousdigital.in/salesforce-certification-training-institute-pune
  • 145. Execute • where, list<sObject< is returned by the Database.QueryLocator method. • This method gets called after the Start method and does all the processing required for Batch Job. • global void execute(Database.BatchableContext BC, list<subject> scope) {} victoriousdigital.in/salesforce-certification-training-institute-pune
  • 146. Finish • This method gets called at the end and you can do some finishing activities like sending an email with information about the batch job records processed and status. • global void finish(Database.BatchableContext BC) {} victoriousdigital.in/salesforce-certification-training-institute-pune
  • 147. Example Global class batchAccountUpdate implements Database.Batchable<sObject> { Global Database.QueryLocator start(Database.BatchableContext BC) { String query = ‘SELECT Id,Name FROM Account’; return Database.getQueryLocator(query); } Global void execute(Database.BatchableContext BC, List<Account> scope) { for(Account a : scope) { a.Name = a.Name + ‘Updated’; } update scope; } • Global void finish(Database.BatchableContext BC) { AsyncApexJob a = [SELECT Id, Status, NumberOfErrors, JobItemsProcessed,TotalJobItems, CreatedBy.Email FROM AsyncApexJob WHERE Id =:BC.getJobId()]; String UserEmail = ‘Any EMAIL’; Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setToAddresses(new String[] {UserEmail}); mail.setReplyTo(‘ANY EMAIL’); mail.setSenderDisplayName(‘Batch Processing’); mail.setSubject(‘Batch Process Completed’); mail.setPlainTextBody(‘Batch Process has completed’); Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail }); } } victoriousdigital.in/salesforce-certification-training-institute-pune
  • 148. How to run Batch Process: • In order to run batch process, you need to use Database.executeBatch() method. Open the developer console and then write a small snippet of apex code as shown below batchAccountUpdate batchJob = new batchAccountUpdate(); Database.executeBatch(batchJob); victoriousdigital.in/salesforce-certification-training-institute-pune
  • 149. Scheduling Batch Process: • We can also schedule batch apex. In order to schedule batch class,we need to write schedulable batch class. • Example: Global class batchAccountUpdateSchedular implements Schedule{ Global void execute(SchedulableContext sc){ batchAccountUpdate b= new batchAccountUpdate(); Database.executebatch(b); } } Now you can schedule this apex class by using Schedule Apex in Salesforce victoriousdigital.in/salesforce-certification-training-institute-pune
  • 150. Visualforce Pages • Visualforce is markup language that allows to define user interface components in Salesforce. This is very interesting tool which runs o force.com platform. By using page layouts, we can easily configure User interface. But by using visusalforce pages, you can develop your own customized user interface. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 151. • In VisualForce page we can write the HTML, CSS, and JavaScript etc… • Each visual force is page that contains the tags/components and controllers. • Each tag contains attributes and attributes defines the properties of the tag. – By default each tag has two attributes. • ID: – Id is used to bind the two components together. • Rerendered: – Used to show/hide the component. – Controllers: – • Standard Controller: – • Custom Controller/Controller • Extension Controller victoriousdigital.in/salesforce-certification-training-institute-pune
  • 152. Where to use Visualforce Page • Visualforce pages can be used to • – Override standard buttons, such as New button for accounts, save button for contacts….etc.. • – To override custom tabs, to create vf tabs • – Embed components in detail page layout. • – Create dashboard components on custom help pages • – Customize, extend on integrate the sideboards in the service cloud console(custom console components) victoriousdigital.in/salesforce-certification-training-institute-pune
  • 153. Controllers • Standard Controller • StandardController objects reference the pre-built Visual Force controllers provided by salesforce.com. The only time it is necessary to refer to a StandardController object is when defining an extension for a standard controller. StandardController is the data type of the single argument in the extension class constructor. • Standard Controller is used for customization of both standard and custom objects. • Controller • Controller is an apex class which is used to implement all the logic of VisualForce page without leveraging the standard functionality. • Extension Controller • Extension is an apex class used to extend or add the functionality to standard or custom controllers. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 154. • Custom Controller: A custom controller is an Apex class that implements all of the logic for a page without leveraging a standard controller. Use custom controllers when you want your Visualforce page to run entirely in system mode, which does not enforce the permissions and field-level security of the current user. Controller extension: A controller extension is an Apex class that extends the functionality of a standard or custom controller. Use controller extensions when: • You want to leverage the built-in functionality of a standard controller but override one or more actions, such as edit, view, save, or delete. • You want to add new actions. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 155. • • You want to build a Visualforce page that respects user permissions. Although a controller extension class executes in system mode, if a controller extension extends a standard controller, the logic from the standard controller does not execute in system mode. Instead, it executes in user mode, in which permissions, field-level security, and sharing rules of the current user apply. A controller extension is any Apex class containing a constructor that takes a single argument of type ApexPages.StandardController or CustomControllerName, whereCustomControllerName is the name of a custom controller you want to extend. Note: Although custom controllers and controller extension classes execute in system mode and thereby ignore user permissions and field- level security, you can choose whether they respect a user's organization- wide defaults, role hierarchy, and sharing rules by using the with sharing keywords in the class definition. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 156. What is a report? • A report is a list of records that meet the criteria you define. It’s displayed in Salesforce in rows and columns, and can be filtered, grouped, or displayed in a graphical chart. • Every report is stored in a folder. Folders can be public, hidden, or shared, and can be set to read-only or read/write. You control who has access to the contents of the folder based on roles, permissions, public groups, and license types. You can make a folder available to your entire organization, or make it private so that only the owner has access. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 157. Standard Salesforce Reports • A report represents the relationship between primary objects and its related objects. To represent this relationship report has predefined templates which makes reporting easier. Every report displays only those records which meets the criteria. • Salesforce has Standard report type as default report type. Standard report type is present for all salesforce standard objects. For custom objects, salesforce automatically create a standard report type using “with”, or “and” relationship. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 158. Custom Salesforce Reports • The custom report type can be created by selecting the objects of your interest and their relationships. The wizard will give access to all child objects of these selected objects. This type of report can be customize as per user need. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 159. Salesforce Reports Presentation Styles • Based on the presentation following styles can be used to generate report in salesforce. • Tabular Report : The basic form of presentation of user data is tabular report. It has simple listing of data without any subtotals. One can use this report if the presentation is simple. • Summary Report : Summary report is little bit advanced report as compare to tabular report having grouping of information with subtotals. • Matrix Report : Matrix report has groups of data based on columns and rows. This report can be used to represent comparison between related total with total by row and total by column. • Join Report : Join report has the more advanced way to represent data. This report will allow you to relate different blocks and show them in single report. Each block has unique attributes like name, filters, columns, data, and summary fields. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 160. Features of the Salesforce Reports • Salesforce Reports is one of the most powerful features to represent business and easy understanding of the relationship among objects. Every report in salesforce support following features. • Custom Summary Formula field: User can define formula based on summary report is generated. • Exception Reports (Cross Filters): These reports are used to show highlight the position where data doesn’t exist. These reports are created using cross filters. • Custom Summary Formulas: These formulas are used on reports to calculate complex data from summary level. • Analytical Snapshots: Snapshot captures data at schedule point with respect to time. • Historical Trend Reporting: This will allow you to track your data. This will allow you to track upto 8 fields on Opportunity object and 3 fields up to custom objects. • Bucket Field: Salesforce allows us to categorize records without using any formula. This is known as Bucketing. In bucketing user defines the bucket field (or bucket multiple categories) to group report value. • Condition High-lighting : To highlight field values on summary or matrix reports based on some criteria like value ranges user can apply conditional highlighting. To enable this, report must have custom summary formula or at least one summary field. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 161. • Scheduling report for future run : Once you create a new report we can schedule report by using following steps: • Set the frequency field to run report. It can be any value you want to run the report number of times like Daily, Weekly or Monthly. • Mention the dates in Start and End fields. • To run the report you must select start time. Click on Find available options to choose a start time. • To save report schedule click on Save Report Schedule. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 162. What is a dashboard? • A dashboard is a visual display of key metrics and trends for records in your org. The relationship between a dashboard component and report is 1:1; for each dashboard component, there is a single underlying report. However, you can use the same report in multiple dashboard components on a single dashboard (e.g., use the same report in both a bar chart and pie chart). Multiple dashboard components can be shown together on a single dashboard page layout, creating a powerful visual display and a way to consume multiple reports that often have a common theme, like sales performance, customer support, etc. • Like reports, dashboards are stored in folders, which control who has access. If you have access to a folder, you can view its dashboards. However, to view the dashboard components, you need access to the underlying reports as well. You can also follow a dashboard in Chatter to get updates about the dashboard posted to your feed. • Each dashboard has a running user, whose security settings determine which data to display in a dashboard. If the running user is a specific user, all dashboard viewers see data based on the security settings of that user—regardless of their own personal security settings. For this reason, you’ll want to choose the running user wisely, so as not to open up too much visibility. For example, set the Sales Manager as the running user for a leaderboard for her team. This allows her team members to view the leaderboard for their individual team, but not other teams. • Dynamic dashboards are dashboards for which the running user is always the logged-in user. This way, each user sees the dashboard according to his or her own access level. If you’re concerned about too much access, dynamic dashboards might be the way to go. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 163. • Dashboard is a page layout for visual display of your data. Each dashboard has 1:1 mapping for its component and report. One can clubbed multiple dashboard components to display a single report. The security settings is used to control the visibility of data. These dashboards are dynamic in nature. User can only view their own data as per their settings. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 164. Dashboard components and their usage • Charts, tables, gauges, metrics are component in dashboard. User can select any of these component to view data. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 165. • Chart: Chart is used for graphical presentation of data. Visual force has variety of chart types to represent your data. • Gauge: This can be used when the single value need to pointed within range of custom values. • Metric: This used to represent data based on one key value. • Table: Table is used to show the set of data. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 166. Dashboard Settings • The dashboard setting option is available next to report setting for tabular reports limited by row. • Dashboard Running User concept • Each dashboard has a running user, based on security settings determined by the user the data is display in a dashboard. • To select a dashboard’s running user in Salesforce Classic use following steps: • Go to Edit a dashboard. • Click the down arrow button next to the View dashboard as • Select a running user setting. It has two options victoriousdigital.in/salesforce-certification-training-institute-pune
  • 167. • Run as specified user. In this view all users able to see same data regardless of their personal security settings. • Run as logged-in user.This type of settings is used in dynamic dashboard and each user can view only their own data victoriousdigital.in/salesforce-certification-training-institute-pune
  • 168. • Then select the option “Let authorized users change running user” to enable user with permission to change the running user on the dashboard view page. • If user has “View My Team’s Dashboards” selection then dashboard as any user below them in the role hierarchy can view dashboard. • “View All Data” option will allow all users to edit the dashboard and view it as any user in their organization. • “Enable Other User’s Dashboard” will restrict the access to edit the dashboard. If they have access to it, though that user is not the running user and don’t have “View All Data.” • Click OK. • View dashboard as field, “running user”. • Click Save. • For reference read more ------ https://success.salesforce.com/answers?id=90630000000hOkpAAE victoriousdigital.in/salesforce-certification-training-institute-pune
  • 169. What is a report type? • A report type is like a template which makes reporting easier. The report type determines which fields and records are available for use when creating a report. This is based on the relationships between a primary object and its related objects. For example, with the ‘Contacts and Accounts’ report type, ‘Contacts’ is the primary object and ‘Accounts’ is the related object. • Reports display only records that meet the criteria defined in the report type. Out of the box, Salesforce provides a set of predefined standard report types. Don’t see all the fields you want? You might need to create a custom report type. • For example, an administrator can create a report type that shows only job applications that have an associated resume; applications without resumes won't show up in reports using that type. An administrator can also show records that may have related records—for example, applications with or without resumes. In this case, all applications, whether or not they have resumes, are available to reports using that type. An administrator can also add fields from a related object by creating a lookup relationship to that object, allowing for even more reporting possibilities. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 171. Salesforce Communities: • Salesforce Communities are very useful for employees, customers and partners to connect in one place. We can create and customize communities according to our requirement. Communities was released in summer’ 13 release. • You can collaborate and communicate with people outside of your company who are key to business. We can easily communicate with internal users and portal users and external users. • We can create multiple communities in an organization. For example for partner support you can create one community and for customer support you create one more community. Like based on your business need you can create multiple communities.
  • 172. • Salesforce Communities are useful to: • – Drive more sales by connecting your employees with your distributors, resellers, and suppliers • – Deliver world-class service by giving your customers one place to get answers • – Manage social listening, content, engagement, and workflow all in one place • Here in this post I will explain you how to enable community and how to create communities. • How to enable community in Salesforce? • To enable community in Salesforce go to setup -> Build -> Customize -> Communities and click on settings. and check enable communities check box and enter your domain name and save it. • Note: You cannot change your domain name once you save it. This domain name will be used in all of your communities. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 173. Check availability button is used to, the domain entered by you is available or not victoriousdigital.in/salesforce-certification-training-institute-pune
  • 174. • Once communities is enabled new header will be enabled in your salesforce org, there you can swipe between multiple communities. See the below screen for reference. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 175. • Now communities are enabled. We will see how to create communities. • How to create communities in salesforce? • To create communities go to setup -> Build -> Customize -> Communities -> Manage Communities -> and click on New communities button . And enter name, description and url and click on create button. • How to manage community? • Once community is created, that is only visible to only administrators until you publish it or share the URL. After creating the community you will navigate to following screen. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 177. Click on EDIT button to manage the community you just created. After clicking on edit you will be navigate to below screen. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 178. • Members is used to add members to the community. • Tabs & pages button is used to manages Which tabs are available to the community and overriding home page with visualforce page. • Branding button is used add header, footer and to change colors. • Login Page button is used to add logo to your community and also we can define login options for external users. • Email button is used to specify sender email to notifications, chatter email branding and email templates. • Miscellaneous button is used to flagging contents, enable private messages and enable knowledgeable people on topics. • Once you defined all your community settings you can publish your community. • How to add members to your salesforce communities? • Based on the profiles and permission sets we can add members to the Salesforce communities. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 179. To add members to your Salesforce communities go to Setup -> Build -> customize -> Community -> manage community -> and edit your community and click on Members and add profiles or permission sets you want give access to community. See the below screen for reference. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 180. Lightning (Salesforce Lightning) • Lightning (Salesforce Lightning) is a component-based framework for app development from Salesforce.com that is designed to simplify processes for business users, who typically do not have programming experience. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 181. Lightning Features • Experience, a graphical user interface (GUI) that is optimized for speed. • Lightning App Builder, which provides drag and drop capacities to facilitate app creation and customization. • Lightning Component Framework, which includes tools and extensions that enable the development of reusable components and standalone apps and customization of the Salesforce1 Mobile App. • A Javascript framework for creating single page applications and Lightning Components. • Design System, A CSS framework and component library for building Lightning styled apps. • Lightning Connect, an integration tool that makes it easier for Force.com apps to consume data from any external source that conforms to the OData specification. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 182. Lightning Components Framework • Lightning Components is a UI framework for developing web apps for mobile and desktop devices. It’s a modern framework for building single-page applications with dynamic, responsive user interfaces for Lightning Platform apps. It uses JavaScript on the client side and Apex on the server side. victoriousdigital.in/salesforce-certification-training-institute-pune
  • 183. Contact Us victoriousdigital.in/salesforce-certification-training-institute-pune Office No – 310, 3rd Floor, Above Panchali Hotel, JM Road, Shivaji Nagar, Pune 9545022110 / 9579932978 victoriousdigital2015@gmail.com victoriousdigital.in/salesforce-certification-training-institute-pune