Friday 1 June 2018

Salesforce Advanced FAQ


1. Give me code free solution to validate duplicate check on combination of First & Last Name?

  • Create a formula field to get the concatenation of First & Last Name
  • Create a custom field to hold the value of formula field & Declare this field as unique
  • Create Work flow rule & Field Update action on every record creation/update save the above mentioned formula field value into custom field
  • So since the custom field we declared as Unique it will not allow any duplicate entry

2. Can we disable triggers in production ?

    Triggers are not editable once deployed,
    Alternate solution is Using Force.Com IDE / Change Sets,Inactive/Disable the trigger
    and deploy to the production

   Any other solution with out deployment?

    Yes,It's design solution :
  •     Create configuration [Custom Setting / Custom Metadata Type] to maintain the flag                    for each trigger execution
  •     Execute the trigger logic based on the above flag selection

 3. In which below scenario users will  be able to edit each others records ?

 
  In either of scenario the answer is "NO"
      Profile - Object level permission 
      OWD -   Record level permission 

4. Is it possible to achieve Many to Many relation ship by using look up relationships?

     Junction Object : This is a custom object with 2 Master - Detail relationships & is the key to             making  Many to Many relation ship.

     To answer the question ,Yes it is possible.

     The downside is ,Junction object will not be automatically deleted when one or both of the                   objects it is relating are deleted.

5. What is the difference between Indirect Lookup and External Lookup ?

Indirect Lookup Relationship
External Lookup Relationship
This type is basically when Standard/Custom object as parent and an External object as child.
This type is basically when External object as parent and external/standard/custom object as child.
Only objects that have a custom field with the External ID and Unique attributes are available as parent objects in indirect lookup relationships.
The External ID standard field as parent field matching
Use Case :
When the external data doesn’t include Salesforce record IDs.
Use the External Id as link between External & SFDC object.
Use Case :
Use an external lookup relationship when the parent is an external object.
Ex:
Account record (parent standard object) displays a related list of SAP sales orders (child external object) with matching customer IDs that aren’t Salesforce IDs.
Ex:
External product catalog item (parent external object) displays a related list of support cases (child standard object)


6.If the Workflow field update & Trigger on the same set of attribute and action,Will it fall under infinite loop ?

   Not actually,
   If the record was updated with workflow field updates,fires before and after triggers one more           time (and only one more time),In addition to standard validations.Custom validation rules are not       run again.

7.What is the difference between Process Builder  and Lightning flow?

   Workflow / Process Builder : Which always executes rules and actions behind the scenes.
   Visual Flow / Lightning Flow : Which are applications that are user-triggered instead of event-        triggered.

8.Give me different ways to invoke an apex call out from Queueable class?

  • Create a future method with call out operation & Call the future method in Queueable execute method
  • Implement the "Database.AllowCallouts" interface along with the "Queueable" interface to enable the call outs.Create a public static function that performs a call out and call that from Queueable execute method.

9. When is best to use Profiles instead of Permission Sets?

      Profile for core level & Permission Sets used to give extended permissions
      Profiles : Set access to Tabs,Apps,record types,Page layout assignment etc
      Permission Set :To give access to only certain user in the profile
      Note : Permission sets can only grant access,But can not deny access

      To answer to the question,Profiles are best to control Field Level security.

10. What is the significance of Geo fields on an object ?

      To create Geo fields there is a datatype "Geolocation" ,Which allows users to define locations.
      Includes latitude and longitude components and can be used to calculate distance.


11.Which are the possible ways to search within Salesforce ?

  • Global Search
  • Advanced Search 
  • Sidebar Search 
  • Lookup Search

12.Difference between SOQL & SOSL ,Which one is very effective at different point of time ?

SOQL
·         SOQL can query on all fields of any data type on single multiple objects which are related.
·         SOQL cannot be queried against encrypted fields
·         DML operations are possible on search result

EX: 
SELECT Id, Name FROM Contact WHERE Name Like 'Deepika%'
SOSL
·         SOSL enables you to search text, email, and phone fields for multiple objects simultaneously ,That objects can be related/ non-related
·         SOSL can query against encrypted fields
·         DML operations are not possible on search result

EX:
FIND {Deepika Matam} IN Name Fields RETURNING Contact(name, phone)

Note : Earlier SOSL was not allowed in Triggers but from Spring 11 on-words its allowed.



13.What are the authentication access types for a Force.Com Canvas Application ?

Force.com Canvas Framework :This allows you to take your existing web-based applications and expose/integrate them inside of Salesforce.
Salesforce becomes single screen to access your key applications using Force.com Canvas Framework.

Canvas App Previewer used configure the app & view it.

Authentication Methods :

  • Signed request
  • OAuth 2.0
Canvas App level Authentication Can Be :
  • No Authentication
  • Username / Password
  • SAML
  • SSO 
It is 2 sides authentication ,Together end user get's access

14.When would you use oAuth vs OpenID?


Actually both can be used as combination
OpenID : Authentication protocal
oAuth : Authorization framework

15.What are the different flows in oAuth,State few examples ?

The oAuth framework provides 4 different types of authorization flows

Flow Type
Example
Authorization Code
LinkedIn to Twitter connect without providing Twitter credentials
Implicit grant
Mobile App à DueLingo ,When install 1st time there is an option to login though google/facebook identity.

Resource Owner Password Credentials
Facebook / LinkdIn Mobile Apps,
Facebook app redirecting to same Facebook so can enter credentials in this app.
Client Credentials Grant

The real estate search engine, An anonymous user of this portal can make search for property.

Note :
1.    Authorization code & Implicit grant mostly same but Authorization Code is more secure than this Implicit Grant.
2.    Implicit Grant doesn't involve any server side code or activity. It’s only between the client and the third party API that the user wants to access.
3.    The Client Credentials Grant is a flow that doesn’t involve any end-user. 

Refer Here For More Details

16.Can we search and sort based on a formula field on an object in Salesforce?

Global search won't search formula fields.
Sorting a report by formula field is not possible.
Note :  Formula fields can be used SOQL Where clause


17. What are the important points to know about encrypted fields ?       

  1. User profiles who have the “View Encrypted Data” configuration enabled will be able to view the field normally.
  2. Users who do not have the “View Encrypted Data” profile will see the mask.
  3. User profiles that have the “Modify All Data” permission will not be able to see the value of encrypted data fields.
  4. The field length is restricted to 175 characters in size.
  5. Encrypted Field cannot be type cast as Unique or External ID.
  6. An encrypted field cannot be configured with a default value.
  7. You can’t use encrypted fields in report filters and list views.
  8. You can’t use the encrypted fields in SOQL “where/order” clauses.
  9. Also we can not use encrypted field formula fields, workflow rules, workflow field updates, approval process entry criteria, and approval step criteria.
  10. If you clone a record that has encrypted custom fields, Salesforce will copy the data from the field ONLY if the user has the “view encrypted data” permission.
  11. You can access the data of encrypted field in apex, i.e value is always unmasked.

18. Record owner changes,What happens to the manually shared records?

Ex: X is the owner of Record 1 --Manually Sharing --> With Y

        Salesforce Admin changes the Record 1 owner to Z.So what happens to 

      Changing the owner of a record automatically removes all shares from it.This is the  standard behavior.

Salesforce FAQ Post1
Salesforce Advanced FAQ2