Salesforce DX capabilities depend on a Dev Hub. A Dev Hub is a Salesforce org that has special capabilities. All paid Salesforce orgs and free Developer Edition Orgs can function as Dev Hubs. For training purposes you can use your own Developer Edition org, but this allows only a small number of scratch orgs and packages. For business work you should designate a production org that the development team has access to and enable Dev Hub on that org. For example, Wipro's internal development teams use Wipro's production org as their Dev Hub, but for customer projects we use the customer's production org as the Dev Hub. Developers should be given extremely restricted access to Production orgs; only enough to allow use of the Dev Hub.

Permissions needed to use the Dev Hub

To make use of the Dev Hub you need several permissions. Administrators have these permissions automatically. Other users should follow the steps in the Salesforce DX Setup Guide, or use Wipro's "Salesforce DX Permissions" Asset. Permissions include:

  • create and delete Scratch Orgs
  • create, update, and delete Packages
  • create and delete Package versions

When a Package Version is created it is in the 'beta' status and cannot be installed in a production org. To enable users to mark a package version as 'Released' so that it can be installed in a production org, you need to enable the system permission Promote a package version to released.

What if developers don't have access to the production orgs?

It is a best practice to strictly limit admin access in production orgs. In some cases, developers may not be given access to a production org at all. In these cases Salesforce support can enable 'Free Limited Access Licenses' in that Production Org. These secure licenses allow access to the Dev Hub, but do not allow any other data, login, or API access. Developers can be safely assigned this type of user license, even when they should have no other access.

To request this license, customers should file a Support ticket with Salesforce. As part of the request, first ensure that the Dev Hub has already been enabled in their production org, and then provide the desired quantity of licenses.