0% found this document useful (0 votes)
25 views20 pages

Technical Interview Nesibe

The document provides an overview of various Salesforce concepts and functionalities, including security settings, workflows, and data management tools like Flow and Process Builder. It discusses the roles and responsibilities within a team, the importance of validation rules, and the differences between various data querying methods such as SOQL and SOSL. Additionally, it highlights the significance of reports and dashboards for data analysis and the use of junction objects for creating many-to-many relationships.

Uploaded by

emir deniz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views20 pages

Technical Interview Nesibe

The document provides an overview of various Salesforce concepts and functionalities, including security settings, workflows, and data management tools like Flow and Process Builder. It discusses the roles and responsibilities within a team, the importance of validation rules, and the differences between various data querying methods such as SOQL and SOSL. Additionally, it highlights the significance of reports and dashboards for data analysis and the use of junction objects for creating many-to-many relationships.

Uploaded by

emir deniz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Security Trigger Integration Introduction (tell me)

Master Det. VS Look Up Context variables Visualforce Agile Methodology


Validation rules Governor Limits data skew Role in my team
Workflow Best Practices custom labels Salesforce summer 22’ Last release
Process Builder SOQL VS SOSL wrapper class Problem on Salesforce
Approval Process Synchronous and asynchronous audit trail deploying process
FLOW Future method getter and setter package types (manage-unm)
Page Layout and Record Type Batch Apex try catch sandboxes
Roll up summary fields Queueable Apex Binding Force.com
data import wizard vs data loader Apex scheduler whatID and whoID Primitive and non-Primitive data types
Report and dashboard Data collection (list, set, map) calling_apex_class_ways Order of executions
Lead management test class LWC Lightning app builder (LAB)
Many to many relationship Bulkification OOP, Encapsulation, inheritance Exceptions in Apex
junction object Access modifier Salesforce vs Force.com Apex hammer:
Comparisons flw-workflw-prBl single and bulk DML operation External ID
Schema builder Mixed DML operation Button overriding Do you have any questions?
Tabs Trigger examples Standard and custom controller Noktalama isaretleri
Case Management and Queues DML Examples Lightning vs classic
Queue and public group LWC
Trigger vs Flow

Cevap verirken
zorlandigimda kullangim
cumleler:
I am not quite familiar with the Let me see, If I understand correctly,
topic, Based on what I know… you’d like to know …
but I am sure my senior That’s a little complex That’s a question I really I’d like to make sure I
developer xxx will help me to question for me, let me need to think about. Can I understand correctly, you are
learn it. He is my first address collect my thoughts on take some time with this asking……
whenever I have a problem. that for a moment. and come back to it later
in the interview?
ANASAYFA

AGILE METHODOLOGY

Summer 22’ Release

What are your roles in your


team?
First thing I just check my emails and organize the
tasks and responsibilities coming from Jira or
somewhere else. I will have and work on daily. I
check smoke test reports conducted by testers to
see any critical issues we have or not.
I attend daily stand up for daily updates and then
work on the remaining functionalities.

Smoke test: the preliminary check of the software


after a build and before a release

ANASAYFA

ANASAYFA
Security

A permission set is a
collection of settings and
Profile & Role Freeze & Deactivate permissions that give users
Profiles are required, but Freezing a user in Salesforce access to various tools and
roles are not. Profiles means that only stops the user functions. Permission sets
determine which objects, from being able to login. In some extend users' functional
fields, etc. a user can access, cases, you can't immediately access without changing their
and roles determine what deactivate a user (such as when profiles.
records a user can see a user is selected in a custom
relative to others in the hierarchy field or a user that's Sharing rules extend sharing access
organization's hierarchy. assigned as the sole recipient of to the users in roles, public groups,
a workflow email alert) or territories. It gives greater access
Typically, a user's profile is to the users by making automatic
set to something such as If you deactivate a user, you may exceptions to the sharing settings for
Sales or HR or System assign his/her license to other the entire org.This can be based on
Administrator user but you cannot do this for record ownership or other criteria. It
freeze user. selects the records to share with the
users and the level of access to be
given to these users or groups.
Records can be shared in 5
different way: Role Hierarchy
-OWD (Organization Wide
1) Role hierarchy Salesforce uses role hierarchy
Defaults define baseline level
2) OWD (Organization to automatically to grant
of access to data records for
Wide Defaults) access to users by default. We
all users in an organization.
3) Manuel Sharing cannot edit Grant Access using
-OWD are used to restrict 4) Apex Sharing Hierarchies for standard
access to data(records) 5) Criteria Based objects and can edit Grant
sharing rules Access using Hierarchies check
-OWD can be defined for box for Standard objects.
Standard Objects and Custom
objects
ANASAYFA
ANASAYFA

