For an ISV vendor, if a vendor has multiple apps. Can the vendor apps share the same namespace or it should be distributed by different namespace. The apps should be able to communicate/access with each other. If a vendor has App1 and App2, vendor should be able to sell App1 and App2 individually. If a customer buys App1 and App2, App1 should be able to access App2. If a customer buys App2, he is all good. He need not access App1. How do we need to list in the AppExchange? Is it App1+App2, App1, App2? Or just App1 and App2 individually as they bot have same namespace?

| improve this question | | | | |

In Salesforce (classic) an app is a set of tabs that can be switched to via the select list in the top right hand corner of the screen. So you can certainly include multiple apps in a single AppExchange managed package (using a single namespace and single AppExchange entry). Those apps can share code as well as objects without having to resort to using the global keyword.

However, if you want to use the License Management App (LMA) to control access, the managed package as a whole as the thing licensed. So if in one managed package you include multiple apps that you want to charge separately for, you will have to manage/enforce that licensing yourself.

If you create two managed packages then you can have two namespaces and two AppExchange entries and the LMA will handle the licensing. However for them to be independently installable/usable you will have to avoid all compile-time dependency between them, meaning you will need to use dynamic SOQL to access the objects of one from the other and will not be able to directly invoke code of one from the other.

PS Just noticed you have lightning-components as a tag on your question: other rules may apply for those.

| improve this answer | | | | |
  • Keith, it is LMA. So, if a vendor has two apps individually hosted in the Appexchange. do they share the same namespace or a different namespace? – Tara Nov 23 '15 at 21:35
  • In my experience always different namespaces. – Keith C Nov 23 '15 at 21:39
  • tagged lightning-components because my app is built using lightning components. – Tara Nov 24 '15 at 23:50

An ISV can not create two different managed package applications with the same namespace. The namespace is determined by the packaging org, and each org only supports a single managed package.

The licensing is all taken care of by the LMA and the customer needs to have the relevant licences to use each of the packages.

Your code is a different story and App 1 will need to use the App 2 namespace when working with components from that app and vice versa.

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.