Skip to main content
All CollectionsCompare and deploy metadataComparisons, history and deployments
What does Gearset count as a managed package component?
What does Gearset count as a managed package component?

What information does Gearset use when building the comparison grid? How does it determine whether something is part of a managed package?

Quinn Kuiper avatar
Written by Quinn Kuiper
Updated over 2 months ago

How does Gearset build a comparison?

In order to build a comparison, Gearset does a lot of work in the background.

Gearset will complete a listMetadata call, and using this information it will create the package.xml(/s) as needed.

Gearset will then use these packages as well as the Metadata API to retrieve the required metadata.

What factors go into deciding if a component is part of a managed package?

Gearset uses some of the information given in this listMetadata call in order to decide whether or not to include a component in the comparison grid.

Specifically, Gearset uses the manageableState of the component. If the component shows as installed then it will only be included if that namespace is included in the Include managed packages section in the metadata filter.

Therefore, if this manageableState is not installed then it will always be included in the comparison, as long as it aligns with any other filtering.

How can I test this?

You are also able to run these listMetadata calls easily and for free using an external tool called Workbench.

To do this first login to the org on Workbench, and then go to info > Metadata Types & Components.

From the list, find the metadata type that you are wanting to test and expand the folder. In this example I've used layouts.

Within the list you will be able to see the manageableState of the component. In this example we can see two layouts, one is the layout that came with the package, and the other is a custom layout that I had created on the managed package. I would expect the custom layout to appear in the comparison regardless of whether Include managed packages was set to "All" or "None".

How to exclude any custom components built on top of a managed package from being in the comparison?

As in the example above, I had created a custom layout inside of a managed package object. Since the manageableState is unmanaged it is included within the comparison.

If I need to exclude this unmanaged component from the comparison, I can make use of Regex in the metadata filter.

This example will look for any components with the prefix FSL__ and not include them in the comparison.

More details on Regex filtering can be found in this article: Using regex in custom metadata filters.

Did this answer your question?