Master detail VS Look up

Salesforce Junction Objects give you a way to create


a Many to many relationship between Salesforce objects.
They are created using a custom object to relate two other
objects via two master-detail relationships. This is necessary
when modeling certain data schemas.
Example: Take a recruitment process where you have a job
position and candidate object. As it is a requirement for
candidates to apply to multiple job positions, a standard
parent-child relationship would not work. You need a junction
object, called something along the lines of ‘Application’, to
allow many candidates to apply to multiple job positions.

Master: Delete parent, child will be deleted automatically. The object relations in Salesforce include Many
to many, Master-Detail, Lookup, Hierarchical,
Indirect Lookup, External Lookup

approval process: it is a type of workflow which Report and dashboards


Salesforce reports and dashboards are the analytical side of the
has some steps that must pass to be approved.
CRM. They are used to convert business requirement into Visual
representations like Graphs, Pie Charts, Tables, Scatter Chart,
In my project, on opp object, I have developed an approval Gauges, Metrics, Funnel chart and so on.
process. ,,,,,,, Salesforce reports are displayed in columns and rows, the
dashboard is a visual display of this data. Each component on the
dashboard displays data from a single report. No component will
display data from multiple reports. However, you can view a
Salesforce report with multiple dashboarding tools.

What are different kinds of reports (Report Formats)?


There are four types of reports in salesforce.com they are
Tabular ✓ User view report like a spreadsheet.
Summary ✓ Users can group rows, views subtotal, create charts.
Matrix ✓ User can group rows and column
Joined ✓ Display different types of reports by blocks in a single
view. Joined Reports do not support Bucket fields.
Dashboard: Salesforce Dashboards are the What is a bucket field in reports?
graphical representation and visual presentation of
Bucketing allows you to categorize report records quickly without
reports data in salesforce (dashboard components)
creating a formula or a custom field.
dynamic Dashboards?
For example, create a bucket field named Size based on the #
With dynamic dashboards, each user sees the data
Employees field. Then, create buckets that group records into
they have access to without needing to create
“Large,” “Medium,” or “Small” ranges that you define. Bucket
separate dashboards for each user. This means a fields can be used like any other field to sort, filter, and group your
single powerful dashboard can be used for multiple report.
users in your company, because the logged-in user Bucket fields in Salesforce are available in Tabular reports,
viewing the dashboard sees the data they should
Summary Reports and Matrix reports. Joined Reports does not
see, based on their security and sharing settings. support Bucket fields.
You can add up to five bucket fields per report

ANASAYFA
ANASAYFA

Validation rules: Workflow: Process Builder:


We can validate the information There are some works we can use Process Builder is basically an automated
workflow: tool that allows you to control the order
entered by users by using validation
-İmmediate actons of actions or evaluate the criteria for a
rules.
-time-trigger actions record. It has some actions like that:
A validation rule contains a formula or
-email alert: Creating and Updating Records, Posting
expression. Whenever validation rule
-field update on Chatter, Quick Action, Launching or
returns true it means user entered
-simply assign a taska user Triggering the Flow, Submitting the
invalid value. User cannot save the data
Outbond mesage:send message to Record Automatically for Approval,
with this alert.
external servise Calling or Triggering Apex Code, Invoking
I have created many validation rules on Another Process.
I have created a time triggered workflow I have created some process builders. First
many diffeent object. For example on
for ..... one: .....
opp, If an opp is lost, the users need to
enter a reason for that. I have achieved
There are two types of workflow in
this task with Validation Rule. if it is
Salesforce:
blank validation rule start working and
1)Immediate Actions: It fires immediately
warn user.
when the workflow criteria are met. The
associated actions email alerts/field
updates also take place with immediate
effect.
2)Time-dependent Action: When the
criteria are met, the associated actions
take place after a certain duration of time.
A roll-up summary field
This time is based on a value set.
calculates values from related records,
we can create a roll-up summary field to
display a value in a master record based
on the values of fields in a detail record.
The detail record must be related to the
master through a master-detail
relationship.
In my project …..

