I'm trying to create a Managed Package that relies entirely on Permission Sets. No profiles!
In my head, Profiles are really "owned" by each org administrator. One needs serious justification to hijack the one-and-only bite at the cherry and expect package installors to reassign user profiles. The great thing about Permission Sets is they are "owned" by the vendor and allow the admin to enrich and decorate accordingly. But that's enough about my perception of good platform citizenship 🙂
Here's what the Permission Set looks like in the packaging / release org:
But here's how it looks installed into another organization: (no assignments, no edit button!!!)
Here's what I can fathom so far:
- this is similar to the widely reported loss of Custom App visibility
- the Metadata API cannot assign record types so one can't automate a post-install mechanism
- nobody is going to use a packaged custom profile just for my shitty little app
So in the interests of best practise: how, today, should we package Record Type Assignments?
Best Answer
Bah. You can't. Salesforce have now documented their way out of this one ;-)
salesforce.com/us/developer/docs/packagingGuide/Content/packaging_perm_sets_profile_setttings
So: Record Types are destined for the domain of the installor, not the packagor. The the same way as Profiles are owned by each org administrator and should be extended by Permission Sets.