(NOT AN OPINION QUESTION, SO PLEASE DON'T CLOSE THIS)
With our security model, Product2 owners can't see Cases related through the Asset lookup. We want to let them see those Cases read-only. I can either
- Automate a CaseShare record, or
- Add them to the Case Team
It will be done in the Case trigger, doing the queries and finding the user, etc.
They won't be working the Case - just reporting on it - so I'm not sure that there's any real difference here except that they would either be shown in the Case Team related list or will have access that isn't noticeable in LEX because there's no sharing button.
To complicate it, the documentation says this: "If the owner of the record changes, the sharing is automatically deleted." So if our help desk changes the Case Owner, and share records are deleted, and I add them back, will that cause locking or other problems? I'd probably add my records in future context, but I wonder what would happen when the case owner changes.
In terms of performance, what is the better way to go? CaseShare or CaseTeamMember? Is there something I'm missing between the two options if the add is via a simple trigger method in both options.