ANASAYFA
I have also worked Case Management as ANASAYFA
a sales cloud function. According to our
Page Layout and Record Type: Lead management
company’s business process, I have
Page Layouts control the layout and In my company, I have done the
differentiate the case management processes
organization of fields, buttons, visualforce, lead management. My marketing
via creating record types and assigning them to
custom links, s-controls, and related lists on team users have been
different layouts. For example, the requests or
any object record pages. They determine dealing with the prospects then
problems related to Payment plans are
which all fields are visible, read-only, and they can convert them into the
entered in the respective record type and page
mandatory. You can customize the content of opportunity, also Account and
layout of Case. In the record type I have also
record pages for users with a Page Layout. contact object has been created as
customized the picklist value of ‘Case Type’
Record Types help to define different a functionality of lead conversion. I
field.
business processes, page layouts, and picklist have mapped the
Salesforce Queues are a collection of records
values that are meant for different users. lead custom fields to opportunity, I
that doesn't have any owner. Users who have
access to the queue can check every record have also a validation rule on
I have created two record types on conversion for center and space
that is in it and claim ownership of the one's
opportunity to differentiate the business field record. In lead, I have defined
they want. Queues in Salesforce help to
process ,,,,,,,, a validation rule to be entered a
prioritize, distribute, and assign records to
I have created two page layouts on data on center and space look up
teams who share workloads.
opportunity to be assigned to two record fields.
I have created separated queues for different
types. ...... Also, I have created the web to lead
case types, assigned different users into those
queues.Our Leasing Team officers has shared form. Whenever the costumers fill
the case solving according to the subject of out the form, the record save our
request or problem. But same officers can be system as a new lead and the lead
assigned to different case managements. source will auto populated as a
web. I added this code to the html
page as well.

FLOW-giris: FLOW-My project: I created a record trigger Flow example: For one of my
Flow is a very powerful business automation flow for ……………. user stories, I have built an auto
that we can collect, create, update, edit, and launch flow then called it from a
delete Salesforce Data. It will execute logic, call process builder................
Apex classes while interacting with the
Salesforce database, and guiding users through
screens for collecting and updating data as per
business requirements
Auto launched Flow-Doesn’t require user
interaction. This flow type doesn’t support I have created a scheduled trigger flow for What is difference between screen
screens and local actions. ……. flow and auto launched flow?
We use flow for complex business processes. ….. Screen Flow-Requires user
We can collect data and then do something ….. interaction because it includes
with that data. Flow Builder is the declarative screens, local actions, steps,
interface used to build individual flows. Flow choices, or dynamic choices. Screen
Builder can be used to build code-like logic flows don’t support Pause elements
without using a programming language.
FLOW VS TRIGGER. TODAYS TASK

ANASAYFA
ANASAYFA

Data import wizard vs Data Loader

Apex hammer: It is kind of process that


runs all apex tests, it is doing before
service upgrade., this process runs in the
current version and next release and
compare the test results. make sure that
the behavior in your custom code hasn't
been changed as a result of service
upgrades.

Many to many: You can use master-detail


Schema Builder is a tool that relationships to model many-to-
allows you imagine or visualize and many relationships between any two
edit your data model. It's useful for objects. A many-to-many relationship allows
designing and understanding each record of one object to be linked to
complex data models. From Setup, multiple records from another object. To do
search for and click Schema this process we need a junction object. For
Builder in the Quick Find box. example, you can apply more than one jobs,
and I can apply the same job with you or
Using schema builder, you can add many jobs as well. There must be a junction
custom areas, Objects and object which could an application such as
relationships, and view and change LinkedIn, dice or indeed. There will be a
custom fields while seeing how master detail relationship between
they are connected to other application and candidate and between
Objects or fields. application and jobs.

ANASAYFA
ANASAYFA

SOQL and SOSL

PARENT TO CHILD QUERY What Is a SOQL Query?


STNDRT- SELECT ID, Name, (SELECT Name FROM Contacts) SOQL is Salesforce Object Query Language. Begins
FROM Account with the required SELECT clause.
CUSTOM- SELECT ID, Name, (SELECT Name FROM You can use SOQL to read information stored in your
Books__r) FROM Autor__c database. You can write and execute a SOQL query in
Apex code or in the Developer Console's Query
Note: if you query Parent to child, you can get maximum 20
Editor. SELECT ID, Name, ..FROM Account WHERE
child records. But if you query child to parent, you can get
WHERE name like 'A%' AND Mailing State='California'
only one single parent for one single child obj.
WHERE Created Date > 2011
Note2: if you query child to parent, Maximum 5 level we
WHERE Email IN: con] *con is a list
can go.

CHILD TO PARENT QUERY


