Transfer content between environments

Overview

By default, Sitefinity Cloud comes with a Staging (non-Production) environment and a Production environment. The Staging environment is meant to be used by developers for testing functional changes with test/dummy content, while Production is meant to be used by content editors to manage the actual content of the website.

  • Functional changes originate on a local development environment, are then committed to the source code and deployed to Staging and Production via the Continuous Delivery pipeline.
  • Content changes originate on the Production environment and can be restored back to other non-Production environments like Staging or а local development environment.

This provides a separation between code and content, where developers cannot accidentally promote test/dummy content to Production and content editors cannot accidently change the database schema on Production.

In case you have more complex content management processes that require content changes to be made on a non-Production environment before being promoted to Production, or a complicated migration project that requires content to be moved from one environment to another, Sitefinity Cloud provides several options to do that.

In case you want to make database schema changes (for example, changes to Module Builder or custom fields) and deploy them across environments, see Deploy database schema changes.

Content Pipeline

The Content Pipeline add-on provides a dedicated Authoring environment for content editing. The Authoring environment is set up as a duplicate of the Production environment, having identical code deployed to both via the Continuous Delivery pipeline. This enables content editors to use an environment that has the same Sitefinity version and database schema as the Production environment. In this setup, SiteSync is automatically configured from Authoring to Production allowing content editors to make changes on Authoring first and then promote them to Production. For more information about using SiteSync, see SiteSync.

For the purposes of specific scenarios, you might need to sync content between multiple or all environments. This is supported in general, however not recommended, because the environments can have different Sitefinity versions or database schemas (which can interfere with the synchronization process). In case you have such specific need to customize the setup, contact your Customer Success Manager, onboarding facilitator or Progress Sitefinity Support.

Restore the database between environments

Sitefinity Cloud provides a pipeline to restore the database from one environment to another. For more information, see Restore the database between environments.
When using this approach, you replace the content and schema on the target environment with the ones from the source environment. This approach does not allow you to merge content changes made on the target environment with ones made on the source environment. If you need more granular control over what content gets transferred, you need to use SiteSync instead (provided as part of the Content Pipeline add-on).

Import a database from a BACPAC file

You can import a database from a .bacpac file to any environment. For more information, see Import a database from a BACPAC file.
When using this approach, you replace the content and schema on the target environment with the ones from the BACPAC file. If you need more granular control over what content gets transferred, you have to use SiteSync instead (provided as part of the Content Pipeline add-on).

Was this article helpful?

Next article

Application warmup