Showing posts with label Interview Questions. Show all posts
Showing posts with label Interview Questions. Show all posts

Wednesday, January 8, 2020

How To Populate A Map With List or Set (Where Collections As a Value) in Salesforce

As a developer most of the times we will be working on collections.One of the most common used collection in salesforce is maps.

Creating a simple maps(value as a string,integer,object etc..) is very easy
  • Map<String,String>
  • Map<String,Integer>
  • Map<key,objects>
The real picture comes into scenario when we want to build some complex maps(where value of a map it self again a collection like list,set etc) 
  • Map<String,list<Account>>
  • Map<integer,set<integer>>
  • Map<AccountId,list<Conatct>>
Most common mistakes that we do while building this complex maps are
  • Old value gets overrides by new values.
  • When your in loop you map always ends up with just holding the last record in list/set.
  • Didn't checking whether value is already is exist or not.
Scenario:

Let take a take I want to create a map which will takes case status as key and it's value is all the cases comes under the same status.

Map<String,List<Case>> mapStatusToCases = new Map<String,List<Case>>()

for( Case cs: [SELECT id,Status,CaseNumber FROM Case limit 20])
{
 //Check whether with same status any record is already is added to map or not
 
 if(mapStatusToCases.containsKey(cs.Status)) 
 {
    // If you directly put this case into the map it will overrides all the existing cases,
   // which is not correct.So get all the existing records and store it list/set.
  List<Case> existingCase = mapStatusToCases.get(cs.Status);
  //add this new record to existing list  
  existingCase.add(cs);
  // now put the same status into the map with all latest case records(existing+new),
  // because key is same so it will overrides existing values with this latest list
  mapStatusToCases.put(cs.Status,existingCase); 
 }
 
 else // this executes if the status is not there in map(it means coming first time)
 {
     //prepare variable of map value type
  List<case> lstNewCases = new List<Case>();
  // adding a new record
  lstNewCases.add(cs); 
  // add the new status as a key and case as a value into map
  mapStatusToCases.put(cs.Status,lstNewCases); 
 }
}

System.debug('All Key Set...'+mapStatusToCases.keySet());
System.debug('All Values in Map...'+mapStatusToCases.values());
System.debug('Complete Map Details...'+mapStatusToCases);

For better understanding in above I have written each statement in a separate line. The same code can also be written in an optimized way as shown below.Both are valid and same.


Map<String,List<Case>> mapStatusToCases = new Map<String,List<Case>>()

for( Case cs: [SELECT id,Status,CaseNumber FROM Case limit 20])
{
 //Check whether with same status any record is already is added to map or not
 
 if(mapStatusToCases.containsKey(cs.Status)) 
 {
  //this statement mapStatusToCases.get(cs.Status) will returns the list
  //So,I'm adding new record to existing list directly
  mapStatusToCases.get(cs.Status).add(cs); 
 }
 
 else // this executes if the status is not there in map(it means coming first time)
 {
     //Delcared a new list and directly adding a new record to that
  mapStatusToCases.put(cs.Status,new List<Case>{cs}); 
 }
}

System.debug('All Key Set...'+mapStatusToCases.keySet());
System.debug('All Values in Map...'+mapStatusToCases.values());
System.debug('Complete Map Details...'+mapStatusToCases);

OutPut:




Please watch this space more useful stuff.

Please follow,bookmark,subscribe this site to receive daily updates.

Facebook - https://www.facebook.com/ILoveCodingYou/?ref=bookmarks


Hope this helps you..Enjoy..!







Sunday, December 29, 2019

Salesforce Integration - Latest Interview Questions With Answers

1.What is meant by Integration or Web Services?

In simple terms integration is nothing but exchange/transfer of data between two different applications/systems.This basically provides communication between two applications.These two applications could be of using same technology or it could be of different technology.

Examples :
  • The data exchange between 2 different Salesforce Orgs.
  • The data between Salesforce or Java,.Net or SAP(External services).