SOSL
STNDRT- SELECT Name, Account.Name FROM Contact
query begins with the required FIND clause. You can
STNDRT- SELECT Name, Account.Name.Owner FROM
then add optional clauses to filter the query by object
Contact type, fields, data categories, and more. You can also
CUSTOM- SELECT Name, Price__c, Author__r.Name
determine what is returned. For example, you can
FROM Book__c specify the order of the results and how many rows to
return.
Test class
integration
We write a test class to ensure that Apex Classes and
I have created an integration that is getting product list from ERP to
triggers are working as expected, by testing it single and
our org.
bulk record processing, for positive and negative
first, I got an access token from ERP's API by using post method with
scenarios.
defined parameters.
For this, you also create the testing database.
After that according to connection document I have created a JSON
request by using this access token, I have connected ERP's end point
Test class must start with @isTest annotation.
for getting product list.
To deploy it, at least 75% code coverage is required. But
I have a response from ERP's API that including this product list as
always try to focus on 90%+. We should not focus on the
JSON, so I have converted this JSON to salesforce sObject list and
percentage of code coverage, we should make sure that
inserted (updated) it.
every use case should covered including positive,
negative, bulk, and single record.
ANASAYFA
ANASAYFA

TRIGGER- AFTER-BEFORE Trigger examples


Apex triggers allow you to perform custom actions
before or after changes to Salesforce records Trigger.new : Returns a list of the new versions
Differences: • Before trigger are used to update or validate of the sObject records. this sObject list is only
values of a record before they are saved to the database.
available in insert and update triggers, and the
• After trigger are used to access field values of the records
records can only be modified in before triggers.
that are stored in the database and use these values to
make changes in other records After update: trigger.new olmali.
After trigger example: in my project After insert: trigger.new olmali.
……
….. Trigger.old: Returns a list of the old versions of
….. the sObject records. this sObject list is only
Before trigger example: if user click the check box that available in update and delete triggers.
billing address is the same as mailing address, the address Before insert: trigger.new olmali.
information will be auto populated to billing address fields
with before trigger, no need ID, no action needs after TIME TRIGGER: Time-depended actions are
saving data. executed at a specific time passes. So, when that
(Using handler classes: Apex trigger handler is an apex specific time passes, the workflow rule reevaluates
class to handle complexity in trigger logic set. It is used to the record to make sure that it still meets the
provide a better way of writing complex logic that's criteria. If the record does, the workflow rule
required for trigger code and avoid creating more than one executes those actions. This is time trigger. For
trigger per object) example, ten days before the close date. We call
the client or send an email.

Trigger context variables

Best Practices in Triger

Bulkification
Bulkified Code or Bulkification
means combining the related tasks in the
APEX. The code properly handles more
than one records at a time. It is the only
way to get around Governor Limits

ANASAYFA
ANASAYFA

Governor Limits SYNC AND ASYNC


Salesforce works in a multi-tenant environment Synchronous Apex means entire Apex code is executed in one
and forces runtime limits to have the same single go. Asynchronous Apex:- Asynchronous term means not
performance within the database. These are existing or occurring at the same time. Asynchronous apex is
forced by the Apex runtime engine and ensure executed when resources are available.
that the code does not misbehave. There are 4 different Asynchronous apex.
(apartment example, commercial purpose) 1) Future method
2) Batch apex
Governor limits are Salesforce is forcing 3) Queueable apex
you to write efficient code. 4) Apex scheduler.
A few examples of Governor Limits are:
1. Total number of records retrieved by a aaaaaaaaaaaaaaaaaaaSYNC ASYNC
SOQL query is 50,000. Total heap size 6 mbyt 12 mb
CPU time limit 10 sec 60 sec
2. Total number of SOSL query is 20
Total Num of SOQL 100 200
3. Total number of DML statements issued
– 150.
5. total number of records by
database.getqueryLocator is 10,000 Batch Apex is used to run large jobs (like thousands or millions of
6) records!) that would by-pass normal limits.
SYNC ASYNC There are three methods: start, execute, and finish. Every transition
Total heap size 6 mbyt 12 mb starts with a new set of governor limits and makes it easier.
CPU time limit 10 sec 60 sec Start: The start method is called at the beginning of a batch Apex job.
Use the start method to collect the records or objects to be passed to the
Total Num of SOQL 100 200 interface method execute.
Syntax: global (Database.QueryLocator | Iterable<sObject>)
start(Database.BatchableContext bc) {}
This method returns either a Database.QueryLocator object or an iterable that
contains the records or objects being passed into the job
Future Method: We can call a future
Execute: The execute method is called for each batch of records passed
method for executing long-running
to the method. Use this method to do all required processing for each
operations, such as callouts to external Web
group of data. Batches of records execute in the order they are received
services or any operation you'd like to run in its
from the start method.
own thread, on its own time. You can also use Syntax: global void execute(Database.BatchableContext BC, list<P>){}
future methods to isolate DML operations on This method takes the following:
different sObject types to prevent the mixed -A reference to the Database.BatchableContext object.
DML error. -A list of sObjects, such as List<sObject>, or a list of parameterized types. If you
Must be static and void are using a Database.QueryLocator, the returned list should be used.
we cannot use the sObjects as a parameter in Finish: The finish method is called after all batches are done. Use this
a future method. the sObject might change method to send confirmation emails or execute post-processing
between the time you call the method and the operations.
-I Have created batch class for sending notification emails to the team
time it executes. In this case, the future
members when the contract's end date is in next 5 days.
method will get the old sObject values and
-Have created the scheduler class for this batch class.
might overwrite them.
-System.scheduleBatch method to schedule a batch job to run once at a
-250,000 invocations per 24 hours.
If you call something from external system use this
future time.
syntax @future(Callouts=true)
Future method cannot invoke from another The maximum number of batch executions is 250,000 per 24 hours.
future method.
Iterable cannot bypass the regular SOQL limits (50,000)
Querylocator can. Max 50 million.

