alan-morey / force-meta-backup

A tool to help download Salesforce.com Metadata
43 stars 22 forks source link

Summer '17 Permission Set retrieve behavior changes #51

Closed alan-morey closed 7 years ago

alan-morey commented 7 years ago

With the Summer '17* release in API version 40.0 and greater, when you retrieve permission set metadata, all metadata API exposed contents for the permission set(s) are retrieved. Retrieval includes Apex associated with the permission set, CRUD, and so forth.

In API version 39.0 and earlier, retrieving permission set metadata returns only app and system permissions that are assigned to the permission set. Junction metadata (such as Apex, CRUD) are only included if the metadata for the related component is also included in the package definition.

*Currently targeted June 2017, but subject to change

Need to investigate if retrieval of PermissionSets can be simplified, currently PermissionSets are retrieved in batches, one retrieve call for each of the following metadata components:

  1. ApexClass
  2. ApexPage
  3. CustomApplication
  4. CustomObject
  5. CustomObjectTranslation
  6. CustomPermission
  7. CustomTab
  8. ExternalDataSource
  9. Layout

Each retrieve only downloads a partial view of the PermissionSet, when all data is retrieved a post processing step merges these back together to create the complete PermissionSet metadata file.

Based on the description of the upcoming change it seems like all the metadata can be gathered in one retrieve call and no post XML merging would be required.