The exchange of data happens over internet (Web) so this is termed as Web Services.



2.What is meant by API or Service?

API stands for Application Programming Interface.It is protocol through which one application communicate with other. Salesforce can integrate with third party application and communicate data with API.

In simple terms API is nothing but a class which will take some inputs from the users and returns some response basis on the requirement.The classes which has build for integration purpose can be called as the "Services"

3. What are the popular types of Web Services Protocols available in market?

Below are the two popular Web Services protocol for creating any integration
  • SOAP - Simple Object Access Protocol
  • REST - Representational state transfer
  • Bayeux
Each protocol will have it's own constrains to create any web services.

4. What are the different API's available in Salesforce Eco System?

Salesforce supports wide range of API's so that any external system can interact with Salesforce ecosystem very easily basis on requirement.
  • Bulk Data Processing
  • Tool API's
  • For Building Custom API


For more information please refer

5.What is the difference between REST API and APEX REST API?

Similar to Standard object/fields and Custom object/fields in Salesforce,these APIs are also comes under this Standard APIs and Custom APIs.

REST API: 
This api provided by Salesforce with pre-built set of services which will be running on REST protocol to interact with Salesforce ecosystem.This provides powerful and convenient way to interact with Salesforce system.

This is very easy for integration and it best suits for applications which are running on mobile applications and web projects.The detailed document can be found here.

APEX REST API:

If you have an use case where you want to share some of your salesforce org data with external systems/you want to update salesforce data basis on the external system request with REST protocol and your use case is not available in standard REST API provided by salesforce. 

In these scenarios you will create an apex class which can handle all your scenarios and shares/update the necessary data with external systems at the same time running these apex classes on REST protocol.The entire class or methods which has written then exposed with external systems using this APEX REST API.

The detailed document can be found here

6.What are the Authentication mechanisms used by Apex REST API?
  • OAuth 2.0
  • Session Id
7. What is Callout?

When your making an api call to external system from salesforce we will call it as Callout(because the call is going out from salesforce)

8. Is there any difference between contract details,api details or service details?

There is no difference among all these terms are same.These terms are used to describe about the what is the sample request,sample headers,end point,authentication model and sample response details which can be shared/agreed between two parties for integration.

9.How can you say if i have shown two classes which one is Apex Rest API class and other is normal apex class?

If any class is annotated with @RestResource(urlMapping='/sampleurl') will be treated as Apex Rest API class.

@RestResource(urlMapping='/srinivas4sfdc/getCases/*')
global without sharing class API_Get_Cases
{
  //your code
}


10.What is Remote Site Setting and What is the action of it?

Basically in Remote site settings we will add the external system domain address where Salesforce is going to make a callout for some information.

As soon as you added the domain name to the remote site setting it internally informs the Salesforce ecosystems these are my trusted domain names so you can allow call out to these services from Salesforce.

11.What happens if domain is not added while making a callout from Salesforce to External System?

It's mandatory to add the external system domain names in remote site setting while salesforce making any callout to these services.If not added then salesforce treats all these external systems domain names as not trusted domains .So,callout will not triggered from the salesforce.

12.When an external system is making a call to Salesforce in this case should we add the external System domain name in Remote site setting?

No,it's not required .

13.How will Salesforce authenticates every incoming request?

Every third party request coming into Salesforce will be authenticated by OAuth 2.0,using the OAuth 2.0 third party systems will get the access token first from the salesforce authorization server ,then the access token will be passed as part of every request.

So,Salesforce check whether this token is valid or not,expired or not,if everything if fine then only salesforce processes this request otherwise it will throws an error.

14. What is the default time out an api call out?

120 sec - 2 mins

15. Can we make a callout from Trigger Context(In same transaction)?

No,because when your making a callout to external system we don't know whether you will receive the response immediately or it can take some time and some time these external service might be down as well.