The Apex Scheduler allows you to


delay execution so that you can run Queueable Apex allows you to submit jobs for asynchronous
Apex classes at a specified time. processing similar to future methods with an additional
This is good for daily or weekly benefits: non-primitive types: Your Queueable class can contain
variables of non-primitive data types, such as sObjects or
custom Apex types.
ANASAYFA
Primitive data types are String, integer, Boolean, decimal, date,
datetime, ID.
The non-primitive data types in salesforce are the sobjects such as
Standard objects and custom objects.
- My project is…….
ANASAYFA
My name is XXX,
I am working in a company as a salesforce developer for …. years. I
am certified salesforce developer I also have admin certificate as well.
I have completed two projects in salesforce so far. First one was a
banking project and the last one is about the real estate. I worked
both admin part and development part. I have created flow,
workflow, process builder, approval process, and validation rule, and
security part.) but also, I did use Apex, Triggers, SOQL and SOSL.
And also,
I am very familiar for the Synchronous and asynchronous apes (future
method, batch apex, apex scheduler, governor limit, bulkification,
data collection etc.
We use Jira as project management tool.
We have a great team, we work very collaboratively, when I joined
the team, they helped me a lot for adapting the new position. After a
while, someone else joined our team and I helped her for the smooth
transition. Basically, we are working perfectly as a team. We have one
senior developer, he knows everything, and I learned a lot from him.
……………………
…………………
……..
I also worked as a mathematician for 8 years,
My bachelor’s degree is in math.
I am quick learner about new tools and technologies and also, I am a
good team player.
Why did you change your career?
I decided to move IT field …. years ago.
In my previous job we already use a local CRM platform, and I was
really interested in the CRM software. As you know Salesforce is the
best CRM Platform in its sector.
I took some online courses and learned salesforce and especially
salesforce language apex.
Last year I passed the certification exams. Currently I am still working
in my company until end of the month. My contract is about ending ..
-

Do you have any questions?


Of course, I have some questions, is there
any trainings or orientations for the new
employees?
Do you have SF lightning or classic?
Which cloud do you use?
Any QA in my team if you hire me?
And also, what kind of work/task will I do if
you hire me? What is your need?
In addition, will you assign a mentor for me
for the smooth transition if I start working
with you?

“Thank you for your time, I’ve


enjoyed learning more about the
opportunity and look forward to
whatever the next steps may be.”
ANASAYFA
ANASAYFA

Audit Trail: Administrators need to make changes


in the organizational setup. Audit Trail history helps
you to track the recent 20 changes that are made
in setup, by multiple administrators.

Custom Labels enable you to create multi-


lingual applications. It automatically presents
Sandboxes are for copies of the production information as information or messages, by
organization. We use sandboxes for testing or using the user’s native language. These are
development purpose. custom text values that accessible from Apex
4 types of sandboxes: classes, Lightning components, and
Developer Sandbox Visualforce pages.
Developer Pro Sandbox
Partial Data Sandbox A minimum number of 5000 custom labels can
Full Sandbox be created for each organization. The size is
about 1000 characters.

Wrapper class is nothing but a collection of different


Data Skew: The full form of SOQL is Standard
Salesforce data types. In Salesforce, you can combine
Object Query Language. SOQL evaluates a
multiple data types and utilize them for various
condition in an enterprise when you require to
purposes. For example, there is a wrapper class that can
work with say 10,000 records.
access the account records and displays an in-page
A single user owns a huge number of records,
block table. I have used wrapper class in my integration
and we call that as “ownership data skew” and
task.
it causes performance issues while updating in
Salesforce. Account data skew, ownership
skew, and lookup skew.

Data collections? Lists


A list can hold any type of data and is one of the most
important types of collection. A list is an ordered collection of
any data type such as primitive types, collections, sObjects,
WhoID and whatID user-defined types, and built-in Apex types. It Can have
WhoID refers to people things such as contact duplicates.
or leads. But “What ID” refers to non-human
objects. For example, opportunity, contracts,
account… Sets:
A set is an unordered collection of elements that do not contain
any duplicates. Set elements can be of any data type—primitive
types, collections, sObjects, user-defined types, and built-in
Apex types.

Maps
A map is a collection of key-value pairs where each unique key
What are the ways to call an Apex maps to a single value. Keys and values can be any data type—
Class in Salesforce? primitive types, collections, sObjects, user-defined types, and
Answer: The various ways to call an built-in Apex types.
Apex class in Salesforce are as follows:
1) From a Developer Console
2) Using Triggers If you store the school data student numbers are example of
3) From Visualforce Page sets. It must be unique and no repeating, and students’ names
4) With JavaScript Links are examples of the list, there can be some students who have
5) From Home Page Components the same name. maps are like student number and students
6) From Another Class name collection pairs.
ANASAYFA
ANASAYFA
EXTERNAL ID There are three types of bindings used in
It is custom field which can be used as Salesforce as shown below.1) Data Bindings: It
a unique identifier in a record. They are refers to the data set in the controller.
basically just IDs which are mainly
used while importing records/data. So,
when importing records, one among the 2)Action Bindings: It refers to the action methods
in the controller
many fields in those records need to be
marked as an INTERNAL id. The fields
can be marked as external IDs are text, 3) Component Bindings: It refers to some other
number, e-mail, and auto number. Visualforce components.
These fields should be unique each
other in the record.

