1

I see no severe technical reason why Visualforce pages cannot be deleted from Managed Packages while other Metadata can.

What is the rationale behind that and are there plans to allow that?

1

Since Spring'15 this is possible. See here.

0

It is possible that a Apex Controller class could reroute the user to a Visualforce Page. If you delete the VF Page than its possible you could break the managed package.

For example,

public ApexPages.PageReference routeUserToSetupScreen()
{
     return new ApexPages.PageReference('/apex/SetupDataScreen');
}

If you did that then the managed package would break functionality. Users would get the 'not found' screen of death. And since it is managed package, you could not go in an fix controller code.

That is one technical reason why. There are probably others.

3
  • Your example isn't that bad. I'd be more worried about using a hard page reference, such as Page.SomePage. That could break client code as it would no longer compile. – sfdcfox Jan 28 '15 at 17:18
  • 1
    Yes no compile scenario would be very, very bad. However end user impact is huge, especially for a managed package. AppExchange is supposed to be like Apple AppStore but for the enterprise. End Users / System Admins with no technical skills can install in an Org and it should just "Work". Opening up some metadata to edits that users self inflict could kill that image / perception. So it may actually not even be a strictly technical decision to stop metadata deletes in those packages. – CoryCowgill Jan 28 '15 at 18:58
  • You can delete a page, by the way, although it's not straight-forward and not well advertised. It's not practical in most cases. Better to just redirect the page to the final destination, or give a friendly message about how the page shouldn't be linked to. – sfdcfox Jan 28 '15 at 20:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.