So,if your making a callout in trigger context directly you might goes to the dead lock situation because your trigger is waiting for response from external system but external system is not responding quickly.Just keeping the limits in mind Salesforce doesn't support the callout in same transaction from the trigger context.

16. Can we make a callout from Trigger?If how can we make a callout?

In same transaction execution you can't make a callout but salesforce has provided an workaround solution for this ,by splinting the callout functionality from same transaction context(synchronous) to different transaction context(asynchronous).

Trigger always run on the synchronous mechanism and when you call any method with annotation @future(callout=true) the execution context of this method becomes the asynchronous.So,if you want to make a callout from trigger please place your callout logic inside this method so that the callout context moves into asynchronous and trigger don't wait for the callout response and it continues the execution.

17.Can we make a callout from Trigger without using future method?

No,because in same trigger context you can't make a callout. 

18.What are the Concurrent limits in Salesforce?

If multiple requests are running more than the specified time interval then all those request will be treated under Concurrent limits. Salesforce has broadly divided these limits into 2 categories
  • Concurrent API Request limit
  • Concurrent Callout Request/Apex limit
19.Explain about Concurrent API Request limit?

If salesforce receiving any incoming api request from the external systems and all those api requests which are taking more than 20 sec will be counted under these API Request limits.

At any given point of time salesforce allows only 25 requests running more than 20 sec is allowed.If 25 requests are already took 20 sec and meanwhile if you receive 26th request and if this 26th request is also crossing the 20 sec then system will throws an error an terminates this 26th request automatically.

In case if 26th request is finished it's execution within 20 sec then no error will be thrown.

20. Explain about Concurrent Callout Request/Apex limits?

If salesforce is making any callout to external systems synchronously from visual force,if any callout taking more than 5 sec(long running processes) will be counted under this Concurrent Callout Request limit.

At any given point of time salesforce allows only 10 long running callouts .If already 10 callouts are running and all these taking more than 5 sec,in this case if you receive 11 callout request and if this is also taking more than 5 sec then system automatically terminates this stating concurrent limit exceeded.

21. How can we avoid Concurrent Callout Request/Apex limits?

Yes,we can avoid these errors just moving all these synchronous long running request into asynchronous long running request by using the Continuous Integration.

For more details about this please refer my detail post


Please watch this space more interview questions.

Please follow,bookmark,subscribe this site to receive daily updates.

Facebook - https://www.facebook.com/ILoveCodingYou/?ref=bookmarks

Hope this helps you..Enjoy..!

Monday, December 23, 2019

Batch Apex - Interview Questions With Answers

1. How many active batches(running parallel) can be allowed at a time?

Salesforce by default allows 5 active batches running at a time and other batches will be in queue for running

2. How can we schedule batch class to run in future only once from the specified minutes from current time.

public static String scheduleBatch(Database.Batchable batchable, String jobName, Integer minutesFromNow)

or

public static String scheduleBatch(Database.Batchable batchable, String jobName, Integer minutesFromNow,Integer batchSize)

3.How to calculate the batch size if we are making any call out from the batch class execute method?

Basically in salesforce we have limitation of 100 call outs for a transaction.When it comes to batch class each execute method call will be considered as one transaction.So,in this case your batch size must be calculated in such way

   Batch size = (No of callouts allowed for single transaction /total number of call outs for each record) - 1;

   Batch size = (100 /total number of call outs for each record) - 1;


4. How to stop all the running batches related to a particular batch classes before scheduling the same batch class from the schedule class.


global class CaseCreationonSchedular implements Schedulable
{
    global void execute(SchedulableContext SC)
    {
        
        for(AsyncApexJob ap: [SELECT Id, ApexClass.Name,createddate, JobType, Status, JobItemsProcessed, MethodName, ParentJobId FROM AsyncApexJob Where ParentJobId!=Null AND JobType IN('BatchApex','BatchApexWorker') And ApexClass.Name='YourBatchClassName' And Status NOT IN('Completed','Aborted')])
        {
          System.abortJob(ap.ParentJobId);

        }
        YourBatchClassName cls = new YourBatchClassName();
        DataBase.executeBatch(cls);
    }
}

