[SalesForce] Is there way to remove some objects from a managed package

We have a managed package and there were a few work in progress items which got added to the latest build. Is there a way we could remove those objects from the latest build.

The latest build is not installed anywhere.

Thanks

Best Answer

As of the Spring 14 release of Salesforce (API 30), ISV's can delete some metadata components included in a Managed - Released package:

  • Custom Buttons or Links
  • Custom Fields
  • Custom Objects
  • Custom Tabs
  • Field Sets
  • Record Types
  • Validation Rules

From the Spring 14 release notes- Deleting Components in Managed Packages:

The deletion of these components was not supported previously, to avoid the risk of data loss or integration failures in subscriber organizations. However, the number of such components in a complex package can grow very large over multiple release cycles. The ability to delete managed components can be very useful in such cases. It gives ISVs greater flexibility in maintaining and upgrading their apps.

Deleting any component will permanently delete any data that exists in that component, delete tracked history data, and change any integrations that rely on the component, such as assignment or escalation rules. Also, once you delete a component in a managed package, you can’t restore it or create another component with the same name.

No data or metadata is ever deleted in a subscriber organization without specific action by the customer. Subscribers who upgrade to the new package version will still have the deleted components available in their organization. They’re displayed in the Unused Components section of the Package Details page. This ensures subscribers have the opportunity to export data and modify custom integrations involving those components, before explicitly deleting them. For example, before deleting custom objects or fields, customers can preserve a record of their data by going to Setup and clicking Data Management | Data Export.

NOTE: It’s your responsibility to educate your customers about the potential impact from any components you delete. You should list all custom components you've deleted and notify customers of any actions they need to take, in the Release Notes for your upgraded package.

Related Topic