[SalesForce] How to distribute Record Type Assignments when packaging Permission Sets

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:

package

But here's how it looks installed into another organization: (no assignments, no edit button!!!)

install

Here's what I can fathom so far:

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 ;-)

Best Practices

If users need access to apps, tabs, page layouts, and record types, don't use permission sets as the sole permission-granting model for your app. Assigned apps and tab settings are available in the permission set user interface, but they aren’t included in permission set package components.

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.

Related Topic