5.How can we schedule a batch class to run every 10 or 5 or 2 mins.

Salesforce haven't provided wild card entries (* every,- range,/,?) in place of minutes and seconds.So,if you want schedule a class to run every  10 minutes you have to schedule same class 6 times (60min/6) with diff batch name ,for 5 mins 12 times and for 2 mins 30 times..As the time interval keeps going down schedule the same class goes up which is an irritating thing to monitor or even it's very hard to handle these many jobs.

For this we can simply do this in the code so that at any given point of time you will have only schedule job running for the same.


global class CaseCreationonSchedular implements Schedulable
{
    public void execute(SchedulableContext scon)
    {
        System.abortJob(scon.getTriggerId()); // abort already running schedule job 
        Decimal nextInterval = System.Label.nextIntervalTime; // config to decide next interval 2,5 or 10 mins etc..
        System.schedule('CaseCreationonBatch - '+String.valueOf(DateTime.now()), '0 '+DateTime.now().addMinutes(Integer.valueOf(nextInterval)).minute()+' */1 ? * *', this); //Schedule the class to run with specified time
  
        Database.executeBatch(new YourBatchClassName()); // Call you batch class 
       
    }
}

6.Why to use Batch class as we already having data loader to process the bulk data.

Agree with this point if and only if the data needs to be updated is static or predefined or which can be done through excel.

We will choose batch class if we have to perform some custom calculations at run time or if you want to run some complex logic which can't be driven by excel sheets in those cases we have to go with batch classes.

Examples:

  • Do some relationship quires to update the data.
  • Make a call out to get the some information related to each record.
7.How many times the execute method will be executed to process the  1234 records.

It depends on your batch size what you have configured at the time of calling the batch class from schedule class.

Execution method count = Total No Of Records/Batch Size (Any decimal ceil it to upper value)
  • If you haven't set any batch size then - 1234/200 = 6.17 = 7 times execute method will be called

8.What is the maximum size of a batch that we can set up ?

2000

9.What is the minimum batch size we can set up is?

1

10.What is the default size of batch if we haven't configured at the time of execution?

200

11.What is Apex Flex Queue?

At a time salesforce allolws 5 batches to be running or to be in queued state.So,if you have consumed all these 5 limits and if system has received one or more batch execution request all these waiting batch will be stored in this Apex Flex Queue.

12. What is the maximum number of batch classes allowed in Apex Flex Queue for execution?

100

13.How can we do chaining of batch jobs?

we can do this by simply calling the chained batch/second batch class from the finish method of the first batch class.

Why to call only from the finish method why not from execute?because the execute method will gets invoked multiple times based on the volume of the records and batch size.So,if your calling it from execute method then the chaining class will get called multiple times which is not an suggested way of doing.

We can also use the Queueable Apex for chaining of the jobs.


Hope this helps you..Enjoy..!

Monday, July 3, 2017

How To Dispaly The DropDown Values With CheckBoxes Vertically In Visual Force

In my previous post I have explained to how to display the drop down values with check boxes so we will use the same post but In this post I will explain how to display that list vertically rather than horizontally.

In <apex:SelectCheckBoxes> tag we have an attribute called 'layout' which will decides the direction of the display .If you set that to layout="pageDirection" then it will displays automatically in vertical.

Source Code:


In VisualForce Page:

<apex:selectcheckBoxes value="{!selFruits}" layout="pageDirection">
 <apex:selectOption itemLabel="Mango" itemValue="Mango" />
 <apex:selectOption itemLabel="Apple" itemValue="Apple" />
 <apex:selectOption itemLabel="Banana" itemValue="Banana" />
 <apex:selectOption itemLabel="Guava" itemValue="Guava"/>
        <apex:selectOption itemLabel="Orange" itemValue="Orange"/>

</apex:selectcheckBoxes>

