7

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

3 Answers 3

3

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.

1

As far as I know it is not possible to remove any metadata components from a package that was once uploaded as a release version. Meaning it does not matter if you already installed it anywhere it's the upload as a release version of the managed package that glues the object / metadata component into it. In fact this makes sense because it's the only way to guarantee downward compatibility of future versions and the basis of the upgradability of managed packages. So the only options you have are to either create a new managed package (remember only one managed package per package dev org) or live with the legacy trash. Well, a case at the partner portal requesting the removal of the objects might also be worth a try.

1

The only way to accomplish this currently is to uninstall the new released package from all orgs that it's installed in, then ask salesforce support to revert the release to a beta. Note that this is only a viable option if your object was just added - if it snuck in a while back you're pretty much stuck with it.

Once the package is reverted to a beta the normal rules apply and any components not previously released can be removed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .