-
Notifications
You must be signed in to change notification settings - Fork 441
More granular metadata instead of complex XMLs #4650
Description
Is your feature request related to a problem? Please describe.
Direct management of the source metadata is raising exponentially due to the increase of adoption in version control in the Salesforce ecosystem, this implies that conflict resolution needs to be done at source level, therefore resolving conflicts in Git.
Some metadata files are, in my opinion, too big and complex to be managed in a single file in order for its changes to be tracked and reviewed in a manageable manner, especially when many changes are involved, not to mention conflict resolution.
Describe the solution you'd like
My proposal would be that complex source files are separated in more granular sub files that can be managed more easily, similar to how it has been done with the SObject file that has been worked to, for example, be more granular to have each field in a separate file.
This could apply (but not limit) to the following metadata:
Independant (each part can be deployed, changes and deleted by itself, such as the custom fields)
- Custom Labels
- Workflows (rules, tasks, alerts)
Parts of a whole (each part needs to be merged to a single concept)
- Profiles
⚠️ - Permission Sets
⚠️ - Flows
- Layouts and Flexipages
- Approval Processes
⚠️ I'm aware that for profiles and permission sets would be tricky taking into account how permission files currently work, meaning that if a permission is not part of the file it simply does not get overwritten but is not actually deleted.
Describe alternatives you've considered
There are some plugins developed by the community such as the sfdx-profiles-splitter and sfdx-metadata-splitter which represent the idea quite well, although applying these involves manual splitting and merging when retrieving and deploying respectively, I would like it to be part of the standard, or at least have the option to do it.