A package is a bundle/collection of a list of Unmanaged packages


Getter and setter methods Unmanaged packages are
Get (getter) method is used to pass value components or related applications.
There are two types of packages: typically used to distribute
from controller to VF page while set (setter) open-source projects or
is used to set the value back to controller Managed
Unmanaged application templates to
variable. these two methods are same and provide developers with the
will return same results. Only their style of Managed Packages are used to sell and distribute
applications to clients. Developers can sell user- basic building blocks for an
coding is different application. Once the
based licenses and applications through the
AppExchange for the managed packages. These components are installed from
Try catch are fully upgradable. In the case of seamless an unmanaged package, the
The try statement allows you to define a block upgrades, removal of objects or fields is components can be edited in
of code to be tested for errors while it is being performed. the organization they are
executed. The catch statement allows you to installed in. The developer
define a block of code to be executed, if an who created and uploaded
error shows up in the try block. the unmanaged package has
no control over the installed
Apex uses access modifiers for components and can't change
defining methods and variables. These or upgrade them. Unmanaged
are private, protected, global or public Primitive data types are String, integer, packages should not be used
access modifiers. Details: Boolean, decimal, date, datetime, ID. to migrate components from
The non-primitive data types in salesforce are a sandbox to production
the sobjects such as Standard objects and organization. Instead, use
deployment process: First, create an object and tab custom objects. Change Sets.
and create the related fields by using salesforce set up
page. Managed packages
And secondly, go to the quick find and type change set What is Visualforce? Managed packages are typically
and select the outbound chance set, and create a new used by Salesforce partners to
change set. And next step will be the selecting Visualforce is a framework which allows distribute and sell applications
components. Wherever you touch you need to add this developers to build custom interfaces that can to customers. These packages
component such as custom object, custom fields, tab, be hosted by lightning platform. Visualforce must be created from a
page layout etc. consists of a tag-based markup language Developer Edition organization.
And don’t forget to select the profile. that gives developers a more powerful way of Using the AppExchange and the
After those steps click the upload to the target building applications and customizing the License Management
organization such as test sand box, UAT or production. Application (LMA), developers
Salesforce user interface. With Visualforce we
But most probably it will be test sandbox because, can sell and manage user-based
can do: licenses to the app. Managed
without testing you shouldn’t send it to UAT or
production. 1)develop user interface packages are also fully
upgradeable. To ensure
But remember there is one more step which is very 2)define custom tabs
seamless upgrades, certain
important as well. Complete of fill out the pre deployment 3)add menu in salesforce
destructive changes, like
and post deployment sheet because there can be some 4)create and customize help pages, removing objects or fields, can
things to do before or after deployment Which is pretty 5)integrate and customize the sidebars in SF not be performed.
important for the next person. console Managed packages also offer
the following benefits:

