7

I have a customer with complicated dev org setups who fears migrating to DX and Scratch orgs. They heard that with Scratch Org you currently cannot automatically setup all potential Features or Org Shapes using those "automation" options:

  • sfdx-project.json
  • Metadata deployments
  • Apex code using MDAPI, SOAP, or Tooling API to set up things

They fear that they need manual steps performed in each of hundred scratch orgs every month.

Is there an official list of things that currently are impossible without manual steps? Or what is your experience? Where are you still forced to manually click in setup for each new Scratch Org?

3
  • 5
    To be honest Salesforce is too huge of a "tool" to definitely say: Yes! Everything can be automated in terms of deployment!. In our case to fully automate creation of scratch org we are using combination of 3 things: SFDX (obviously), sfdx browserforce plugin which handles setting up things which are normally not available using sfdx and batch script which basically bundles everything and run steps in desired order. I believe that unfortunately every case of scratch setup should be individually considered but nowadays there are tools for mostly everything. Commented Nov 15, 2021 at 10:33
  • 3
    Forgot to summarize what I've tried to say: Even if there is something which normally should be done as manual step, still like in 99% cases there is different tool which can be used to automate that. Commented Nov 15, 2021 at 10:37
  • 1
    Obviously there are sources of documentation covering what you CAN do (e.g. this) and there is the metadata coverage report, but these really don't cover the whole story. E.g. I can't control deployment settings via scratch def. Documentation covers the feature options, but the same is not the case for settings where you are left to work it out for yourself.
    – Phil W
    Commented Nov 16, 2021 at 8:10

1 Answer 1

7

This information would likely be outdated as an answer here, but you'll want to review the Metadata Coverage Report. In general, most common metadata types are supported in both the classic metadata API and the newer Source Format metadata. As of the time of this answer, there are 55 metadata features not covered in any API, 7 types that are not supported in Source Format but are in the classic metadata API, and 410 settings available in both APIs. Most of the 55 settings that are not supported anywhere are either deprecated, e.g. SControl, or available through some other manner. In most cases, this means that setup can be fully automated, or possibly require just a few extra steps that may take a few minutes.

I've worked with DX in a few orgs, and I can say that I have been completely satisfied with how much coverage DX has. My current org has a few extra complexities, because our package depends on several off-Salesforce services (hosted by ourselves), so it takes about 3-5 extra minutes every time we set up an org. As far as the base install goes, it happens in just a few minutes, so there's hardly any down time, and we even include a step where we create dummy data in the org via a script.

That said, every organization is unique, so it may be that there's a legitimate concern. They'll want to identify which features may not be covered, and how much extra work it would take. That said, just checking is a pretty trivial task, something you can complete in an hour or so. Just pull down your metadata, create a scratch org, try to push, research and fix any missing configs (or just use Org Shape), and try a few more times. You should quickly either come to a stable solution, or you'll find it's impossible for some reason (but highly unlikely). Also, don't forget there are a large number of Scratch Org Features and Settings you can enable as well.

I know that "every" organization thinks they've created something incredibly complex that Salesforce won't be able to support, but the odds are that Salesforce generally does support that thing, or it's not as complicated as they think it is. Sheer volume does not equal complexity, and most of that volume is likely to come in the form of normal, supported features.

Also, you may want to research some partners for tools. GearSet, I've heard, has a nice tool for creating a Scratch Org Configuration File with a nice GUI. There may be other tools out there; they're hard to find because of how search engines optimize your results, but with some luck you may find the right tool on GitHub or another site.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .