Profile deployment behavior using Copado Essentials is similar to standard Salesforce Change Sets.
That is, when deploying profiles, you should include the related objects and fields in the same deployment. The junction of the selected profiles and selected objects and field permissions would then be carried over together with the selected profiles to the target org.
If you deploy profiles without selecting any other related metadata components, only the bare minimum profiles settings will be deployed. For more information about what is included in stand-alone profile deployments, please refer to: https://help.salesforce.com/articleView?id=changesets_perm_sets_profiles.htm&type=0&language=en_US
We understand profile deployments can be tricky so we introduced a few minor tweaks to make the process easier.
Given the dynamic nature of profile deployments, it is often useful to know exactly what permissions are going to be changed, before you proceed. Our dynamic profile diff view does just that.
Every time you click on view difference for a profile, we recalculate the diff in real-time based on the current selection of other components (fields, apps, ...).
In the example above, Employee__c.Interest__c is showing as part of the diff because the field is currently selected. If you unselect the field and click view diff again, you will no longer see this difference.
Depending the size of your org, doing real-time dynamic diff calculation can take more than a few seconds. Our team is working on a few enhancements and hopefully we would be able to speed up this process.
Profile Deployment Options
In addition to the ability to compare profiles, we also provide a few options to hopefully give users more control over profile deployments. You can find the options below under Deploy Options tab.
Include User Permissions
User permissions are permissions like API enabled, view report, view all data, ... If you only care about related permissions like fields, objects, apps ..., you can keep this option unchecked.
Sometimes, the org settings are different between the source org and target org which might cause deployments to fail validation if the user permissions checkbox is included. For this reason, we decided to not include profile user permissions by default. However, if you do have a need to deploy user permissions changes, feel free to check this option.
Include Login IP Ranges
Most users do not normally want to deploy login IP ranges since they are often different between orgs and are normally configured directly in production orgs. For this reason, we have decided to not include login ip ranges by default. Again, if you do have the need to deploy ip ranges, feel free to include this option in your profile deployments.
Full Profile Deployments
Salesforce recommends not deploying an entire full profile. If a full profile deployment is needed, the way to do it is to select the Profile together with the Object wildcards. In Deploy Options > Deploy Type, select 'Profile Only'.