Newer Version Available

This content describes an older version of this product. View Latest

Sample Design Scenarios for Group and Professional Editions

Here are some scenarios to help you understand when and how to build for GE and PE.

Scenario 1: You want to build an app that uses record types
Since record types are not available in GE or PE, decide if you want to support these editions. Assuming you do, you can build a base managed package that does not include record types. After uploading this managed package in a released state, you can install it into another DE organization to start building the extension. Your extension can add record types that your EE, UE, and PXE customers can install and leverage.
Scenario 2: You want to build an app with 80 custom objects and 25 custom tabs
Typically this scenario would present a problem for GE and PE because of their objects and tabs limit. However, if you make your app available on the AppExchange, it does not count toward custom objects, tabs, and apps limits. So even if your app has 80 custom objects and 25 custom tabs, it installs and works normally in GE and PE.
Scenario 3: You want to build an app that makes Apex callouts to a Web service
Apex doesn't generally run in GE or PE, but if you get your managed package authorized during the security review, your Apex executes as expected. So for this scenario you build your Apex callout to invoke your external Web service and then include this class in your package.
Scenario 4: You want to build an app that leverages Campaigns
Campaigns are not supported by default in GE. For this scenario, you have two options.
  • Option 1 - Build a base managed package that does not reference Campaigns. Once complete, upload and install into another DE organization to build the Campaign functionality as an extension package. Now your GE customers can install the base, while the rest can also install the extension to get extra features.
  • Option 2 - This option requires only one package if you use Dynamic Apex as the only reference to Campaigns (as described earlier) and do not include a custom field on the Campaign. Your app can then be installed in GE and higher. If Campaigns is in your customer's edition, then your Dynamic Apex can manipulate Campaigns as expected.
Scenario 5: You want to build a composite app where your receive inbound API calls
You have a separate hosted app that you want to integrate with Salesforce, so you need to make API calls to GE and PE customers. Such calls are not possible by default, but if you are an eligible partner, request a special API Token that allows your SOAP calls to integrate with GE and PE. Be sure to embed the Client ID in the SOAP header of your external code.