Sharing records using Apex
Salesforce has several ways of sharing records with users and groups of users such as managed sharing, user-managed (or manual) sharing, and Apex managed sharing. Let’s look at these in a bit more detail:
- Managed sharing is the point-and-click sharing that most Salesforce developers and administrators are familiar with, and relies upon record ownership, the role hierarchy in the org, and any sharing rules
- User-managed sharing or manual sharing is when a user chooses to share a record with a user or group of users using the Sharing button
- Apex managed sharing is the sharing of records with a user or group of users through the use of Apex code and is what we will be focusing on in this section
All three of the methods described store records in the share object associated with the record within the Salesforce database. For every object, there is a corresponding share object. For standard objects, it is the object API name plus...