Month: May 2018

Implicit Sharing in Salesforce

In Lightning Platform, Salesforce provides multiple options to administrators so that they can grant data access to different users, groups, teams. But there is something which is implemented and maintained by Salesforce which will also give relational data access to users based on their’s access to other records. In Lightning Platform, it is known as Implicit Sharing. Administrator cannot change the way implicit sharing works. So it is very important to understand the different types of implicit sharing we have in the platform.Nice to check out: Salesforce Spring 21 Release FeatureSalesforce Certification NotesSalesforce Release Video TutorialsSalesforce Lightning Flow Video TutorialsIn this blog post, I am going to explain different types of Implicit Sharing and how it works.To understand, let’s first consider the Account and Contact object. These two objects are linked with each other. So let’s say the Organization Wide Default for both Account and Contact are mentioned as Private, i.e. the record owner can see the records they created or owned.With the above assumptions, here are the different Implicit Sharing we have -Parent Implicit Sharing: This sharing provides read only access to parent record if the user is having access to the child record. Example – Refer the picture below. Here Bob is getting read-only access to Account because he is having access to the Contact (bcoz: Jimmy manually shared the contact with Bob). The level of Account access...

Read More

Continuation in Salesforce – Asynchronous Callout option for long running requests

While implementing features, we need to write code to call external web services to fetch or update information. But calling external web service doesn’t mean we should wait for the response from the web service. That is a bad design. We should always write code in such a way so that we can call external web service and still continue to do other work and when the response is available from the web service, we will update the page with response. This way of calling web service is known as Asynchronous callout.Since in Salesforce, we are living in a multi-tenant architecture, so calling external services synchronously can create issues if the response is taking too much of time to come due to network latency or complex calculation or long running requests. There can be n number of reasons why the response is taking longer time. To make sure System resources are available to all customers, Salesforce introduces limitation on how much synchronous callout you can do from a single organization. Limit is each org can make a maximum of 10 synchronous requests running for more than 5 seconds. When the limit is reached, any subsequent request will fail until and unless an existing request completes successfully.Apex continuation is an architectural design which will allow to call long running external web services in a scalable fashion without blocking any server...

Read More