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/PE.

Scenario 1: You want to build an app that uses record types and workflow
Since record types and workflow are both features not found in GE or PE, you will need to decide if you want to support GE/PE. Assuming you do, you can build a base managed package that does not include record types and workflow. 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 and workflow that will be installed and leveraged by your EE, UE, and PXE customers.
Scenario 2: You want to build an app with 80 custom objects and 25 custom tabs
Typically this 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 towards custom objects, tabs and apps limits. So even if your app has 80 custom objects and 25 custom tabs, it will install and work 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/PE, but if you get your managed package authorized during the security review, your Apex will execute as expected. So for this scenario you would 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

Similar to scenario 1, Campaigns is a feature not supported by default in GE or PE. PE has the option to purchase Campaigns as an add-on, but 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 org to build the Campaign functionality as an extension package. Now your GE and PE (without Campaigns) customers can install the base, while the rest can also install the extension to get additional features.
  • Option 2 - This can require only one package if you are using Dynamic Apex as the only reference to Campaigns (as described above), and ensure your package does not include a custom field on the Campaign. Your app can then be installed in GE and higher and 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'll need to make API calls to GE/PE customers. By default, this is not possible, but if you are an eligible partner, you can request a special API Token that allows your SOAP calls to integrate with GE/PE. You will just need to embed the Client ID in the SOAP header of your external code.