Update permission set in managed package

I have a managed package with permission sets included. I also use custom setting objects.

Permission sets userPermissions have to be set to allow CRUD on Custom Setting but this can not be included in a (managed) package.

So I decided to update the permission sets in a post install script but we are not allowed to update Permission Set from a managed packaged (https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/packaging_perm_sets_profile_setttings.htm)

First error: Update failed. First exception on row 0 with id 0PS0Y000001Ozy8WAC; first error: CANNOT_MODIFY_MANAGED_OBJECT, Cannot modify managed object: entity=CustomPermissionSet, component=0PS0Y000001Ozy8, state=MANAGED_INSTALLED: []

Do you have any idea/workaround for this ? It is not possible for us to migrate every custom setting as custom object.

Answer

You can create a new permission set through Metadata API and add the required permission for the custom setting. After adding all the permissions you can add that permission set to the user.

You can also use a Permission Set Group to make it more convenient for the end-users.

Attribution
Source : Link , Question Author : Simonp , Answer Author : Naval Sharma

Leave a Comment