Metadata coverage is a salesforce document which provides us metadata document report after every salesforce release. If salesforce has added new metadata components then you can check this report to determine the metadata supported for scratch org source tracking, Metadata API, Unlocked Packages, Managed Package, UnManagedPackage and Change Sets. This article will cover about the advantage of this report in terms of release management and if any release management tool you are developing on your own.
What Is Metadata Coverage Report ?
As I have discussed above it is a salesforce document which serves as an ultimate source of truth for metadata coverage for each version of API in salesforce. This report is supported by Metadata API, Scratch Org Source Tracking, Unlocked Packages, Managed Package, UnManagedPackage and Change Sets
Salesforce Metadata Coverage Report Documentation ?
We can find the list of all supported metadata components from this documentation: https://mdcoverage.secure.force.com/docs/metadata-coverage/53 . It provides information about Salesforce’s metadata coverage report. A small descriptive video is also attached for your reference.
How Many Metadata Components Are There In Salesforce ?
There are around 470 metadata components supported by salesforce. If you are an ISV Partner then you should follow above documentation after every major release of salesforce, since you have to support these metadata types in your app exchange package. Secondly if you are a user of Flosum, AutoRabit, Copado, Gearset or Metazoa etc release management tools then make sure these metadata components are supported by your tool. You can also read my previous post regarding “FLOSUM VS AUTORABIT VS COPADO : BEST SALESFORCE DEVOPS RELEASE MANAGEMENT TOOL”
Getting Error While Retrieving Metadata Components In Package.xml
There are several instances when metadata components are listed in metadata coverage report, but when creating a package.xml you are unable to retrieve those metadata components. Here are a few reasons why it could have happened.
- Access Level Issues: You don’t have access to the component that you are retrieving. If you do not have access to the managed package, then you can’t retrieve the metadata component.
- Feature Is Not Activated: There are instances which I have seen where someone has manually activated or deactivated a feature in salesforce and as a result, you are not able to retrieve those components. For example, if you have disabled “Author Apex” permission in your source org, you won’t be able to retrieve Apex Classes.
To summarize, it is important to understand metadata coverage report if you are a release manager of an organization. As I mentioned above, if you are not able to see the metadata component type listed in your release management tool or while retrieving you are getting an error always check your org or create a case with salesforce to know more about salesforce metadata component you are trying to retrieve and see if its dependent on any feature or you are having access level issues.
After reading this post you would be having many questions and I would love to hear it from you and your team. Shoot any questions that you would like to discuss with me and we can find the best practice for retrieving metadata components in your project.You can always comment, contact me on LinkedIn and I will reply back you immediately
#Note: Publishing this content anywhere without consent of SFDC247 will result in lawsuit against copyright infringement
Brilliant explanation in nutshell, thank you