I'm having a bit of trouble wrapping my mind around an acceptable way to set up sharing for the following scenario in a community that functions much like a job board:
We work with a number of companies looking to fill jobs from a pool of applicants. Contacts at those companies (recruiters) are set up with external accounts in the community. Applicants in the pool have contact records and also have community accounts. Recruiters and applicants are differentiated by using different contact record types.
Here are our goals for sharing/visibility:
- Recruiters can read/write account and contact info within their own affiliated company.
- Recruiters have read only access to ALL applicants.
- Applicants can read/write only their own record.
We tried this and it doesn't seem to work:
- User profiles for recruiters and applicants
- Org-wide sharing for accounts/contacts set to private
- Sharing set for recruiters to allow read/write on User.Account = Account.Id and r/w on Contact.Account = Account.Id
At this point we hit a dead end as we can't further open up read-only for all clients.