Using a multi-sandbox environment
When multiple team members are involved in the development of Sitecore Content Hub, or when the changes are complex and need testing before deployment, it is highly recommended to use separate development instances known as sandboxes. A sandbox is a copy of the production environment that contains exactly the same data, structures, and extensions.
In this scenario, all of the development and testing occur in the development sandboxes before the changes are deployed to the production environment.
- Each developer has their own development sandbox (a copy of the production environment).
- The git repository contains the exported package from the production environment.
The sandbox database has a 500 MB limit.
- Sitecore Content Hub sandbox creation tool.
- A git repository (for example, Bitbucket).
- A git repository manager (e.g. Sourcetree).
- Sitecore Content Hub import/export package tool (an out-of-the-box tool in Sitecore Content Hub instances).
- Sitecore Content Hub CLI tool (a command line interface for package deployment).
Typical development lifecycle
- Plan and analyze functional requirements.
- Identify which components need to be created or modified.
- Make the changes accordingly in the development sandbox.
- Publish and test the changes in the development sandbox.
- Export the changes using the Import/Export package tool.
- Commit and push the changes to the Git repository.
- Deploy the changes to the production environment using the CLI tool.
It is important to use a Git repository to track the latest changes and to continuously keep the sandboxes up-to-date. This prevents the accidental overwriting of newer changes by other developers.
The model in this scenario is very flexible and can be altered at will to better fit the user's needs. For example, it is possible to include a central development sandbox where changes can be merged together and tested before being deployed to production.
In order to clone a sandbox, to export changes from a sandbox, or to deploy changes to a production environment, it is necessary to know the different methods of migrating changes from one environment to another. See Migrate changes between environments) for more information.