Find your content:

Search form

You are here

Is there any way to clean up redundant tabs/settings/pages/etc from managed packages?

 
Share

I have a mangaged package that has seen a lot of updates over time. Some parts have become redundant and aren't used at all anymore. However, with SFDC's rules about managed packages, many of these can't be removed. So, they end up sitting there, doing nothing, release after release.

At one point, before security review, I painstakingly manually moved all the code over to a new org just to be able to get rid of some of these. However, now that my package is through review I can't really do that.

Are there any options for removing parts of a package that are no longer being used but cannot normally be removed - or at least some sort of best practice around this unfortunate occurrence?


Attribution to: Ryan Elkins

Possible Suggestion/Solution #1

I've gone through this as well with my managed packages, DupeBlocker primarily. Unfortunately until we're able to remove custom tabs, objects, fields, etc... from a managed package the only thing we can really do is relabel them to make it obvious they're no longer in use. For example, when I replaced some custom Web Tabs with VisualForce tabs I relabeled the old tabs "Deprecated ". You can also remove any permissions from any profiles distributed with your managed package so that upon installation only people with the Administrator profile will be able to see them.

Custom objects that are no longer used can also be undeployed and custom tabs can be removed from any application they're a part of.

I also make it clear in my upgrade documentation any changes that need to be performed manually when upgrading that aren't handled automatically by the upgrade process. For instance, removing deprecated tabs from custom apps and replacing them with the new tabs, then over-writing personalization when saving the custom app.

Beyond that we basically need to wait for Salesforce to add that functionality.


Attribution to: E.J. Wilburn

Possible Suggestion/Solution #2

We don't have many managed packages installed, but I just checked using an Informatica integration app and successfully removed a tab. I went to My Name -> Setup -> App Setup -> Create -> Apps and clicked the edit link for the app. From there I was able to remove their Integration tab. Perhaps other apps disable this, so YMMV.

Option 2: Remove permissions for the app or tabs. If you don't have permissions to the object it will not show in your UI. It won't really remove, but it could help declutter.


Attribution to: Mike Chale

Possible Suggestion/Solution #3

This is a common pain point for AppExchange app development/management. Although the following would hardly be considered a best practice, there is an option available to you but it requires getting salesforce support and your existing clients involved.

If you are able to get your existing clients to uninstall the current package, salesforce support can permit you to temporarily downgrade your package to beta in order to remove unwanted components. Then you can re-release it and your clients can re-install it.

Not very comforting I realize, but if you happened to have a small user base and could ask them to do this, then this is an option. Otherwise, an entirely new org with another namespace prefix is required.


Attribution to: Adam
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/339

My Block Status

My Block Content