Universal Containers has a custom Job object with a private sharing model. Based on the size and location of the Job, different teams must have access to edit the specific Job record. To support this requirement, Apex Managed Sharing has been implemented to share records with the required users. Since the teams change frequently, managed sharing recalculations need to be manually run frequently. What can the Architect do to optimize this process?
- Change the sharing model on the Job object to Public Read/Write.
- Create a scheduled job to automatically run the sharing recalculations on a nightly basis.
- Create public groups for each team, and share the jobs with the groups instead of users.
- Create a custom Visualforce page to edit the jobs and specify Without Sharing on the controller.