Handle Profiles
Deploy Profiles
Use Permission Sets
In case an attribute is available on Profiles and Permission Sets: USE PERMISSION SETS :)
- Apex Class Access (
classAccesses
) - Custom Metadata Type Access (
customMetadataTypeAccesses
) - External Data Source Access (
externalDataSourceAccesses
) - Field Permissions (
fieldPermissions
) - Object Permissions (
objectPermissions
) - Page Access (
pageAccesses
) - User Permissions (
userPermissions (except on Admin Profile)
)
If you are on a build project, it is recommended to automate Minimize Profile so such attributes are automatically removed from Profiles before Merge Requests.
Tab visibility
When you retrieve a profile, standard tabs visibility is not present in the XML.
This is quite boring because if you do nothing, Calendar, Tasks, Home or Contact tab visibilities won't be deployed !
To avoid that, standard tab visibility must be added in the Profile XML.
You can use sfdx-hardis command Fix Profile Tabs to Show / Hide tabs in your Profile XML files.