ANASAYFA
ANASAYFA
SINGLE AND BULK DML

Force.com is a Platform as A Service (PAAS) and


simplifies the development and deployment of
cloud-based applications and websites. The
developers make use of the Integrated Development
Environment or IDE to create apps and websites.
Later, these are deployed in the multi-tenant servers
of Force.com.
Salesforce.com vs force.com
They're effectively the same thing, but
Salesforce.com is generally used to refer to the
CRM functionality (the sales, service and marketing
applications) and Force.com is generally used to
refer to the underlying platform (the database, code,
and UI on which all the apps are built).

DML Operations: insert, update, delete, merge, and restore records


Mixed DML operations: when we perform DML operation of set up
and non-set up in a transaction then we get the mixed DML error.
Set up objects: are used to interact with metadata such as user,
profile, permission set etc.
Non-set up objects: standard and custom objects such as account,
contact, opportunity, and lead.
There are two ways to perform DML operations firs one is
using DML statements, second one is using
database class methods. DML statements are more straightforward
to use, for example if one record is failed all the records will be failed
for a transaction. But we can specify whether or not to allow for
partial record processing if there is an error.
Transition control system:
Database. AvePoint:
Database. Rollback:

order of execution.

ANASAYFA
ANASAYFA
workflow, process builder and flow comparisons

We cannot send outbound message with


process builder, but we can do it with
workflow, other than we do with process
builder everything that we can do with
workflow.
Flow is a very powerful business automation
that we can collect, create, update, edit, and
delete Salesforce Data. We cannot do
undelete only.
Something else we can do with Flows is
create Screens. These are what they sound
like; you can dynamically control the user
experience.
it’s not only the decision logic that makes
Flows more powerful; there are more actions
you can take. Besides performing all of the
Tab is a feature in Salesforce that actions that a Process can, Flows offer a few
more, including delete.
noktalama isaretleri display custom object data that put in a
One of the most powerful features is the
particular application. Some of the tabs
ability to evaluate and update or create
are: 1) custom object tabs,
multiple records. While it’s true that Process
2) web tabs,
Builder can update multiple records, that’s
3) lightning page tabs,
limited to only being able to update child
4) visual force tabs,
records of the one that started the Process
5) flexible page tabs
and all of them need to be updated and all in
the same way. With Flows it’s possible to only
Lightning app builder (LAB): it is a update records that match a condition,
point and click tool that makes it easy to and they don’t even need to be related to the
create custom pages for the salesforce original record.
mobile app and lightning experience. We
can build with LAB: 1) single page apps 2)
Dashboard-style apps, 3) customize the
record pages for your objects 4) custom
salesforce home page. Dashboard components:
1)Charts: show data in the
The Bucket Field in Salesforce is reports graphically,
a custom category that is defined 2)metrics: one key value to
in reporting. It allows you to display
Salesforce vs Force.com
group, filter, or arrange related 3)table: a set of report data in
-software - platform
-store data -building and records together by ranges and column form,
segments without using 4) visualforce page: create a
operating application
complicated formula and custom custom component.
fields. 5) guage: single value that within
a range of custom values.
Standard and custom controller:
standard C. is in Apex, inherits all the
standard object properties and
standard button functionality
directly. It contains the same
functionality and logic that are used
for standard salesforce pages.
Custom C. is an apex class that
implements all of the logic for page
without leveraging a standard
controller. Custom controllers are
associated with visual pages through
the controller attribute.

ANASAYFA
ANASAYFA

What is LWC: We can build Lightning


components using two programming How we can bind data in LWC: In the
models: Lightning Web Components, and
template, surround the property with
the original model, Aura Components.
Lightning web components are custom curly braces, {property}. To compute a
HTML elements built using HTML and
JavaScript. Lightning web components and value for the property, use a
Aura components can be together and JavaScript getter in the JavaScript
work together on a page. To admins and
end users, they both appear as Lightning class, get property(){}. In the template,
components. the property can be a JavaScript
Most of the code we write is standard
JavaScript and HTML. My LWC Experience identifier (for example, person) or dot
The folder and its files must follow these notation that accesses a property
naming rules:
Must begin with lowercase letter from an object (person.firstName).
Cannot include whitespace LWC doesn’t allow computed
Contain only alphanumeric or underscore
characters expressions
Cannot end with underscore like person[2].name[‘John’].
Must be unique in the namespace
Cannot contain 2 underscores back-to- Don’t add spaces around the property,
back. SLDC HTML SON SAYFA for example, { data } is not valid HTML.