In Apex Class:

Public List<String> selFruits{get;set;} // This should be list not Single String


OutPut:




Thanks for visiting..hope this helps you!

Saturday, July 1, 2017

System.ListException: Before Insert or Upsert list must not have two identically equal elements

We will receive this error when your adding same instance of record to list twice i.e.If your adding same record twice to the list you will end up with error.

Sample Code With Error

List<Case> listCase = new List<Case>();
Case cs = new Case();
cs.RecordTypeId = Schema.SObjectType.Case.getRecordTypeInfosByName().get('Bus').getRecordTypeId();
cs.Status ='Approved';
cs.Origin = 'Inbound Call';
listCase.add(cs);

Case cs1 = new Case();
cs1.RecordTypeId = Schema.SObjectType.Case.getRecordTypeInfosByName().get('Bus').getRecordTypeId();
cs1.Status ='Approved';
cs1.Origin = 'Inbound Call';
listCase.add(cs);  // I should add cs1 instance but I added cs which are already in list

insert listCase;

If you run the above code you will receive an error while inserting System.ListException: Before Insert or Upsert list must not have two identically equal elements ,that is because of adding same case record twice to the list ,you can see duplicate element in yellow color where actually it should be cs1 but added cs which is already there in list.

To avoid this error you can cross check your code whether your adding some where same instance of object twice to the list.

Error Free Code


List<Case> listCase = new List<Case>();
Case cs = new Case();
cs.RecordTypeId = Schema.SObjectType.Case.getRecordTypeInfosByName().get('Bus').getRecordTypeId();
cs.Status ='Approved';
cs.Origin = 'Inbound Call';
listCase.add(cs);

Case cs1 = new Case();
cs1.RecordTypeId = Schema.SObjectType.Case.getRecordTypeInfosByName().get('Bus').getRecordTypeId();
cs1.Status ='Approved';
cs1.Origin = 'Inbound Call';
listCase.add(cs1);   //Corrected here adding cs1 instance to list 

insert listCase;


Thanks for visiting..hope this helps you!

Thursday, January 12, 2017

What is Default Backend formats for Date and DateTime in Salesforce

Today I'm going to share an exiting hidden feature of salesforce. We will be using regularly date and datetime fields in salesforce. I will discuss few points about these fields now.

Scenario:

 I have one datetime field in my object which typically stores the date time .Now I have created one record in that object passing some date and time to that field.Lets assume that the value is 11 Jan 2017 and time as 3Am(03:00:00) .I have successfully created a record and my time zone is IST .
Now I open my developer console and trying to query the same record with the help of datetime(11Jan 2016 3Am) then my query ends up with no result.Why is it ?What happened?

Root Cause:

 Now I have taken some other field(Id or String) from same object to debug actually what happening in the backend and included this datetime field in query.The value for datetime field is showing some thing like 10 Jan 2017 and time as 9pm (21:30:00) but when I added same field to page layout or in visual force page I'm getting the 11 Jan 2017 and time as 3Am(03:00:00) .Then I went through many blogs and docs of salesforce and came to know that by default the Salesforce will stores all Date and Datetime fields in database in the format of Coordinated Universal Time (UTC) which also know as Greenwich Mean Time (GMT) and it will not consider what is the logged in user time zone.



Solution:

So due to above mentioned statement the converted value of IST 11 Jan 2017 and time as 3Am(03:00:00) will comes as 10 Jan 2017 and time as 9pm (21:30:00) because we are ahead of +5:30 compared to GMT/UTC.

So when you were working with date or datetime fields better you will make sure that you follow all these conversions to get the exact data.

Whenever showing these date or datetime fields in pagelayout or visual force page salesforce automatically converts that GMT/UTC value to logged in user respective timezone so that is the reason we are able to see 11 Jan 2017 and time as 3Am(03:00:00) on layouts and vf pages instead of 10 Jan 2017 and time as 9pm (21:30:00)

