Difference Between Role & Profile in Salesforce


  • A Profile is a collection of settings and permissions that controls the user what they have to do in the application and with access what they have.
  • A profile controls “Object permissions, Field permissions, User permissions, Tab settings, App settings, Apex class access, Visualforce page access, Page layouts, Record Types, Login hours & Login IP ranges.
  • Defining profile for a user is mandatory.


  • A role controls the level of visibility that users have into your organization’s data. Mainly is going to provide the record level security.
  • Users at any given role level can view, edit, and report on all data owned by or shared with users below them in the hierarchy, unless your organization’s sharing model for an object specifies otherwise.
  • It is not mandatory that a user should have a role.

Important Points to Remember in Salesforce

Important Points to Remember in Salesforce:

  • We can track 20 fields for an object. We can’t track Roll-Up Summary and formula fields. We can’t create Roll-Up Summary field on User object.
  • Capacity of picklist values are 300.
  • Lenght of Check syntax: 4000 characters
  • Length of the formula: 1300 characters. Size of the formula: 5000 bytes
  • Only 10 Roll-Up Summary fields we can create per an object. We can create Roll-Up Summary field on parent object to perform operations on child object.
  • Roll-Up Summary field performs 4 types of operations on child object. They are 1.Count 2.Sum 3.Min 4.Max.
  • We can add 20 components for a dashboard.
  • We can display 1000 records on each visualforce page.
  • PageBlockSectionItem will take only 2 visualforce components.
  • Standard fields are Owner, Name, Created By, Last Modified By, Currency, Division.
  • We can’t create Look-Up or Master-Detail Relationship on User Object.

Difference between __c and __r in Salesforce

__c is for Custom objects For example: Custom_Object__c . It is used for reference custom object in Apex or visualforce page, formula field etc internally. Used as suffix.

__r is for Custom objects reference For example: Custom_Object__r . It is used for reference custom object relationship name in Apex or visualforce page, formula field etc. Used as suffix.

Salesforce Public groups Vs Queues

A group consists of a set of users. A group can contain individual users, other groups, or the users in a particular role or territory. It can also contain the users in a particular role or territory plus all the users below that role or territory in the hierarchy.

Queues help your teams manage leads, cases, service contracts, and custom objects. Once records are placed in a queue manually or through an automatic case or lead assignment rule, records remain there until they’re assigned to a user or taken by one of the queue members. Any queue member or users above them in the role hierarchy can take ownership of records in a queue. Use queues to route lead, case, and custom object records to a group.

Difference between Public Group and Queue:

Queue Public Group
Queues are used primary as Owners of records. Public Groups are used primary for security.
Queue is a feature available to salesforce.com users that allows you to integrate prospect assignments with your current salesforce.com workflow. Rather than assigning to a specific user, you can choose to assign leads to a salesforce.com queue and then use your CRM workflow or manual method of distributing leads to sales representatives. Public Group is kind of team or group of related users, this will help to share the data.
Queues 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. It also allows the users to have there separate views. Group on the other hand are used more for a sharing purpose. They are not the owner of the records like queue, but can share the records in terms of access.
Queue can be created for Custom objects and for Case, Lead and Knowledge Article Version. Public group created can be used across any objects.

Difference between action function and action support

Action Function: Invoke the controller method from java script using AJAX and we can use action function from different places on visual force page.

Action Support: Invoke the controller method using AJAX when event occurs on page like onMouseOver, onClick, etc. and we can use action support for particular single apex component.