Sandbox is an inevitable part of Salesforce development and deployment. Refreshing sandbox is needed to update the metadata from the source org. If a sandbox is considered as a clone or it uses a typical sandbox template, then the refresh process will help update the org’s data adding on to the metadata.
Sandbox refresh is available at Salesforce Classic and also Lightning Experience. It is also now made available at Professional, Performance, Enterprise, Database.com, and Unlimited editions. In order to set up and run Salesforce sandbox refreshers, you need the user permissions as:
- View sandbox: Configuration and View Set up permissions.
- To create, activate, refresh, and delete sandbox: permission as Manage Sandbox.
To access it choose Sandboxes by going to the Quick Find box at the Setup and then choose Sandboxes. With this, you can see a list of available sandboxes. For the refreshable Sandboxes, you can see the Refresh link just next to the listed name.
You may review the Name, Create From values, Description, and can also edit if needed. Next, just select the apt sandbox environment you need. There will be a table which shows type and number of sandbox licenses for your org, from which you can choose the sandbox type to refresh. If you are planning to refresh a clone sandbox, it may not be available in the primary version. Cloned sandboxes usually get refreshed from source org by retaining the source org’s license type. If a source org gets deleted, then the clone will refresh from production org.
To do this, first, you can select the data which you want to copy. For the Partial Copy sandboxes, you may just click on Next and choose the template to specify data for the sandbox. If there is no template created for Partial Copy sandbox, then you can choose the option of Create or Edit Sandbox Templates.
In the case of Full sandbox, just click on Next, and you can further choose much object data needed to be included. In order to include template-based data, just choose the existing sandbox and use the same template. You can also explore the Create or Edit Sandbox Templates for more options.
In order to include each and every object data in the sandbox, just choose how much tracking history needed to be included and then specify whether you need to copy the Chatter data. It is possible to copy data up to 180 days from history by choosing 30-day increments. Default to be set is zero days. Typical chatter data may consist of messages, feeds, and discovery topics. You can increase copy time by decreasing the data volume to be copied. If you further need to activate you sandbox immediately after refreshing, then choose the Auto Activate option.
However, refreshing the sandbox may move it o another Salesforce instance. Say, for example, it is possible to move a sandbox from CS40 to CS50. In order to receive updates, just ensure that you subscribe to the Trust Notifications. With this, you can get updated about many unforeseen incidents as well as planned maintenance, which may affect the sandbox. If Auto Activate is not selected while refreshing sandbox, then Salesforce will send you an email when the sandbox is ready for activation.
Sandbox refresh intervals
Now we will see how to set Salesforce sandbox refresh interval. Usually, there are four types of production sandboxes as:
- Developer sandbox
Refresh interval: Once you refresh Developer Sandbox, then you have to refresh it once again after a wait of a day’s time.
2. Developer Pro sandbox
Refresh interval: Once on refreshing the Developer Pro Sandbox, on the need to again refresh it after a wait of one day.
3. Partial Data sandbox
Refresh interval: For Partial Data Sandbox, the refresh interval is 5 Days.
Refresh interval: Once after refreshing Full Copy Sandbox, then there is a wait of about 29 days before refreshing it again.
Managing Salesforce sandbox environments more effectively.
This is one of the major question asked by Salesforce users as “How to effectively manage Sandbox environments?”. For this, first, you need to understand that Sandbox is a copy of the actual Salesforce production environment in which you can perform all activities like development, customization, QA, and testing etc. The number of types of Sandboxes available is based on the license type and the contract agreement.
In an enterprise development environment, there could be many project teams working at different locations. However, with only limited sandboxes along with the delivery deadline pressures, these development teams may end up in chaos, whereas the sandboxes become unmanageable, which may ultimately lead to inefficient usage of Sandbox resources. Some typical examples for this are the usage of Full Copy Sandbox for the purpose of Development and Developer Pro or Partial Copy for testing of QA etc. As the Salesforce Development process is primarily configuration-driven, little or, no attention is paid to implementing a version control strategy. So, with small isolated teams at work, it is taken for granted that there is no need to maintain version control and therefore Sandbox is often treated as a source of truth.
However, version control and environment management form the foundation of any given Salesforce developmental platforms. Without all these in place, the entire project in the needed hygiene value for optimum development experience. Many issues may popup with the absence of this much-needed hygiene as below:
- Sandbox environments may go out of sync quickly.
- Delayed refreshment may end up in errors during deployments.
- QA Signed off version may not be matching with the production-ready environments.
- It may pose many hurdles to manage multiple environments as well as multiple projects simultaneously.
- Deployments will create a bottleneck across the test phases and different projects.
In order to mitigate these risks, the Salesforce development team should take measures to fix these issues to avoid productivity loss. The engineering teams must make sure that they follow the best practices and recommendations while choosing and using Sandboxes based on the refresh intervals.