Salesforce already provides some internal date and datetime functions to make all these conversions.
We will see more details about all these functions in my next post.

Thanks for visiting..hope this helps you!









Tuesday, December 13, 2016

Sample GROUP BY Clause in SOQL

Sample SOQL query to fetch case count based on the owner.

SELECT Owner.name, COUNT(CaseNumber)
FROM Case
GROUP BY Owner.name




Thank you...Enjoy!

Friday, July 15, 2016

Limitations of @InvocableMethod annotation in Salesforce

@InvocableMethod:

This Annotation will be used whenever you want to invoke an apex method from the Process Builder then that method must be declared as @InvocableMethod ,otherwise it can't be accessed in Process Builder .@InvocableMethod annotation have some limitations when your using it.

Limitations of @InvocableMethod Annotation:

  • Invocable method will not accept more than one argument as a method parameter
  • Only static methods can be invocable methods
  • More than one invocable method is not allowed per class

Method with Invocable Annotation Example:

public class UserHistoryProcessor
{
   @InvocableMethod 
  public static void updateUserHistory(List<Id> userIds)
  {
    //related code here
  }
 
}


Thanks for visiting...Enjoy!

Salesforce Interview Questions -Compact Layouts

1. What is Compact Layout?

    The devices like in Mobile (Salesforce1) we will be running out with space constrains . So with the help of Compact Layouts we can  highlight the record key fields at glance .These layouts will help you to arrange necessary fields at record's highlight area.

2. If you haven't created compact layout what will happens in Salesforce1?

    It's not required to create a compact layout in salesforce .If you haven't created system will uses a predefined system generated read only compact layout

3. What fields will be included in default compact layouts?

    It will includes only Name field as part of compact layout

4. How many fields will be shown as part of record highlights section ?

   In Salesforce1 first 4 fields will be included
   In Lightning Experience first 5 fields will be included

5. How many fields you can add to Compact Layouts?

   10 fields

6. What are unsupported field types in compact layouts?
  • Text areas
  • Long text areas
  • Text areas
  • Multi-select pick lists
7. Can we assign different compact layouts to different users?
   
    No,only one compact layout will be assigned to all users

Thanks for visiting..hope this helps you!

Compact Layouts Salesforce Interview Questions

1. What is Compact Layout?

    The devices like in Mobile (Salesforce1) we will be running out with space constrains . So with the help of Compact Layouts we can  highlight the record key fields at glance .These layouts will help you to arrange necessary fields at record's highlight area.

2. If you haven't created compact layout what will happens in Salesforce1?

    It's not required to create a compact layout in salesforce .If you haven't created system will uses a predefined system generated read only compact layout

3. What fields will be included in default compact layouts?

    It will includes only Name field as part of compact layout

4. How many fields will be shown as part of record highlights section ?

   In Salesforce1 first 4 fields will be included
   In Lightning Experience first 5 fields will be included

5. How many fields you can add to Compact Layouts?

   10 fields

6. What are unsupported field types in compact layouts?
  • Text areas
  • Long text areas
  • Text areas
  • Multi-select pick lists
7. Can we assign different compact layouts to different users?
   
    No,only one compact layout will be assigned to all users

Thanks for visiting...Enjoy!


Business Scenarios That Are Not Supported in Lightning Experience

Salesforce Lightning Experience:

Each object in world will have it's own Pros and Cons .Based on the situations we have to pick the things which suits best for your functionality .Similarly Lightning Experience has it's own advantages as well as disadvantages compared to Salesforce Classic.At this point of time it's better saying not supported instead of framing it as a disadvantages because Salesforce Team is working very hard to bring all the features that supports in Salesforce Classic to Salesforce Lightning .It will take some time.

In this post I'm gone explain you some of the business scenarios that will support in Salesforce Classic and but not in Salesforce Lightning.
  • If your current business is related to Quotation generation with help of Standard Quotes in Salesforce that will not be supported in Salesforce Lightning .
  • If your Sales process team using any kind of forecasting mechanism to manage your company pipeline that will not supported in Salesforce Lightning.
  • If your sales team using Sales console to manage the multiple leads at a time that feature is also not available in Salesforce Lightning.
