7

There are multiple routes to take into consideration here. Second-Generation Packaging Your question implies that you’ll be using first-generation packaging (1GP). This is an obsolete and limited packaging technology. As a general rule, absent any specific limitations requiring the use of 1GP, all new packages should be developed using second-generation ...


5

On your point 2), being able to create working scratch orgs quickly and in a fully automated way is an important part of the model; that can take time to achieve. But once you are there, you can do continuous integration (CI) builds too which is a big help. One of my colleagues is working at the moment so we can have a good quantity of data setup quickly too,...


4

I'm currently going through this exact process (AppExchange Checkout ISV going from Free >> Paid). It's probably too late for the OP, but for others that come across this thread, this is what happens to existing subscribers to a free AppExchange app when the app is switched from free to paid. App is listed on AppExchange as Free. Salesforce customers ...


4

Neither of these steps is strictly required in order to develop a managed package for the AppExchange. If you're building a first-generation package, you can use either a regular Developer Edition or a Partner Developer Edition org as your packaging org. PDE is nice mainly because they come out of the box with more licenses. The Environment Hub would be ...


4

Do I have to create a scratch org to be able to use 2GP? Yes, 2GP packages are completely developed in scratch orgs. Or can I create my changes in the SF developer org, test, and push to production org, pull down prod changes to VSCode and run the sfdx cli commands to push to a beta package? 2GPs do not use a "production org". A developer ...


3

I suggest you bring this up in an office hour with the security review team and see what they suggest to be sure that your app won't fail the security review process. Now to answer it, Server to Server invocation Usually, the risk is very low if your connection is secured HTTPS from a theoretical perspective. In theory, an HTTPS connection does encrypt the ...


3

Who is setting the price for this managed package? This is the package vendor. Company foo in your example is free to set the price. Salesforce has no say in this. Does salesforce recommend you a price? No, Salesforce lets the vendor decide the appropriate price tag. Can salesforce be against selected by submitter price? No, Salesforce won't be against ...


2

We were able to package 2GP with a custom field on this LiveChatTranscript object by adding below attribute in scratch-def.json file. "liveAgentSettings": {​​​​​​​​ "enableLiveAgent": true }​​​​​​​​


2

One elegant way to do this would be to use a design resource that admins can fill in when they drag and drop the component. An example of how to create a design resource is mentioned here. <aura:attribute name="developerName" type="String" default="" access="global" /> <force:canvasApp developerName="{!...


2

The slide is overly abbreviated, it appears the full name is the isvte-sfdx-plugin, which you can find over on GitHub, including installation directions. To get started, just use: sfdx plugins:install isvte-sfdx-plugin For the record, I knew that DX was often a short abbreivation of sfdx, so I tried "te sfdx plugin" on Google, and this is what I ...


2

See this. However, as a short summary, ISVForce partners sell their apps to existing Salesforce subscribers as an addon to Salesforce, so their licenses are addon licenses to base Salesforce licenses, while OEM partners sell actual Salesforce licenses (as a reseller) to their customers; their customers may not even be directly aware that they are using ...


2

how can I tell if it is a Partner Development Org? Should it say that under company information? It's been a while, so I don't recall if the word "Partner" specifically appears anywhere in the org, but an easy telltale is to look at Setup > Storage Usage. If you have more than 20MB of record storage, you're on a Partner Developer Org (PDO); you ...


2

In response to my case, I got the following response: Please note, there is a restriction that the same managed package version cannot be linked to both Global AppExchange site (English) and Japanese AppExchange site. The information can be found in the Pre-requesite located in the document I shared (https://partners.salesforce.com/0693A0000091Ai5). To ...


2

According to this accepted answer: Yes one application can be listed in both Japanese and English AppExchange. But when building the application you have make it support multi-languages by using Custom labels and translations Given below is the procedure list single application in Japanese and English AppExchange Press upload button where application was ...


2

How can I find out how many customers / which customers are on older versions of our listing? You do this from your LMO (License Management Org) via the LMA (License Management App). You want the Packages tab, select your package by name (note: the name can be outdated) then drill down via the Package Versions related list. The Licenses object is a child of ...


2

Disclosure: I am on the CumulusCI Suite team at Salesforce. NPSP's installer is built on MetaDeploy, a free and open source application running on Heroku. MetaDeploy harnesses product automation build with CumulusCI (Trailhead), an orchestration framework on top of Salesforce DX and scratch orgs. CumulusCI and MetaDeploy are designed in part to facilitate ...


2

Integration is a broad topic, and this site works best with single, narrowly-scoped issues. That said... If your orgs are relatively similar to one another in terms of customizations, then Salesforce to Salesforce is worth looking into (no added cost, a standard Salesforce feature). Beyond that, I think things start to become some mix of expensive and ...


1

Salesforce DX is everything you need to accomplish your task. A very quick way to do this is to create a Package in the Production Org, add everything you want to use to it, then use the -n option to pull everything from that package. sfdx force:source:retrieve -u prod-login-alias -n "My Package" Of course, if you already have the package.xml the ...


1

You'll want to read Secure Coding: Storing Secrets. It is recommended that you use a Custom Setting that is Protected so that the secret cannot be used outside of your app's code. Other alternatives are also possible, so you'll want to check out your options.


1

ISVs (AppExchange Publishers) can choose to enable per-site (all users in your org) or per-user licensing, or both. They can also use a pricing matrix to give customers a discount for subscribing to a large number of licenses, or for non-profits, can choose to give out free trials for any duration they desire, etc. The only legal requirement they are ...


1

Yes, you can. Just make sure that code that you use is licensed for you to use for commercial purposes. In this case, lwcRouter uses the MIT License, which means you can use it in your projects if you want to.


1

Partners get app analytics as part of the partner benefits (so no extra cost). You do, however, need to raise a Partner Support case to have it enabled on your PBO/LMO as covered here - search for "log a case".


1

NB: This is at least in part opinion-based, but here's my tuppence worth based on our experience. I cannot really answer with allowing use on a Professional edition org since we don't have customers using our managed package on such an org (and I doubt we support it). Otherwise, my answer is to leave that entirely up to the implementer, especially if the ...


1

Flows can appear in packages and are "IP protected" so cannot be examined or modified by subscribers. The Flow Template mechanism is provided to allow subscribers to create their own flows from the packaged template and modify to their heart's content. You'll find some information around this in the Spring '19 release notes. Process builders can, ...


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