The article outlines the process of creating demo orgs using Salesforce DX (SFDX), emphasizing the use of developer edition orgs as templates and the automation tools available for scripting the creation and customization of demo orgs.
It introduces Hutte as a tool that simplifies the creation of scratch orgs, offering features like a pool of pre-created orgs, easy replication, and enhanced control over demo data and environment settings.
Hutte enables a more efficient workflow by allowing users to manage scratch orgs in one place, integrate with Git for version control, and make changes to metadata without manual intervention, thus facilitating collaboration among team members.
Demo orgs provide a controlled environment where potential customers, partners, or stakeholders can explore and evaluate the features and functionality of your ISV solution.
Here's a general overview of the process of creating demo orgs in SFDX for ISVs:
Start by creating a developer edition org (using Trialforce)
This is the template for your demo orgs. SFDX provides command-line tools and features that streamline development, testing, and deployment.
The file specifies various attributes, such as edition, features, licenses, and data.
Determine the specific configuration you want for your demo org
This includes customizations, preconfigured data, and installed packages required to showcase your ISV solution effectively.
SFDX provides automation tools like shell scripts, CI/CD systems, or the Salesforce CLI
These tools can help you script the creation, configuration, and customization of your demo orgs.
Use SFDX to deploy your application and any required metadata
This includes custom objects, fields, Apex code, or demo orgs.
Suppose your ISV solution requires preconfigured data to demonstrate its functionality
In that case, you can use tools like the Salesforce Data Import Wizard or the Data Loader to populate your demo orgs with representative data sets.
Moreover, SFDX allows you to track changes, version your code, and apply updates or bug fixes using source control systems like Git.
But there are some downsides to creating demo orgs using SFDX:
Creating the orgs, deploying and customizing the application, and loading data can be time-consuming, especially if you need to repeat the process frequently
Furthermore, although developer edition orgs are free, requiring additional features, licenses, or higher editions for your demo orgs may involve additional costs.
Each org consumes Salesforce resources, including storage, processing power, and API calls
Creating and maintaining multiple demo orgs may require monitoring and careful resource management to stay within limits.
As your ISV solution evolves and new versions are released, maintaining and updating demo orgs can become cumbersome
Each demo org may need to be updated individually.
Demo orgs are separate environments, which means you'll need to manage their lifecycle
This can add complexity to your overall environmental management.
Creating and managing demo orgs that mimic the integration setup can be challenging if your ISV solution relies on external systems or integrations
Additionally, if you open an org that has been used before, you might not be up to speed on what data has already been entered. You might run into duplication conflicts, putting your demo at risk.
Are you looking for a more straightforward way to create your demo orgs? Read on to learn how Hutte will be your best demo org friend.
Using scratch orgs to speed up your demo creation
Many people use scratch orgs to create demos using a different approach. They do this because scratch orgs come with the advantage of being easily replicated.
⚒️
With the help of a tool like Hutte, you can pull them so they are always available in a very fresh state. You can also pick individual orgs for individual demos, which is faster than using Salesforce trial mechanisms.
You will experience enhanced control to prepare different sets of demo data, for example, that you could then seed into the orgs using Hutte’s Custom Buttons.
Each team member might have their own dataset and could provision orgs in self-service without admin permissions to a Salesforce environment just from Hutte.
Using the "New scratch org" button, multiple users can create their own scratch orgs, which the team can access collectively.
With Hutte, you can select a Git branch from which to create your environment and name it.
💬
All your scratch orgs will be stored in one place, allowing you to view a historical overview or snapshot of your projects, apps, and codebases created in Git. This feature benefits teams that want to collaborate and contribute to each other's work.
Without Hutte, relying solely on CLI can be challenging. With Hutte, you can easily:
Load data
Make changes to the latest state of your source
Implement new features
Ship them to Git.
Once integrated with Hutte, developers can load the data on the scratch orgs dashboard rather than manually telling the team that they have provisioned an environment.
The team can find the branch by clicking "New scratch orgs," create a scratch org from that branch and view it in their list of scratch orgs.
You won't need to run the code locally or worry about it blocking your machine, as it will run asynchronously on Hutte's infrastructure. When your scratch org is ready, you can log in and test it without affecting other users' data.
Essentially, Hutte empowers users to manage and select their own environments easily, simplifying the scratch org data loading process.
Hutte is truly one of the best tools that we use. Product owners, Salesforce solution architects, business analysts — anyone on our team can easily and visually accomplish the tasks that would otherwise take a lot of clicks, time, and coding.
Sebastian Lechner
Product Management Director of IPfolio
Take a scratch org from the pool
Hutte has a pool of orgs pre-created for you, so you don't need to wait, as you can spin them up visually. Picking a scratch org from the pool speeds up the process even further when you need an environment from the latest state of your source.
🏊♂️
To claim a pool, simply choose "Take from the pool" and enter the desired pool name. Additionally, you can customize your pool by adjusting the size and duration in the "Settings" section.
This functionality allows you to customize your pool according to your requirements, offering you more flexibility and control over your resources and data.
🔌
Furthermore, you can name your org referencing the issue tracking system you use (such as Hutte’s Jira plugin). Once you’ve named the org, your environment will be in place.
With Hutte, you don’t need to share your sensitive and confidential Salesforce org credentials manually. You can simply one-click login, and you can then do your work on the platform.
Create new metadata and execute changes
You can create new SFDX metadata in your org, such as an Apex class.
In this instance, you add your logic to the Apex class and save it. This now becomes an addition to your environment.
To create a change, you will go to “Setup.” You will then select “Object Manager.” This is where the data model lives
You will then open up a custom object
You can make any change you desire as you have access to the data model. To implement a change to a field, for example, you will select “Field & Relationships”
Once you have made your change, you will save it. You will go to the “Changes” tab to view your changes.
In this example, the changes had the following impact on the org:
“MyClass” was added
The admin profile was touched by adding a new class
The field change was added.
You can pull changes
📁
From here, you can describe what you have done and select what you want to include from the changes you committed. You will then click on “Submit.” This will create your SFDX pull request, and your changes will get added to Git.
Enter the realm of simplicity
In the sphere of creating demo orgs, a myriad of technical steps once reigned, perplexing the minds of non-coding users.
Hutte empowers all users to effortlessly traverse the realms of scratch orgs and Git, molding alterations and conjuring pull requests with a single stroke.
No longer shall the shackles of complexity restrain your demo org creation!
Harald is the Co-Founder of Hutte, bringing his vision of no-code DevOps to life. His passion enables teams and individuals to focus on what matters most – bringing value to the users they build for.
Samantha is Hutte's Content Manager and Chief Editor. She has over six years of experience as both a content writer and a copywriter. Bringing the written word to life is the name of her game.