Source Decomposition Options for PermissionSets
#2993
Replies: 10 comments 15 replies
-
📺 Watch PermissionSet Source Decomposition to review the proposed options.↑ Cast Your Vote ↑ |
Beta Was this translation helpful? Give feedback.
-
Option One: Total DecompositionRemember, all new source behaviors are optional. Your source files won't change unless you activate this feature. Proposed Source Behavior
Example
↑ Cast Your Vote ↑ |
Beta Was this translation helpful? Give feedback.
-
Option Two: Focused DecompositionRemember, all new source behaviors are optional. Your source files won't change unless you activate this feature. Proposed Source Behavior
Example
↑ Cast Your Vote ↑ |
Beta Was this translation helpful? Give feedback.
-
@VivekMChawla - I beg of you, whichever method you move forward with. Please make the order of elements in the xml deterministic. ie: please sort them... I just did a code review on a permission set. Developer added perms to a field. But because the retrieve command writes the permset xml ... in any order it sees fit - comparing it against a git version can be quite the chore. |
Beta Was this translation helpful? Give feedback.
-
Total decomposition will result in a very big amount of small files for each permission set. Imagine that you need to review a pull request with quite some permission sets :) |
Beta Was this translation helpful? Give feedback.
-
@VivekMChawla thanks a lot for working on this. Dumb question, why do we need to choose? Both options can satisfy different use cases. For example, when comparing diffs for a single change, having a single file to point to would be a dream, and it can also reduce merge conflicts. For comparing overall diffs across 2 perm sets, focused decomposition would help as well. |
Beta Was this translation helpful? Give feedback.
-
@VivekMChawla - implicit in the idea that "Each permissionset-meta.xml source file must be unique inside a project." is the idea that a permission set can only exist inside one subfolder in the project. That is different from the way that Fields and Object metadata can be spread across multiple packages. I do think that's a better design, the potential for confusion is even greater if the permission sets are defined across multiple folders. Total decomposition seems like a disaster. You can see all the names of the fields, but you can't see the permissions unless you open the file. The benefit of defining each CustomField is that they can be spread across multiple packages. THat's not relevant here. Total decomposition seems shortsighted. |
Beta Was this translation helpful? Give feedback.
-
@VivekMChawla
Some Elements.cloud-specific questions/feedback, but probably applies to any metadata-scanning product
|
Beta Was this translation helpful? Give feedback.
-
Some thoughts on dev experience. Total decomposition reduces the chance for merge conflicts when adding/removing mdt, which is nice. However, keyword pollution on field names, etc. could increase friction during development. Many small files, while providing granular control, can result in a confusing experience. Similar perm sets are defined unique via the path, not filename. We would have to be much more careful to ensure the file being edited is correct by comparing paths, and using the command palette (VS Code) to open files will offer a much larger list of options due to the new naming conventions. |
Beta Was this translation helpful? Give feedback.
-
Thank you all for voting and commenting! Based on your feedback, we will proceed with Option Two: Focused Decomposition for I'll now close and unpin this discussion. Thank you! |
Beta Was this translation helpful? Give feedback.
-
The design for decomposing
PermissionSets
has been finalized.Thanks to everyone who voted and shared their thoughts regarding the design of a new source behavior option for
PermissionSet
metadata. Based on your feedback, we will proceed with Option Two: Focused Decomposition.The PermissionSet Source Decomposition video remains available for anyone who'd like to see examples of "Focused Decomposition."
You can also review the details of the Focused Decomposition design (Option Two), below.
Thank you all for your feedback!
127 votes ·
Beta Was this translation helpful? Give feedback.
All reactions