2022 Developer Survey is open! Take survey.

Hot answers tagged

28 votes
Accepted

Extension packages & Licence Management in 2GP

Thanks for the question! I've created an answer in three parts, each one meant to address a specific question you've asked. PART ONE: How to Create Second-Generation Extension Packages PART TWO: How ...
user avatar
11 votes

How the LMA(License Management Application) works in Salesforce?

The LMA has documentation here. There's a lot of reading material to go over, but basically it is pretty straight forward. You request an installation link to the package, you install the package into ...
user avatar
  • 430k
8 votes
Accepted

Understanding App Exchange LeadSource in the LMA

Great observations. I've encountered these are two variations: someone who logs into the AppExchange and clicks Get It Now will have: lead source SFDC IN|PackageName appropriate campaign membership ...
user avatar
5 votes
Accepted

How to implement per user Licenses with LMA for an AppExchange App

Generally speaking, there's nothing "special" you need to do (in most cases). Once you switch to a per-license model, salesforce will automatically restrict access to all components in your package ...
user avatar
  • 430k
5 votes

Allocate (deallocate) managed package licenses to users via Apex

I know it is marked as an Answer because probably at that time this function wasn't yet devised by Salesforce, I'm adding the link for anyone coming to this question like I did today :-) ... ...
user avatar
  • 5,596
5 votes

Understanding App Exchange LeadSource in the LMA

I've recently tested for all the cases dealing with Leads coming from the AppExchange (SFDC-XX) and Leads coming from an actual Package installation. As expected, it's pretty confusing at times. ...
user avatar
5 votes
Accepted

What happens when I reduce Seats for a license in LMA

All currently assigned users retain access to the application until they are deactivated by the Administrator. No further licenses can be assigned to other users until the License Count reaches a ...
user avatar
  • 430k
5 votes
Accepted

Use FMA Features for per-user licensing

In salesforce, access is controlled through Permission sets. LMO org can assign how many feature-specific licenses are assigned using an FMA Integer parameter, Currently there is no standard ...
user avatar
  • 3,229
5 votes

License Management Application (LMA) in scratch org

As long as you have the package ID, you can: sfdx force:package:install --package 04t... --targetusername scratchOrgAlias If you don't have the package ID, you can't use this command. You can get ...
user avatar
  • 430k
5 votes

Extension packages & Licence Management in 2GP

2GP managed packages only appear in the LMA after security review has been passed (as you have pondered). (Note that, as an aside, without the security review being passed it is actually impossible to ...
user avatar
  • 26.7k
4 votes
Accepted

Turning off features using an extension package

We have used the following technique for a similar situation. We have added a custom field to the License object in our LMA org and added a Force.com site (so public, meaning no authentication is ...
user avatar
  • 129k
4 votes

Access to debug logs in managed package

If you can, it's much better to use the License Management App application to access the debug logs from a managed package installed in a client org. You'll find limited usage for a custom object ...
user avatar
4 votes

Don’t install the LMA in the Developer Edition org where you created a managed package

Install the LMA in your production org. This is necessary because the LMA will create leads for you as your clients install or try out your app. If you put this in your developer org, you may run out ...
user avatar
  • 430k
3 votes

Access to debug logs in managed package

Should you need a custom logging class for your managed package? Generally speaking, no. Some ISVs do decide to do this to avoid the complications of subscriber logging (you have to submit a case, ...
user avatar
  • 430k
3 votes
Accepted

No subscribers under Subscriber Organizations tab in license management app (LMA)

If you go to the Package in the LMA there is a "Refresh Licenses" button. Press that and then wait 24 hours for all the Subscriber information to be refreshed. Otherwise you need to wait for the ...
user avatar
3 votes

Granting the "Debug Apex" permission for the Apex Debugger as an ISV Partner

The required permission isn't called "Debug Apex" as it currently appears in the docs. Rather it is Permission Name: View and Debug Managed Apex Description: View the Apex code in your packages, ...
user avatar
3 votes
Accepted

LMA: Get a list of all Subscribers with version installed

This managed package application (namespace sfLma) includes conventional SObjects that you can access programmatically and see in the normal setup UI or in the Schema Builder: So you can write Apex ...
user avatar
  • 129k
3 votes

Salesforce LMA - License object

As far as I know this is fine. The warning is really that if you have something, anything, that prevents the license record from saving you end up losing that license record. However if you're ...
user avatar
  • 22.1k
3 votes

Check managed app installation using PartnerWSDl

You can use the Metadata API (just import that WSDL separately), login with the Partner WSDL, assign the endpoint/session ID to the Metadata API binding, then call listMetadata from the Metadata API. ...
user avatar
  • 430k
3 votes
Accepted

Managed package license checks for users

How can I check license for a set of users other than current user? Use UserPackageLicense: SELECT UserId FROM UserPackageLicense WHERE PackageLicense.NamespacePrefix = 'your_prefix' I'm aware ...
user avatar
  • 430k
2 votes

Understanding App Exchange LeadSource in the LMA

I am assuming in your description that Lead 1 and Lead 2 are actually the same installer. This is the typical scenario, where both an SFDC IN|PackageName and a Package Install lead are created. The ...
user avatar
  • 328
2 votes
Accepted

Revenue sharing for ISVforce

Yes, it is mandatory to use the COA. It is used for two things: For OEM partners the app is for provisioning the underlying salesforce.com licenses as well as revenue sharing For ISVforce partners ...
user avatar
2 votes
Accepted

How do I get an ISV business org?

When your app is approved and passed security review, you can submit a case to have your ISV business org provisioned, or your current org upgraded to two full licenses, or two additional licenses ...
user avatar
  • 53.1k
2 votes
Accepted

Changing the Duration of the License Management App Trial

You can do that - open a case and request this from Salesforce support.
user avatar
  • 4,749
2 votes
Accepted

Publishing on appExchange

See Publish Your First App with AppExchange Checkout. It lists all the steps necessary to publish an app to the app exchange, including going through the required security review. There are lots of ...
user avatar
  • 40.3k
2 votes

Access to debug logs in managed package

You cannot limit access to the object aside from the local standard OWD and sharing settings. And even at that logging will be limited to your specific text. Any errors logged via getMessage, ...
user avatar
  • 53.1k
2 votes
Accepted

Managed package licensing

A license allows the currently running user to use an app. Any user can be referenced normally (e.g. a custom lookup to a user), but they will be unable to query or modify the data that points to ...
user avatar
  • 430k
2 votes
Accepted

Do installing a Managed Package (listed in AppExchange) via Salesforce CLI, create a License & Lead in package developer's LMA org?

Yes, Installing a package into a scratch org WILL create a license record in the LMA and a Lead Record. The Lead name will be User User. I not not have a current one to check the org Status on the ...
user avatar
  • 53.1k
2 votes

Minimal Salesforce License to use LMA and Subscriber Support

I don't think there's an explicit document that states this for sure, but checking a few different type of profiles based on license types, it appears that the Log in to Subscriber Org permission can ...
user avatar
  • 430k
2 votes
Accepted

Get NamespacePrefix for a given Package Id (in org with LMA app)

You can use the Tooling API to query SubscriberPackage, e.g. $ force query -t "SELECT NamespacePrefix FROM SubscriberPackage WHERE Id = '033f40000001ZCXAA2'" NamespacePrefix ----------------- osfb ...
user avatar
  • 2,318

Only top scored, non community-wiki answers of a minimum length are eligible