Best Salesforce Data Migration Practices For Effective Data Management Best Salesforce Data Migration Practices Data migration plays an important role in optimizing your Salesforce environment. Whether you want to migrate data into your Salesforce instance …
Lightning Web Component(LWC) Toast Messages LWC Toast Messages Lightning Web component(LWC) can send a toast notification that pops up to alert users of success, error or warning. A toast can also simply provide information. To …
actionStatus visualforce salesforce actionStatus visualforce component displays the status of an AJAX update request. An AJAX request can either be in progress or complete. Depending upon the AJAX request status (whether AJAX request is in …
Use Lightning Web Components in Visualforce Use Lightning Web Components in Visualforce In this post, we will see how we can use LWC in Visualforce Pages or how to display Lightning Web Component In Visualforce …
Data is the backbone of any business! The primary motif of data backup and recovery is to create a copy of the data to recover from a primary data failure. In addition, primary data failure …
All triggers define implicit variables that allow developers to access run-time context. These variables are contained in the System.Trigger class.
Following are the context variable available in triggers. Please note variable availability in trigger varies according to the type of trigger events.
Here is List of Trigger Context Variables
isExecuting
isInsert
isUpdate
isDelete
isBefore
isAfter
isUndelete
new
newMap
old
oldMap
size
Here is List of all Trigger Context Variables
Trigger.isExecuting: Returns true if the current context for the Apex code is a trigger, not a Visualforce page, a Web service, or an executeanonymous() API call.
Trigger.isInsert: Returns true if this trigger was fired due to an insert operation, from the Salesforce user interface, Apex, or the API.
Trigger.isUpdate: Returns true if this trigger was fired due to an update operation, from the Salesforce user interface, Apex, or the API.
Trigger.isDelete: Returns true if this trigger was fired due to a delete operation, from the Salesforce user interface, Apex, or the API.
Trigger.isBefore: Returns true if this trigger was fired before any record was saved.
Trigger.isAfter: Returns true if this trigger was fired after all records were saved.
Trigger.isUndelete: Returns true if this trigger was fired after a record is recovered from the Recycle Bin (that is, after an undelete operation from the Salesforce user interface, Apex, or the API.)
Trigger.new: Returns a list of the new versions of the sObject records. This sObject list is only available in insert, update, and undelete triggers, and the records can only be modified in before triggers.
Trigger.newMap: A map of IDs to the new versions of the sObject records. This map is only available in before update, after insert, after update, and after undelete triggers.
Trigger.old : Returns a list of the old versions of the sObject records. This sObject list is only available in update and delete triggers.
Trigger.oldMap: A map of IDs to the old versions of the sObject records. This map is only available in update and delete triggers.
Trigger.size: The total number of records in a trigger invocation, both old and new.
Trigger Context Variables Considerations
trigger.new and trigger.old cannot be used in Apex DML operations.
You can use an object to change its own field values using trigger.new, but only in before triggers. In all after triggers, trigger.new is not saved, so a runtime exception is thrown.
trigger.old is always read-only.
You cannot delete trigger.new.
For interview questions related to trigger, refer to below link:
In this post I am going to share Salesforce Interview Questions on Triggers
What is a Trigger?
Apex triggers enable you to perform custom actions before or after events to records in Salesforce, such as insertions, updates, or deletions. Just like database systems support triggers, Apex provides trigger support for managing records.
Use triggers to perform tasks that can’t be done by using the point-and-click tools in the Salesforce user interface. For example, if validating a field value or updating a field on a record, use validation rules and workflow rules instead.
What is Trigger Syntax?
trigger TriggerName on ObjectName (trigger_events) {
code_block
}
What are the various event on which a trigger can fire?
A trigger is a set of statement which can be executed on the following events. In above trigger events one or more of below events can be used with comma separated.
before insert
before update
before delete
after insert
after update
after delete
after undelete
What are different type of Triggers?
There are two types of triggers:
Before triggers are used to perform a task before a record is inserted or updated or deleted. These are used to update or validate record values before they are saved to the database.
After triggers are used if we want to use the information set by Salesforce system and to make changes in the other records. are used to access field values that are set by the system (such as a record’s Id or LastModifiedDate field), and to affect changes in other records. The records that fire the after trigger are read-only.
What are the considerations while implementing the Triggers?
Consider the following before implementing the triggers.
Upsert trigger fires on 4 different events :- before(insert, update), after (insert, update)
Merge trigger are fired on both events on delete
Field history is updated after the trigger has successfully finished processing data.
Any callout should be asynchronous so that trigger does not have to wait for the response.
A trigger cannot have a static keyword in its code.
If a trigger completes successfully the changes are committed to the database and if it fails the transaction is rolled back.
Read the Apex Developer Guide for more detailed considerations.
What are context variables in triggers?
All triggers define implicit variables that allow developers to access run-time context. These variables are contained in the System.Trigger class.
Following are the context variable available in triggers. Please note variable availability in trigger varies according to the type of trigger events.
isExecuting: Returns true if the current context for the Apex code is a trigger, not a Visualforce page, a Web service, or an executeanonymous() API call.
isInsert: Returns true if this trigger was fired due to an insert operation, from the Salesforce user interface, Apex, or the API.
isUpdate: Returns true if this trigger was fired due to an update operation, from the Salesforce user interface, Apex, or the API.
isDelete: Returns true if this trigger was fired due to a delete operation, from the Salesforce user interface, Apex, or the API.
isBefore: Returns true if this trigger was fired before any record was saved.
isAfter: Returns true if this trigger was fired after all records were saved.
isUndelete: Returns true if this trigger was fired after a record is recovered from the Recycle Bin (that is, after an undelete operation from the Salesforce user interface, Apex, or the API.)
new: Returns a list of the new versions of the sObject records. This sObject list is only available in insert, update, and undelete triggers, and the records can only be modified in before triggers.
newMap: A map of IDs to the new versions of the sObject records. This map is only available in before update, after insert, after update, and after undelete triggers.
old : Returns a list of the old versions of the sObject records. This sObject list is only available in update and delete triggers.
oldMap: A map of IDs to the old versions of the sObject records. This map is only available in update and delete triggers.
size: The total number of records in a trigger invocation, both old and new.
Trigger.New variable returns the list of sObject which has invoked the trigger and Trigger.NewMap returns the map of ID’s with the newly entered records. NewMap is only available in after insert, before and after the update and after undelete.
How is Trigger.new different from Trigger.old?
Trigger.New variable returns the list of sObject which has invoked the trigger and Trigger.old returns a list of the older versions of the records which have invoked the trigger. Trigger.Old is only available in update and delete events
Can a trigger call a batch class?
Yes, we can call a batch class in the trigger as we do in the normal apex code.
Can a trigger make a call to Apex callout method?
we can call a callout method in Apex Trigger but the only condition is that it has to be an asynchronous callout because the trigger flow cannot wait on the response received by the callout method.
Define Recursive Trigger and how to avoid it?
There is a possibility that the result of the trigger can end up calling the same trigger again and can run in a loop, this is known as a recursive trigger. To avoid this scenario we should create a static variable and check the value of this variable before we execute anything in the trigger. For more details refer to below link:
Is there any limit on number of triggers define on an object?
We can define as many triggers on an object as we want but it is recommended to have one trigger per object because the order of execution of different trigger is not guaranteed and any trigger can fire first.
Can you explain the order of execution in Triggers?
Following is the order of execution of events which Salesforce perform before a DML Event.
The record is loaded from the database or is initialized in case of upset statement.
New record’s field values are overwriting the old values, now depending on the origin of the request this flow varies: if the request is from a UI page then the following validations are performed by Salesforce:
Any layout specific rules are checked
All the required values are checked at layout and field level
All the field formats are validated along with the maximum length of field values
If the request originates other than UI then Salesforce only checks for Validation of foreign keys.
Now all the before triggers are executed at the database.
Most of the validations are performed again to verify that all the required fields are holding some values and are not null, at this step user defined validations are also executed and the only validation which is not repeated in this step are the rules specific to the layout.
After the success of the previous step, the record is reviewed for duplicate records, by running the duplicate rule. If a duplicate is found the flow is stopped and no further actions performed.
In this step, record is saved to the database but it not committed yet.
Now all the after Triggers are executed.
In this step, assignment rules are executed.
Now if there is any auto-response rule is present then they are executed.
Next in the queues are the workflow, they are executed after the auto response.
If the workflow was updating a field, then the fields updated in this step and the flow after this step varies if this was the case.
If a field was updated then the before and after update triggers are fired once more and standard validation are also executed again. Custom validation escalation rule and duplicate rules are not required to run again.
Once the execution has reached this stage, then process is fired if there are any declared on the object.
Now the escalation rules are executed.
Entitlement rules are executed if any.
If there are any roll-up summary field, then they are calculated at this step and the parent object go through the save process.
Now the sharing rules are executed.
If we reach this stage, then that means no error has occurred and the data is ready to be committed to the database and is committed now.
Now if there is any post-commit logic like email, then that is executed.
For more details about trigger please refer below links
Spinners are CSS loading indicators that should be shown when retrieving data or performing slow computations. lightning:spinner displays an animated spinner image to indicate that a request is loading. This component can be used when retrieving data or performing an operation that takes time to complete.
aura:waiting and aura:donewaiting can be used for controlling the loading spinner.
What is aura:waiting and aura:doneWaiting?
aura:waiting : This event is automatically fired when a server side apex action is added using $A.enqueueAction(). This event is always fired before aura:doneWaiting. It is handled by a client-side (javaScript)controller. One component can have only one tag to handle this event.
aura:doneWaiting : This event is automatically fired when all server response(apex) complete. aura:doneWaiting indicate that the lightning component is done waiting for server response. This event is always fired after aura:waiting. It is handled by a client-side (javaScript)controller. One component can have only one tag to handle this event.
Lightning Loading Spinner Example :
There are two ways of showing lightning spinner. First is using lightning design system.
Loading Spinner using lightning design system
Loading Spinner Apex class
public class AccountController{
@AuraEnabled
public static List <Account> fetchAccounts() {
//Qyery 10 accounts
List<Account> accList = [SELECT Id, Name, BillingState,
Website, Phone from Account LIMIT 10];
//return list of accounts
return accList;
}
}
({
getAccounts : function(component, event, helper) {
//call getAccountsHelper method
helper.getAccountsHelper(component, event, helper);
},
// function automatic called by aura:waiting event
showSpinner: function(component, event, helper) {
// make Spinner attribute true for displaying loading spinner
component.set("v.spinner", true);
},
// function automatic called by aura:doneWaiting event
hideSpinner : function(component,event,helper){
// make Spinner attribute to false for hiding loading spinner
component.set("v.spinner", false);
}
})
Loading Spinner Lightning component helper
({
getAccountsHelper : function(component, event, helper) {
//call apex class method
var action = component.get('c.fetchAccounts');
action.setCallback(this, function(response) {
//store state of response
var state = response.getState();
if (state === "SUCCESS") {
//set response value in accListToDisplay attribute on component.
component.set('v.accListToDisplay', response.getReturnValue());
}
});
$A.enqueueAction(action);
},
})
Output will look like this when Fetch account button is clicked:
Loading spinner in lightning component
lightning:spinner example
Loading Spinner using lightning:spinner tag
A lightning:spinner displays an animated spinner image to indicate that a feature is loading. This component can be used when retrieving data or anytime an operation doesn’t immediately complete.
Apex class code will be same. There will be slight difference in Lightning component and client side controller.
Organization Wide Defaults(OWD) in salesforce is the baseline level of access that the most restricted user should have. Organizational Wide Defaults are used to restrict access. You grant access through other means like(sharing rules, Role Hierarchy, Sales Teams and Account teams, manual sharing, Apex Sharing ). In simple words Organization Wide Defaults(OWD)specify the default level of access users have to each other’s records.
Object permissions determine the baseline level of access for all the records in an object. Org-wide defaults modify those permissions for records a users doesn’t own. Org-wide sharing settings can be set separately for each type of object.
Important to note that Org-wide defaults can never grant users more access than they have through their object permission.
There are mainly four levels of access :
Public Read/Write/Transfer (only available of Leads and Cases)
Public Read/Write : All users can view, edit, and report on all records(Given that they have object level permission).
Public Read/Only : All users can view and report on records, but only the owner, and users above that role in the hierarchy, can edit them.
Private : Only the record owner, and users above that role in the hierarchy, can view, edit, and report on those records.
How to determine OWD for your org:
To determine the org-wide defaults you need for your app, ask yourself these questions about each object:
Who is the most restricted user of this object?
Is there ever going to be an instance of this object that this user shouldn’t be allowed to see?
Is there ever going to be an instance of this object that this user shouldn’t be allowed to edit?
In Setup, use the Quick Find box to find Sharing Settings.
Click Edit in the Organization-Wide Defaults area.
For each object, select the default access you want to give everyone.
To disable automatic access using your hierarchies, deselect Grant Access Using Hierarchies for any custom object that does not have a default access of Controlled by Parent.
owd in salesforce
For Interview questions related to Salesforce security, please refer below post.
Salesforce security interview questions or data and security salesforce interview questions
There are different levels of security that is implemented in Salesforce. This post is related to data and security.
What are different Levels of data access in Salesforce?
Organization level security
For your whole org, you can maintain a list of authorized users, set password policies, and limit logins to certain hours and locations.
Object level security
Access to object-level data is the simplest thing to control. By setting permissions on a particular type of object, you can prevent a group of users from creating, viewing, editing, or deleting any records of that object. For example, you can use object permissions to ensure that interviewers can view positions and job applications but not edit or delete them.
Field level security
You can restrict access to certain fields, even if a user has access to the object. For example, you can make the salary field in a position object invisible to interviewers but visible to hiring managers and recruiters.
Record level security
You can allow particular users to view an object, but then restrict the individual object records they’re allowed to see. For example, an interviewer can see and edit her own reviews, but not the reviews of other interviewers. You can manage record-level access in these four ways.
Organization-wide defaults
Role hierarchies
Sharing rules
Manual sharing
Salesforce security interview questions
What is Organization-wide defaults?
Organization Wide Defaults(OWD) in salesforce is the baseline level of access that the most restricted user should have. Organizational Wide Defaults are used to restrict access. You grant access through other means like(sharing rules, Role Hierarchy, Sales Teams and Account teams, manual sharing, Apex Sharing ). In simple words Organization Wide Defaults(OWD)specify the default level of access users have to each other’s records.
It gives access for users higher in the hierarchy to all records owned by users below them in the hierarchy. Role hierarchies don’t have to match your organization chart exactly. Instead, each role in the hierarchy should represent a level of data access that a user or group of users needs.
What are Sharing Rules?
Sharing Rules are automatic exceptions to organization-wide defaults for particular groups of users, so they can get to records they don’t own or can’t normally see. Sharing rules, like role hierarchies, are only used to give additional users access to records. They can’t be stricter than your organization-wide default settings.
What is Manual sharing?
It allows owners of particular records to share them with other users. Although manual sharing isn’t automated like org-wide sharing settings, role hierarchies, or sharing rules, it can be useful in some situations, such as when a recruiter going on vacation needs to temporarily assign ownership of a job application to someone else.
Some more questions for Salesforce security interview questions post.
What is Profile
Each user has a single profile that controls which data and features that user has access to. A profile is a collection of settings and permissions. Profile settings determine which data the user can see, and permissions determine what the user can do with that data.
The settings in a user’s profile determine whether she can see a particular app, tab, field, or record type.
The permissions in a user’s profile determine whether she can create or edit records of a given type, run reports, and customize the app.
Profiles usually match up with a user’s job function (for example, system administrator, recruiter, or hiring manager), but you can have profiles for anything that makes sense for your Salesforce org. A profile can be assigned to many users, but a user can have only one profile at a time.
What are standard profiles?
Read Only
Standard User
Marketing User
Contract Manager
System Administrator
What is Permission Set?
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.
Permission sets make it easy to grant access to the various apps and custom objects in your org, and to take away access when it’s no longer needed.
Users can have only one profile, but they can have multiple permission sets.
What is “View all” and “Modify all” permission?
View all and Modify all permissions are usually given to system administrator. When you grant “View All” or “Modify All” for an object on a profile or permission set, you grant any associated users access to all records of that object regardless of the sharing and security settings.
In essence, the “View All” and “Modify All” permissions ignore the sharing model, role hierarchy, and sharing rules that the “Create,” “Read,” “Edit,” and “Delete” permissions respect. Furthermore, “Modify All” also gives a user the ability to mass transfer, mass update, and mass delete records of that specific object, and approve such records even if the user is not a designated approver.
These tasks are typically reserved for administrators, but because “View All” and “Modify All” let us selectively override the system, responsibilities that are usually reserved for the administrator can be delegated to other users in a highly controlled fashion.
Is it possible to restrict permission for users using permission set?
No, Permission Set always extends the permission. It does not restrict permission to users.
If a user does not have access to a specific record type, will they be able to see the records that have that record type?
Yes, Record type controls only visibility of record on UI but not its access to users. If user does not have access to record type then user will not be able to create records for that record type using UI. But user will we able to see records if they have appropriate permission to do so.
For more details related to salesforce security please refer to this trailhead module Data Security
If you have any question related to Salesforce security interview questions, please add your comments
I will keep adding more questions to Salesforce security interview questions.
Salesforce Certified Community Cloud Consultant Exam Tips
How to pass Salesforce Certified Community Cloud Consultant Exam
My Experience
Salesforce Certified Community Cloud Consultant Exam is part of architect journey. But this is optional exam. But I will strongly recommend everyone to appear for his exam if you want to be Salesforce Certified Technical Architect(CTA). Communities management is very important topic from business prospective.
Credential Overview
The Salesforce Certified Community Cloud Consultant credential is designed for those who have experience implementing and consulting on the Salesforce Communities applications in a customer-facing role. Candidates should also be able to troubleshoot and solve platform issues.
Here are some examples of the concepts you should understand to pass the exam:
Enable, create, configure, manage membership, and deploy communities
Differentiate between the capabilities of different license types
Configure the community management console
Describe the infrastructure of communities
Employ build options
The Salesforce Certified Community Cloud Consultant candidate has the experience, skills, knowledge, and ability to:
Enable, Create, Configure, Manage Membership, and Deploy Communities.
Employ architecture design options.
Configure the community management console.
Describe the infrastructure of communities.
Employ build options.
Describe the capabilities of different deployment types.
Differentiate between the capabilities of different license types.
Exercise the capabilities of the Community Workspaces (Dashboards, Recommendations, Reputation, Moderation, Insights, Topics, etc.).
Exercise the capabilities of the Community Builder and Visualforce (Modify templates, Create new pages, Add / Remove Components, Custom Objects, Custom navigation, Branding, Articles/Knowledge).
Implement the appropriate security model for a given use case (Sharing & Users, Person Accounts, Profiles, etc.).
Determine if a community is SEO-enabled.
Employ fundamental best practices for adoption and engagement.
Invest time in studying the resources listed in this Exam Guide and the additional required study materials provided by Salesforce.
Salesforce Certified Mobile Solutions Architecture Designer Exam Tips
How to pass Salesforce Certified Mobile Solutions Architecture Designer Exam
My Experience
This is one of easier exam from all architect exam. This is optional from Architect journey. I did not had any previous experience in building mobile app. But I had experience in using and customizing Salesforce 1 mobile app(Now its Salesforce App). I had never used Mobile SDK. So i decided to go through trailhead modules which were very helpful in understanding concept. I strongly recommend Develop with Mobile SDK trail if you do not have previous experience in using Mobile SDK. This trail will cover 50% of exam.
Credential Overview
The Salesforce Certified Mobile Solutions Architecture Designer credential is designed for those who assess the architecture environment and requirements and design and implement sound and scalable mobile solutions on the Force.com platform that meet those requirements. Candidates should have experience communicating solutions and design trade-offs to businesses and IT stakeholders.
Here are some examples of the concepts you should understand to pass the exam:
Describing the differences between Salesforce1, Native, HTML5 and Hybrid mobile architectures
Defining how a customer can choose between Salesforce1 solution and a Customer Mobile Solution
Understanding the Salesforce1 app and its configuration/customization options
Describing how mobile solution capabilities can be enhanced via connected devices (e.g., Wearables, iBeacons)
Get Started With Salesforce DX (Salesforce Developer Experience)
Get Started With Salesforce DX : Introduction and basics of Salesforce DX (Salesforce Developer Experience)
Salesforce DX provides development teams with an integrated, end-to-end lifecycle for high-performance agile development – designed to be open and flexible so you can build together with tools you love.
But first question that arises is why we need Salesforce DX?
We already have tools like force.com IDE, changeset, metadata API, force.com Migration tool using ant.
But problem with current system without DX is that, source of truth is sandbox or your production. With Salesforce DX source of truth is always Version Control System(VCS) or Source Code Management(SCM). Developers can use any tools like Git or SVN.
Although VCS or SCM like git or SVN can be used without Salesforce DX as well. But with Salesforce DX, using these tools becomes easier.
This is not only advantage of using Salesforce DX. There are other advantages as well:
Source of truth: Use scratch orgs during development and with CI tools.
Scratch Orgs: Use scratch orgs during development and with CI tools.
Source Sync: Sync all packageable source/metadata into and out of scratch orgs.
Salesforce CLI: Use the Salesforce CLI to interact with scratch orgs, source sync, Heroku, and Salesforce other services.
Test Runner: The ability to define test profiles to be executed by developers (i.e. interactively invoked via CLI) and CI processes.
Continuous Integration: The ability to use SFDX innovations with any CI process (i.e. TeamCity, Jenkins, Travis CI, or Heroku CI).
Force.com IDE: The ability to use the new Force.com IDE.
What is Scratch Org?
Salesforce DX can be enabled for any Salesforce instance and they are known as Developer Hub. One Developer Hub can have multiple Scratch Orgs. A scratch org is a dedicated, configurable, and short-term Salesforce environment that you can quickly spin up when starting a new project, a new feature branch, or a feature test.It can be used by developers to perform quick proof of concept or build and test. Scratch org can be destroyed easily once its no longer required.
Salesforce Certified Identity and Access Management Designer Exam Tips
How to pass Salesforce Certified Identity and Access Management Designer Exam
My Experience
This was my fifth architect exam. I was searching online for this exam. In every post it was written that this is toughest exam from all architect exam. I too agree with all other posts that this is tougher as compare to other architect exam. Some of my friends also failed in this exam in first attempt. But still with good preparation you can crack this exam. Luckily and Credits to salesforce documentation I passed this exam in first attempt with very good score. I studied almost all links mentioned in resource guides. I will cover important topics at end of this post. My advice: Don’t get scared by this exam. Study all important topics, you can crack this exam easily.
Credential Overview
The Salesforce Certified Identity and Access Management Designer credential is designed for those who assess the architecture environment and requirements and design sound, scalable and high-performing solutions on the Force.com platform that meet the Single Sign-on (SSO) requirements. Candidates should have experience communicating solutions and design trade-offs to businesses and IT stakeholders.
Here are some examples of the concepts you should understand to pass the exam:
Understanding Configuration requirements of delegated authentication
Understanding configuration requirements of SAML
Knowledge of when to use IDP initiated vs. service provider initiated
Describing provisioning and de-provisioning related to SAML, Oauth, and OpenID Connect
Salesforce Certified Development Lifecycle and Deployment Designer Exam Tips
How to pass Salesforce Certified Development Lifecycle and Deployment Designer Exam
My Experience
This was my third architect exam. I will rate this one also easier to crack. Most of people who are working in Salesforce development get chance to practically work in most of topics which are required for this exam. It requires good knowledge about development & deployment lifecycle and all tools which are required for development & deployment. I had used most of tools and features in my project. So it was easy for me. But if you have not worked on it, don’t worry this exam preparation will be good opportunity for you to learn so many good things. Go through all topics mentioned in resource guides. I will list down most important topics at end of this post.One more important point to mention that most of questions in this exam were scenario based.
Credential Overview
The Salesforce Certified Development Lifecycle and Deployment Designer credential is designed for those who assess their architecture environment and requirements and then implement management solutions on the Force.com platform that meet those requirements. Candidates should have experience communicating solutions and design trade-offs to businesses and IT stakeholders.
Here are some examples of the concepts you should understand to pass the exam:
Experience with project and development lifecycle methodologies
Experience providing requirements traceability through the project’s lifecycle
Awareness of Salesforce and third-party application development lifecycle tools
Understanding test plan design and evaluating effectiveness
The Salesforce Certified Development Lifecycle and Deployment Designer candidate has the experience, skills, knowledge, and ability to:
Communicate development methodologies and trade-offs.
Provide alternatives to development methodologies.
Ensure Governance through change management and release management.
Ensure Governance in environment management.
Develop and execute effective deployment strategies.
Use technical tools to execute deployment strategies and environmental approaches.
Describe the capabilities and characteristics of metadata API.
Describe the capabilities and constraints of the tools available for accessing the Metadata API (Force.com Migration Tool, Force.com IDE, and Change Sets).
Describe source control and continuous integration, how they are used, and when they should be recommended.
Utilize testing methodologies.
Describe strategies to restore and back up.
Understand deployment KPIs.
Follow Salesforce release schedules and know how they may impact deployments and projects.
A candidate for this exam will likely need assistance with:
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it. AcceptRead More
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
Recent Comments