I have couple of question regarding Extension packages and love to hear some clarification/answers:
We want to release an extension package to our Base package (which is already in the appexchange). We will have two listings in appexchange (unless distribute Extension packages privately from our website on request).
- How the License structure gonna look like if a subscriber has Base Package and then install extension. I am assuming that subscriber will have two seperate licenses but same lead record (or it will be based on Company name level?).
- Do we have to pay Salesforce fee for two packages if release this extension package as paid one.
- How much accessibility the extension package can have to Base package . e.g. I have Component in Lightning app or Community which is part of Extension package and that component wants to access Base package apex classes and Custom Objects in that component. Is it doable out of the box by just calling Base Package global items ( e.g. BasePackNameSpace.GlobalMyClass.GlobalMyMethod() and BasePackNameSpace__CustomObject__c etc.) . It won't need a License to access those items as it would be added as dependency of Extension package?
- How the release process of EXT package would work with BASE package e.g. We release 1.1 BASE and then release EXT 1.1 by adding reference of BASE 1.1. Now we are going to release BASE 1.2, I am assuming we don't need to release new EXT 1.2 unless there is a change in the objects, classes being used by EXT from BASE.