Developing an application on the Salesforce Platform requires a few different Salesforce cloud environments. This blog will describe what environments are needed and how to build and deliver applications on the AppExchange. First we need to explain what an “organization” is. In Force.com terminology, an “organization” (or “org” for short) represents an instance or a “slice” of the Force.com platform that a user can interact with.
A good way to think about an organization is to think about Gmail: when you sign up for Gmail, you get a unique username and access to your private email account in the cloud. Similarly, when you sign up for a Force.com org, you get a unique username and private access to your Force.com cloud computing org.
As an ISV, you will be required to have a few orgs to complete the application development and delivery process. Each of those orgs exists for a specific purpose. Understanding those orgs will help make your life easier. The graphics below shows an overview of the main ISV orgs and their function:
Notes about the various orgs:
- The APO org is used to provide credentials to login into the AppExchange. Typically it is the LMO org but in many cases, an ISV doesn’t get their LMO org from Salesforce until later on in the contracting process. If you create a developer org to act as the temporary APO, you can find instructions in the “ISVForce Guide” on how to switch to the LMO when available.
- The LMO org can be used to collect leads from the AppExchange or you can use your own version of Salesforce if you would prefer. Please see the ISVForce Guide for more details on how to configure leads.
- Make sure you add your development orgs to the AppExchange account. You should use the same AppExchange account (APO) to manage all your packages (not a different APO login for each package)
You now have an understanding of the different development and management orgs required for the app process. Make sure you take a look at the ISVForce Guide which covers these orgs in much more detail.
Some of my future posts will cover the org setup for Trialforce and a more in-depth look at org usage in the application development lifecycle.
Follow me on twitter @randycase