Releasing an AppExchange package is similar to releasing any other program in software
development. You may want to roll it out in iterations to ensure each component functions as
planned. You may even have beta testers who have offered to install an early version of your
package and provide feedback.
Once you release a package by publishing it on AppExchange, anyone can install it. So, plan
your release carefully. Review the states defined below to familiarize yourself with the release
process. Salesforce automatically applies the appropriate state to your package and components
depending on the upload settings you choose and where it is in the release process.
| Unmanaged |
The package has not been converted into a managed package or the component has not been added
to a managed package. Note that a component that is “Managed - Beta” can become
“Unmanaged” if it is removed from a managed package. All packages are unmanaged
unless otherwise indicated by one of the managed icons below. |
Managed - Beta |
The package or component was created in the current Salesforce organization and is managed,
but it is not released because of one of these reasons:
- It has not been uploaded.
- It has been uploaded with Managed - Beta option selected. This
option prevents it from being published, publicly available on AppExchange. The developer
can still edit any component but the installer may not be able to depending on which
components were packaged.
Don’t install a Managed - Beta package over a Managed - Released package.
If you do, the package is no longer upgradeable and your only option is to uninstall and
reinstall it.
|
Managed -
Released |
The package or component was created in the current Salesforce
organization and is managed. It is also uploaded with the Managed -
Released option selected, indicating that it can be published on AppExchange and
is publicly available. Note that once you have moved a package to this state, some
properties of the components are no longer editable for both the developer and installer. This type of release is considered a major release.
|
| Patch |
If you need to provide a minor upgrade to a managed
package, consider creating a patch instead of a new major release. A patch enables a
developer to change the functionality of existing components in a managed package.
Subscribers experience no visible changes to the package. This type of release is
considered a patch release.
|
Managed -
Installed |
The package or component was installed from another
Salesforce organization but is managed. |
A developer can refine the functionality in a managed package
over time, uploading and releasing new versions as the requirements evolve. This might involve
redesigning some of the components in the managed package. Developers can delete some, but not
all, types of components in a Managed - Released package when upgrading it. For details, see
Delete Components in Managed Packages.