Working with environments
In the studio, there are 3 environments:
- Production is the information source for the live deployment of your application.
- Staging is the information source for development while using the staging backend.
- Development is the information source for sandbox during development.
You can switch between environments using the dropdown on the top-right of the studio, as shown in the image below.
This article will go through the best practices when working with these environments and what can/can't be done.
Let's start with some general rules of working with environments in the studio:
- The environment hierarchy has Production at the top, followed by Staging and Development at the bottom, meaning that the information available in a higher environment — Production — will be shown in the environments below it — Staging and Development.
- Media, Sandboxes, Teams, and Redirects are always the same across all environments.
You define schemas for components, data sources, page folder settings, and project settings.
Dynamic pages are a special case and are discussed in a separate section below.
You can upload a schema to any environment in the studio and consume the schema in the studio environment it's uploaded to and all environments below it, which means any updates to the schema will reflect in the current environment and those below it.
Re-uploading a schema that’s available in 2 or more environments will update it across environments no matter which environment you upload it to. For example, if a data source schema is in all 3 environments and you re-upload it in the Development environment, it will also change in the Production and Staging environment.
Page versions and folders
You can create a new page folder in an environment same or lower than the parent page folder. The updates to page folders can only be made in the environment they were created. If you promote a page folder from Staging to Production, you'll be allowed to update the page folder settings in the Production environment only.
You can create and update page versions only in the environment the parent page folder was created. Hence, it's recommended to create a new page folder in the Staging environment and make all the changes to it there for testing, and then promote it to the Production environment.
Dynamic page schemas can only be created in the Production environment. Once uploaded, you can make updates to the Dynamic page rules and page versions in the environment they're created — just like the site builder.
Page templates and component groups
Page templates and components groups follow the general rule of environments: they can be edited in the highest environment they're present in.
Unlike a project setting schema, the project settings are environment-specific, which means that if you re-upload the schema the layout of the project settings page will change across environments but the values set to different settings will still be different for different environments.
Let's understand working with environments with the help of an example.
Consider your team has to develop a new component. The diagram below depicts the component's journey through different environments.
Alternatively, you can test the component directly in staging once it's developed. This will save some time.