Test New Version in a Developer Sandbox Org

The new version is uploaded. Now what? Is it time to drop it into a customer sandbox and have it? Or maybe a full sandbox of an Enterprise Edition org, that you setup for testing? Or even another Developer Edition org? (Hey, you can always get more of those!)

In the words of Willie Wonka: "Stop. Don't. Come Back."

Regardless of whether you are uploading betas or going straight to a release version, the first and best place to install a new version is to a developer sandbox you provisioned yesterday.

Here's why: Betas are not upgradable, and releases can be reverted.

Betas are Not Upgradable

If you upload a beta version, you can only install the new version into a sandbox or Developer Edition org that doesn't have a prior beta version installed. You cannot upgrade beta versions, and so to install the next beta, you need to uninstall a prior beta version (or refresh the sandbox).

If you are only doing automated testing, uninstalling can be an option. If you are running acceptance tests through the UI, and need to configure layouts and such, uninstalling becomes a nuisance (since you have to undo post-install changes).

For a beta version, the best option is a sandbox that is already eligible for refresh.

Releases can be Modified or Reverted

Once a non-beta "release" version is uploaded, changes to that version are restricted. The non-beta, release versions become more flexible with each seasonal release, allowing us to delete or modify more components in a subsequent version. But there is still a lot you can't undo after a component has been released. And when you do make changes to released components in a subsequent version, there can be rework for any customer that already has the component installed. It's important to give yourself a buffer for a <head-slap/> moment.

Also, while the Force.com platform is solid, reliable, and trustworthy, if you use it long enough, and hard enough, things do go bump in the night, and you could find yourself on the wrong end of some dangling metadata. Any metadata issues usually surface as soon as you start running automated tests against the new version. If you ask politely and have a good business case, Salesforce Partner Support can click a black-tab button and revert the most recent release version to beta.

  • Revert to Beta is not a card you want to play very often, if ever.
    • Reverting can trigger a security review, but it is a way out if you really need it.
  • However, reverting is only an option if the version is not installed to any active orgs whatsoever.
    • Meaning its been uninstalled or the sandbox refreshed.

Take Away

By installing the version first in a sandbox you can immediately test and refresh, you maximize your failsafe options.