Above listed business scenarios are few examples .Please follow the same blog to find many other Pros and Cons related to Salesforce Lightning in upcoming posts.

Thanks for visiting...Enjoy!




Thursday, July 14, 2016

How To Access Global Quick Actions in Salesforce Lightning Experience

Follow below steps to Access Global Quick Action in Lightning Experience

1. Goto Setup in LE and locate + plus symbol next to App Launcher



2. Click on Plus symbol to access available Global Quick Actions



3. Click on New Task to create a task from home page then in right hand side at bottom a form will be open to create a Task .Fill it and click save to create a quick Task



Thanks for visiting...Enjoy!

List of Annotations in Salesforce Apex

Usually Annotation means which will specifies the behavior or modifies the way how the particular class or method behaves in salesforce. Based on annotations the functionality or behavior and usage of particular class or method we can simply identify.

  • Each annotation will starts with '@' symbol and followed by name of the annotation
  • To declare a method/class with annotations it must be declared immediately before method/class  
Method with Annotation Example

public class UserHistoryProcessor
{
   @InvocableMethod 
  public static void updateUserHistory(List<Id> userIds)
  {
    //related code here
  }
 
}

List of Available Annotations in Apex

  • @isTest
  • @InvocableMethod
  • @InvocableVariable
  • @future
  • @AuraEnabled
  • @ReadOnly
  • @RemoteAction
  • @TestSetup
  • @TestVisible
  • @Deprecated
Apex REST annotations:
  • @RestResource(urlMapping='/yourUrl')
  • @HttpDelete
  • @HttpGet
  • @HttpPatch
  • @HttpPost
  • @HttpPut
we will discuss about each and every annotations with examples in next post please keep following the blog for latest updates

Thanks for visiting...Enjoy! 

How To Enable a Lightning Experience In Salesforce Orgs

Please follow the below steps to enable a lightning experience in Salesforce

1. Go to Setup---->In Left side navigation click on Lightning Experience link

 2. Go to Enable the New Salesforce Experience 

3. Draw as shown in image to enable the lightning experience


 4. Click on Finish Enabling Lightning Experience button to finsih it up.

5. Go to Setup--->Click on Switch to Lightning Experience link to open Lightning Experience



Thanks for visiting...Enjoy!

Wednesday, July 13, 2016

How to Change the Default Navigation Menu Items in Salesforce Lightning Experience.

We already started exploring on lightning experience ,which is an latest UI which will helps the Sales reps to access necessary data at glance to close more deals with lightning speed.In this post I will explain how to change the default navigation menu options in lightning experience.

Navigation Menu:

Below Screen shows what is meant by Navigation Menu in lightning experience .It usually contains all objects tabs.To change the tabs or to reorder the tabs in side navigation please follow further steps



1. Goto Setup--->Apps--->Navigation Menu--->Click on New button as shown below.


2.Enter Label Name and Description for Navigation Menu and click on Next button

3.Please Select/Deselect the Required Tabs from Available Items/Navigation Menu Items respectively


4.Please Select the list of Profiles to whom you want to apply these Navigation Menu



5.Click on Save and Finish Button and Reload the complete page and see the changes in Menu



Thanks for visiting...Enjoy!

List of the Editions That Supports Lightning Experience

As we already known that Salesforce have many types of editions to support for Small sized organisations to Large sized organisations.To understand whether your current org supports the lightning experience or not please look at the below table.


Supported Editions
Unsupported Editions
·         Group Edition
·         Professional Edition
·         Enterprise Edition
·         Performance Edition
·         Unlimited Edition
·         Developer Edition

·         Personal Edition
·         Contact Manager Edition
·         Database.com Edition
·         Chatter.com Edition



Thanks for visiting...Enjoy!