How to set property from parent to child What are OOPs? Lightning component framework
component: To communicate down the Object-Oriented Programming is a is a UI framework for developing
hold/containment hierarchy, an owner can methodology or way of designing a
set a property on a child component. An program using classes and objects. It
web apps for mobile and desktop
attribute in HTML turns into a property simplifies software development and devices. It is a modern framework
assignment in JavaScript. maintenance. that for building single page
How to pass data from parent to child Classes, Objects, Encapsulation applications with dynamic,
component: LWC support one way data Polymorphism, Inheritance, Abstraction.
transfer from parent to child. A non-
responsive user interface for
What is Encapsulation in Apex?
primitive value (like an object or array) It sets limits on how much of the data,
lightning platform apps.
passed to a component is read-only. So, the classes and methods can be viewed and
component cannot change the content of modified by the user. Button overriding is overriding
the object or array. As a result, if the What is Inheritance in Apex? the behavior of standard buttons
component tries to change the content, we Inheritance is a mechanism that enables to like new, view, or edit in salesforce
will get errors in console. We can pass create a parent-child relationship between classic, lightning and mobile
primitive data types as most of the one class while providing another class and independently. For example, you
components supports this. to use common methods and properties on can also override the tab home
these classes page that displays when user clicks
How to call controller method a standard, custom, or external
from java script: we need to use object.
action-function. It is used to call a
Exceptions in Apex
controller method from JS. Errors that disrupt the flow when the
code is run. Each exception
contains the error message and the
error type information. The most
LIGHTNING COMPONENTS common types are:
LIGTHTNING WEB COMPONENT VS
Are updated web standard-based framework Are user interface framework that is used to • DML Exception
method for creating lightning components on create applications for desktop and mobile • List Exception
the salesforce platform. technologies on salesforce. • Null Pointer Exception
• Query Exception.

ANASAYFA
ANASAYFA
simple Trigger examples

ANASAYFA
ANASAYFA

DML STATEMENTS.

ANASAYFA

ANASAYFA
ANASAYFA

SLDC (Salesforce Lightning Design System) I’ve created a Lightning Web Component for
for HTML in a website. ……………………………………………………………………………………………….
…………………………….
(https://www.lightningdesignsystem.com/) .
for Component blueprints (we can choose
the buttons or cards, accordions, Alerts,
avatars, checkbox labels, combo box (like
piklist) etc.
Everything is in this website.
We can also choose the platforms from the
same website such as Lightning (LWC and
aura), visual force, Android, iOS etc.

For HTML (Markup language)


h1= biggest heading
lightning cards, lightning inputs, we can
put something like type, label, placeholder
etc. We can give some colors,

standard and custom components.

lightning and classic

ANASAYFA
ANASAYFA Private: This access modifier is the default and
means that the method or variable is accessible
Trigger vs FLOW: Undelete is not only within the Apex class in which it’s defined. If
available in flow, we always try to you don’t specify an access modifier, the method
complete the task by using or variable is private.
declarative tools like flow. But if it is Protected: This means that the method or
not possible, we use trigger. If you’re variable is visible to any inner classes in the
working on a Flow that feels like it’s defining Apex class, and to the classes that
getting out of hand, consider using a extend the defining Apex class. You can only use
Trigger instead. this access modifier for instance methods and
member variables. This setting is strictly more
permissive than the default (private) setting, just
like Java
Public: This means that the method or variable is
accessible by all Apex within a specific package.
For accessibility by all second-generation (2GP)
managed packages that share a namespace,
Queues and public group: use public with
Salesforce Queues prioritize, the @NamespaceAccessible annotation. Using
distribute, and assign the records the public access modifier in no-namespace
used by teams sharing workloads. packages implicitly renders the Apex code as
Queues act like holding areas in @NamespaceAccessible.
your CRM, where records wait for Global: this means the method or variable can
someone to pick them up, and be used by any Apex code that has access to the
assign the record owner either as class, not just the Apex code in the same
themselves or another user. application. This access modifier must be used for
Queues bring together a group of any method that must be referenced outside of
users. the application, either in SOAP API or by other
Public Group is kind of team or Apex code. If you declare a method or variable
group of related users, this will as global, you must also declare the class that
help to share the data. Queues contains it as global.
are typically used when you
want to assign a record to a
bunch of users. Using Queues
you can assign a record to
multiple users, so that any
member of the queue can work
on the record
ANASAYFA

ANASAYFA

ANASAYFA

ANASAYFA

ANASAYFA

ANASAYFA

ANASAYFA

You might also like