No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
Newer Version Available
Supporting Multiple Editions using an Extension Package
This approach uses a base managed package that contains core app functionality. The base package only contains features supported in GE/PE. You then use a second managed package, or extension package, that extends and enhances the base package. The extension package adds additional features supported in EE/UE/PXE. For example, you have a warehouse application that tracks inventory and an extension to this app includes workflow (which isn't available in Group). Your Group and Professional Edition customers can install the base warehouse application, while your other customers install the base package and then the extension package with workflow components.

Using extension packages enables you to avoid multiple code sets and to upsell your customers. Upgrading a customer only requires installing the extension package.
- Create your base managed package that leverages features supported by GE/PE.
- Install your base managed package in a separate DE organization.
- In this organization create your extension package that includes additional functionality supported in GE/PE. You can reference the base managed package to avoid duplicating functionality. Any component that references the base managed package will automatically trigger this package to be an extension package.
Since your extension package depends on your base package, it’s important to spend time designing your app and the interfaces between the packages. For example, if the extension package needs to call an Apex class in the base package, you must make sure the desired Apex class is made global.
It’s also important to consider the entire application lifecycle. For example, If you want to add new features, they should be included in the appropriate package. Updates to the base package should not break the extension package.