From 3e79269bb5c6e560a1a3badcf0e179b19548301f Mon Sep 17 00:00:00 2001 From: sofietoft Date: Mon, 7 Apr 2025 20:07:37 +0200 Subject: [PATCH 01/12] Add more info to deployment article including updating the illustration --- umbraco-cloud/deployment/README.md | 8 ++++++-- .../images/left-to-right-approach.png | Bin 0 -> 38355 bytes .../deployment/images/left-to-right.png | Bin 7061 -> 0 bytes 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 umbraco-cloud/deployment/images/left-to-right-approach.png delete mode 100644 umbraco-cloud/deployment/images/left-to-right.png diff --git a/umbraco-cloud/deployment/README.md b/umbraco-cloud/deployment/README.md index 4acc46e5435..9324348baa2 100644 --- a/umbraco-cloud/deployment/README.md +++ b/umbraco-cloud/deployment/README.md @@ -6,9 +6,13 @@ description: >- # Deployment -Umbraco Cloud uses a deployment model based on Git, Kudu, and Umbraco Deploy to move changes between environments. This follows a left-to-right model. Changes start in the local or left-most environment and are deployed to the production environment. +Umbraco Cloud uses a deployment model based on Git, Kudu, and Umbraco Deploy to move changes between environments. This follows a left-to-right deployment approach. Changes start in the local or left-most environment and are deployed to the production/Live environment. This workflow is called the mainline. -![Left to right model](images/left-to-right.png) +The mainline environments are used when building and deploying the initial website. Upgrades, both manual and automatic also go through the mainline environments. + +Flexible environments can be used to work on features separate from the mainline. This is done without interfering with upgrades or other changes being worked on in the mainline. + +![Left to right model](images/left-to-right-approach.png) ## Deployment Approach diff --git a/umbraco-cloud/deployment/images/left-to-right-approach.png b/umbraco-cloud/deployment/images/left-to-right-approach.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ba5e5199cead26061b4232d2048dca76f19658 GIT binary patch literal 38355 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 literal 0 HcmV?d00001 diff --git a/umbraco-cloud/deployment/images/left-to-right.png b/umbraco-cloud/deployment/images/left-to-right.png deleted file mode 100644 index ffe8d03dd6cb6ff9fff12f6188df6031141673b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7061 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 SZ@AjuE78)>SFcjDfA~LA%gXiu From 8fe3309bf79e51b039b0c59239abc261b027cfdc Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 08:36:47 +0200 Subject: [PATCH 02/12] Update references --- .../getting-started/explore-umbraco-cloud.md | 1 - .../git-repository-in-a-cloud-project.md | 20 +++++++++---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/umbraco-cloud/getting-started/explore-umbraco-cloud.md b/umbraco-cloud/getting-started/explore-umbraco-cloud.md index 7182fe74d8d..1e3c0f503f7 100644 --- a/umbraco-cloud/getting-started/explore-umbraco-cloud.md +++ b/umbraco-cloud/getting-started/explore-umbraco-cloud.md @@ -7,7 +7,6 @@ description: Begin your journey with Umbraco Cloud by exploring the essentials. This section will help you get up and running with the core features of Umbraco Cloud. Whether you are new to Umbraco or migrating from another platform, these articles will walk you through everything you need to know to get started. -
The Cloud PortalLearn how to log in, navigate the interface, and start managing your Umbraco projects.the-umbraco-cloud-portalDocumentations Icons_Umbraco_CMS_Fundamentals_Backoffice.png
Project OverviewUnderstand how the Umbraco Cloud environment is structured and what each section of your project means.project-overview.mdDocumentations Icons_Umbraco_CMS_Tutorials_Custom_Dashboard.png
EnvironmentsEnvironments are the foundation of your Umbraco Cloud project. Learn how to set up and manage your environments.environments.mdDocumentations Icons_Umbraco_Sustainability_Best_Practices_Infrastructure.png
BaselinesLearn how to create and manage baselines in Umbraco Cloud.baselinesDocumentations Icons_Umbraco_CMS_Implementation_Composing (1).png
Migrate to Umbraco CloudIf you're moving from another platform or version of Umbraco, you'll want to understand the steps involved in migrating to Umbraco Cloud. This section covers everything from preparation to execution.migrate-to-umbraco-cloud.mdDocumentations Icons_Umbraco_CMS_Reference_Querying_and_Models.png
Repositories in a Cloud ProjectLearn how to work with Git repositories, including setting them up, syncing, and managing changes.git-repository-in-a-cloud-project.mdDocumentations Icons_Umbraco_CMS_Reference_Caching.png
## Also in this section diff --git a/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md b/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md index 87f9aadf4b2..902581ef302 100644 --- a/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md +++ b/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md @@ -1,9 +1,9 @@ # Repositories in a Cloud Project -Each Umbraco Cloud project can have multiple environments: Development, Staging, and Live depending on your Cloud project plan. Each environment has its own git repository that is hosted on Umbraco’s Cloud platform. +Each Umbraco Cloud project can have multiple environments: Mainline and Flexible Environments. Each environment has its own git repository that is hosted on Umbraco’s Cloud platform. {% hint style="info" %} -Umbraco Cloud repositories are _only_ deployment repositories and should not be used as source code repositories. +Umbraco Cloud repositories are only deployment repositories and should not be used as source code repositories. {% endhint %} Ideally, your Umbraco Cloud setup should look like this: @@ -31,15 +31,15 @@ You need to put your custom code in a different source control repository of you {% endtab %} {% endtabs %} -## A Git Umbraco Cloud source control repository with the locally cloned Umbraco project +## A source control repository with the locally cloned Umbraco project -We recommend creating a Cloud project with at least two environments: a Development environment and a Live environment. To work with a local copy of your site, you then clone down the Development environment using the **Clone project** option from the Cloud Portal and start building your website locally. This repository is different from your source control repository. +We recommend creating a Cloud project with at least two environments: a Live environment including one extra mainline environment. Work with a local copy of the site by cloning down the left-most environment. This repository is different from your source control repository. -Once you're happy with the results or wish to see how your website has progressed, you push the changes back to the Development environment. If everything is working as expected you then deploy your changes to the Live environment. +Once you're happy with the results or wish to see how your website has progressed, you push the changes back to the Cloud. If everything is working as expected, deploy your changes to the Live environment. {% tabs %} {% tab title="Umbraco 10+" %} -#### Code Deployment Summary +### Code Deployment Summary ![Umbraco Cloud Overview](images/UCP.png) @@ -47,14 +47,14 @@ In the above diagram, the Umbraco Git repository contains the source code of a c With this setup, once you commit your code in the Umbraco Cloud Git repository, your C# source code is built by Umbraco Cloud and then deployed to the `wwwroot` folder. -#### Disadvantages of using an Umbraco Cloud Project repository as a source code repository +### Disadvantages of using an Umbraco Cloud Project repository as a source code repository * We only guarantee to maintain and keep the `master` branch. If there are any other branches, they might be removed without any notification causing data loss. * You will need to commit your frontend artifacts as the build pipeline only builds dlls from your C# code. {% endtab %} {% tab title="Legacy Umbraco 7 and 8" %} -#### Code Deployment Summary +### Code Deployment Summary

Umbraco cloud overview Legacy versions

@@ -62,11 +62,9 @@ In the above diagram, the external git repository contains the source code of a With this setup, you commit your changes twice. Once to commit your code in your source control and the other commit to the Umbraco Cloud Git repository to deploy your website. Your source code is not hosted on Umbraco Cloud but only your cloned project will be in the Umbraco Cloud Git Repository. Your code is built and compiled into the cloned project and then pushed to Umbraco Cloud. Thus updating the site with your latest code changes. -#### Disadvantages of using an Umbraco Cloud Project repository as a source code repository +### Disadvantages of using an Umbraco Cloud Project repository as a source code repository * We only guarantee to maintain and keep the `master` branch. If there are any other branches, they might be removed without any notification causing data loss. * You will always need to commit your dll files. {% endtab %} {% endtabs %} - -## From f96ec6abdc66d45fa86ee67539ccfa49f637f62f Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 08:44:08 +0200 Subject: [PATCH 03/12] Start updating migration guide --- .../getting-started/migrate-to-umbraco-cloud.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md b/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md index c6ba48e092b..78c8ece1153 100644 --- a/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md +++ b/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md @@ -117,7 +117,7 @@ You can create a new Umbraco Cloud project in one of the two ways: 1. Click **Create project** in the Umbraco Cloud Portal. 2. Choose **Umbraco Cloud** as the Type. -3. Choose a **plan** that enables you to add a Development environment. +3. Choose a **plan** that enables you to add an extra mainline environment. 4. Select the **version** that matches the project you want to migrate. 5. Give the project a **name**. 6. Choose from which **Region** the site should be hosted. @@ -128,10 +128,16 @@ You can create a new Umbraco Cloud project in one of the two ways: 11. Check the "Terms and conditions" box. 12. Click **Create Project**. -Once the project is set up, **add a Development** environment. This will enable you to start over with the migration, should something go amiss. +Once the project is set up: + +1. Select **Configure environments**. +2. Add an new **mainline environment**. + * Throughout this guide we will refer to this environment as the **Development environment** + +Having more than one environment on your project, will enable you to start over with the migration process should it be needed. {% hint style="info" %} -Many processes happen in the background when a new Cloud environment is set up. It might take several minutes before the environments are ready to use. +Many processes happen in the background when a new Cloud environment is set up. It might take some time before the environments are ready to use. {% endhint %} With the Cloud project set up and ready, the migration can start in the next step. @@ -152,7 +158,7 @@ The Umbraco Cloud project is now ready for the next step where the two projects To continue the migration the next step is to clone down the Umbraco Cloud environment to merge it with the Umbraco CMS project. -Follow the steps outlined in the [Working with a Local Clone](../set-up/working-locally.md#cloning-an-umbraco-cloud-project) article to clone down the **Development** **environment** of the Umbraco Cloud project. +Follow the steps outlined in the [Working with a Local Clone](../set-up/working-locally.md#cloning-an-umbraco-cloud-project) article to clone down the left-most environment on the project. {% hint style="info" %} Do not run the project after cloning it down. From d74e3201870e2ae24eb0e705f836896e9451e57a Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 08:44:49 +0200 Subject: [PATCH 04/12] Update migation guide --- umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md b/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md index 78c8ece1153..09efefe99d9 100644 --- a/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md +++ b/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md @@ -158,7 +158,7 @@ The Umbraco Cloud project is now ready for the next step where the two projects To continue the migration the next step is to clone down the Umbraco Cloud environment to merge it with the Umbraco CMS project. -Follow the steps outlined in the [Working with a Local Clone](../set-up/working-locally.md#cloning-an-umbraco-cloud-project) article to clone down the left-most environment on the project. +Follow the steps outlined in the [Working with a Local Clone](../set-up/working-locally.md#cloning-an-umbraco-cloud-project) article to clone down the Development environment on the project. {% hint style="info" %} Do not run the project after cloning it down. From de05c052c43da74ecca32e9e38f97159beee14b8 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 09:13:50 +0200 Subject: [PATCH 05/12] Team workflow in cloud --- .../getting-started/team-workflow-on-cloud.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/umbraco-cloud/getting-started/team-workflow-on-cloud.md b/umbraco-cloud/getting-started/team-workflow-on-cloud.md index 02da5ef2e02..48316ef0a1b 100644 --- a/umbraco-cloud/getting-started/team-workflow-on-cloud.md +++ b/umbraco-cloud/getting-started/team-workflow-on-cloud.md @@ -1,11 +1,9 @@ # Best Practice for Working in Teams on Umbraco Cloud -In this article, we will look at some of the best practices and recommendations when you are working in teams on your Umbraco Cloud projects. +This article will look at some of the best practices and recommendations when you are working in teams on your Umbraco Cloud projects. ## Working with Git in Teams -### Pull before you Push - Always start by making a pull request from your project before you push anything back up to Cloud. This way you ensure that you do not accidentally overwrite the work that someone else in your team has worked with. ### Create branches locally @@ -14,16 +12,18 @@ Umbraco Cloud is built on top of Git which means that you can create branches lo ## Working with Environments in a team -### Set up a Development environment +It is recommend to use multiple environments when you are working in teams. With additional environments, members of a team can work locally pushing up changes to the Cloud environment for testing. + +Having multiple environments enables developers to continue developing, while content editors can focus on creating content in a separate environment. -We highly recommend that you use a Development environment when you are working in teams. With the Development environment, members of a team can work on their local version of the project. They can then push back up to the development environment to be tested and approved before being deployed to either the staging or the live environment. +### Flexible Environments -### Set up a Staging environment +When you need to work on a new feature, using a flexible environment ensures that the regular workflow isn't affected. The flexible environment is connected to a single mainline environment and isn't part of the left-to-right deployment workflow. -When working in a bigger team with both developers and content editors, we highly recommend that you set up a Staging environment. This way the developers can continue developing in the Development environment, while the content editors can focus on creating delightful content in the Staging environment. +Learn more about how this works in the [Flexible Environments](flexible-environments.md) article. ## Team development workflow On Cloud -For a more in-depth example of how to work in teams on Umbraco Cloud projects, Our Gold Partner ProWorks have created an article about how they have set up a [Team development workflow on Umbraco Cloud](https://skrift.io/issues/integrating-umbraco-cloud-with-team-development-workflow/). +For a more in-depth example of how to work in teams, Our Gold Partner ProWorks have written an article on [Team development workflows](https://skrift.io/issues/integrating-umbraco-cloud-with-team-development-workflow/). -This article can serve as inspiration if you are an agency and are looking into setting up a bigger project where several people will be working on Umbraco Cloud. +This article serves as inspiration if you looking into setting up a bigger project where multiple people will be working on Umbraco Cloud. From b840f48b6b88b903223b3dce5d73ceaaf00bec21 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 09:23:56 +0200 Subject: [PATCH 06/12] Fix some formatting in config files article --- .../baselines/configuration-files.md | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/umbraco-cloud/getting-started/baselines/configuration-files.md b/umbraco-cloud/getting-started/baselines/configuration-files.md index 9a3e914eb0a..4932761e966 100644 --- a/umbraco-cloud/getting-started/baselines/configuration-files.md +++ b/umbraco-cloud/getting-started/baselines/configuration-files.md @@ -28,7 +28,9 @@ When you need a specific configuration on Child projects, you should always use Here is a few examples of what could be transformed in the child sites. -## Adding or updating appsettings (i.e. child-appsettings.web.live.xdt.config) +## Adding or updating appsettings + +{% code title="child-appsettings.web.live.xdt.config" %} ```xml @@ -45,7 +47,11 @@ Here is a few examples of what could be transformed in the child sites. ``` -## Setting the SMTP settings for the child project (i.e. child-smtpsettings.web.live.xdt.config) +{% endcode %} + +## Setting the Simple Mail Transfer Protocol (SMTP) settings for the child project + +{% code title="child-smtpsettings.web.live.xdt.config" %} ```xml @@ -61,7 +67,11 @@ Here is a few examples of what could be transformed in the child sites. ``` -## Setting custom rewrite rules for the child project (i.e. child-iisrewrite.web.live.xdt.config) +{% endcode %} + +## Setting custom rewrite rules for the child project + +{% code title="child-iisrewrite.web.live.xdt.config" %} ```xml @@ -86,12 +96,14 @@ Here is a few examples of what could be transformed in the child sites. ``` -The above could either be added to its config files or be split up into one config file per setting. Umbraco Cloud will run through all the config files for the project. i.e. in one file +{% endcode %} + +The above could either be added to its config files or be split up into one config file per setting. Umbraco Cloud will run through all the config files for the project. -* child.web.live.xdt.config +* `child.web.live.xdt.config` or having multiple files -* child-appsettings.web.live.xdt.config -* child-iisrewrite.web.live.xdt.config -* child-smtpsettings.web.live.xdt.config +* `child-appsettings.web.live.xdt.config` +* `child-iisrewrite.web.live.xdt.config` +* `child-smtpsettings.web.live.xdt.config` From 6dd4ee83cc8a66b2010fe4092603b75385fb67c1 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 09:41:32 +0200 Subject: [PATCH 07/12] Update more articles --- .../getting-started/baselines/README.md | 4 ++-- .../product-upgrades/major-upgrades.md | 20 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/umbraco-cloud/getting-started/baselines/README.md b/umbraco-cloud/getting-started/baselines/README.md index 367c2049f00..5e79518b147 100644 --- a/umbraco-cloud/getting-started/baselines/README.md +++ b/umbraco-cloud/getting-started/baselines/README.md @@ -1,6 +1,6 @@ # Baselines -A Baseline Child project is very similar to a Fork (forked repository) on GitHub where we create a clone of an existing project while maintaining a connection between the two projects. The connection exists between the _Live_ environment of the existing project, the **Baseline project**, and the _Development_ or Live environment - of the newly created project, the **Child project**. +A Baseline Child project is similar to a Fork (forked repository) on GitHub where we create a clone of an existing project while maintaining a connection between the two projects. The connection exists between the _Live_ environment of the existing project, the **Baseline project**, and the left-most mainline environment of the newly created project, the **Child project**. Any project can act as a Baseline project. @@ -14,7 +14,7 @@ The basic idea is that you have a project that contains all your standard Umbrac Learn how to work with Baselines. {% endembed %} -## Creating a Child Project +## Create a Child Project To create a child project: diff --git a/umbraco-cloud/product-upgrades/major-upgrades.md b/umbraco-cloud/product-upgrades/major-upgrades.md index e2fdfd4e260..7efc2f4c9d5 100644 --- a/umbraco-cloud/product-upgrades/major-upgrades.md +++ b/umbraco-cloud/product-upgrades/major-upgrades.md @@ -16,11 +16,11 @@ Make sure any packages you use are compatible with the latest version of Umbraco Be aware of any [Breaking changes](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/upgrading/version-specific#breaking-changes) introduced in the latest version of Umbraco CMS to avoid issues during the upgrade. {% endhint %} -## **Before you start the upgrade** +## Before you start the upgrade Before upgrading your Umbraco Cloud project to the latest major version, you must consider the version your project is already on. This will impact the upgrade flow you will be following. -### **Upgrading from a Short Term Supported (STS) version** +### Upgrading from a Short Term Supported (STS) version When upgrading from an STS version, you must start by upgrading to the closest Long-term Support (LTS) major. If the version you are upgrading to is an STS version, you can upgrade to that version, directly from the closest LTS. You can upgrade directly if there are no LTS versions between the current one and the one you are upgrading to. @@ -30,7 +30,7 @@ Refer to the [Long-term support and EOL article](https://umbraco.com/products/kn Start by upgrading to the closest LTS. In this case, that is Umbraco 13. After that, you can upgrade directly from Umbraco 13 to Umbraco 15. -### **Upgrading from a Long Term Supported (LTS) version** +### Upgrading from a Long Term Supported (LTS) version When upgrading from an LTS version, you must start by looking at the versions between yours and the one you are upgrading to. Is there another LTS version in that line, you need to upgrade to that version first. @@ -40,7 +40,7 @@ Refer to the [Long-term support and EOL article](https://umbraco.com/products/kn Skipping upgrades to STS versions, like 11 and 12, means you will not receive warnings about obsolete features. We recommend keeping the [Breaking Changes documentation](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/upgrading/version-specific#breaking-changes) handy to avoid any surprises. {% endhint %} -#### _Example: Upgrading from Umbraco 10 (LTS) to Umbraco 15 (STS)_ +#### Example: Upgrading from Umbraco 10 (LTS) to Umbraco 15 (STS) Between version 10 and 15, there is another LTS version: Umbraco 13. The first step is therefore to upgrade to Umbraco 13. After that, you can upgrade directly from Umbraco 13 to Umbraco 15. @@ -53,7 +53,7 @@ Look for the "**Upgrade from/to Umbraco xx"** boxes. These boxes contain importa * Follow the **requirements** for [local development](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/requirements#local-development). * An Umbraco Cloud project running [the latest version of your current Umbraco CMS installation](https://our.umbraco.com/download/releases) * The **latest** .[NET version](https://dotnet.microsoft.com/en-us/download/visual-studio-sdks) is installed locally. -* **At least 2 environments** on your Cloud project. +* **At least 2two environments** on your Cloud project. * A backup of your project database. * Directly from your environment. See the [Database backups](../databases/backups.md) article, * Or clone down, restore the project, and back up the local database. @@ -73,7 +73,7 @@ Refer to the [Choose the correct .NET version](https://docs.umbraco.com/umbraco- ## Step 2: Clone down your environment -1. Clone down the **Development** environment. +1. Clone down the **left-most mainline environment**. 2. Build and run the [project locally](../set-up/working-locally.md#running-the-site-locally). 3. Log in to the backoffice. 4. Restore content from your Cloud environment. @@ -254,7 +254,7 @@ Remove the following files and folders _manually_ from your local project: * `/umbraco/UmbracoWebsite` * `/umbraco/config/lang` -Remove the same files from the development environment. This should be done from the **Development** environment through `KUDU` -> `Debug Console` -> `CMD` -> `Site` -> from both the `repository` and `wwwroot` folders. +Remove the same files from the left-most environment. This should be done from the left-most environment through `KUDU` -> `Debug Console` -> `CMD` -> `Site` -> from both the `repository` and `wwwroot` folders. @@ -283,13 +283,13 @@ You can choose between two approaches based on your needs: The following steps involve setting a **content-freeze** period on the project. It is recommended to coordinate this with your content editors before moving forward. {% endhint %} -1. Delete any environments between your left-most (Development) and production environment. -2. Create a new environment from the production environment. +1. Delete any environments between your left-most and production environments. +2. Create a new environment from the production environment - call it Staging. 3. Initiate **content-freeze**. 4. Import content using either of the following approaches: 1. [Restore content and media](../deployment/restoring-content/) directly from the backoffice. 2. Use the [Database Backup and Restore](../databases/backups.md) functionality in the Cloud Portal. -5. Deploy the upgrade from the left-most environment (Development). +5. Deploy the upgrade from the left-most environment. 6. Verify and test all functionality on the upgraded environment. 7. [Remove your custom hostname(s)](../set-up/project-settings/manage-hostnames/) from the production environment. 8. Ensure the hostname(s) no longer point to the production environment. From 9e684a3dd9a101ffba5e1d510300e04720781df1 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 09:53:52 +0200 Subject: [PATCH 08/12] More refs --- umbraco-cloud/product-upgrades/README.md | 16 ++++++++-------- umbraco-cloud/product-upgrades/minor-upgrades.md | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/umbraco-cloud/product-upgrades/README.md b/umbraco-cloud/product-upgrades/README.md index 5fe484cb97f..f029f4b55bf 100644 --- a/umbraco-cloud/product-upgrades/README.md +++ b/umbraco-cloud/product-upgrades/README.md @@ -1,6 +1,6 @@ # Product Upgrades -_This document describes when & what product updates are rolled out on Umbraco Cloud_ +This document describes when and what product updates are rolled out on Umbraco Cloud. ## What products are auto-upgraded? @@ -9,7 +9,7 @@ _This document describes when & what product updates are rolled out on Umbraco C * Deploy * Internal Umbraco Cloud services (generally these updates will not affect running websites but in some cases, if they do we will notify Umbraco Cloud users via the status page) -When minor upgrades are available, you will need a Development environment on your project in order to get the new version. Read the [Minor Upgrades](minor-upgrades.md) article for more details. +When minor upgrades are available, you will need an additional mainline environment on your project in order to get the new version. Read the [Minor Upgrades](minor-upgrades.md) article for more details. ## When do upgrades happen? @@ -47,17 +47,17 @@ This describes how a Umbraco Cloud project is auto-upgraded: * The upgrade payload will have been created for the specific product(s) being upgraded * The payload is a set of files (such as DLLs, and other ASP.NET website files) -* The upgrader will verify that the home page of all the environments (dev/staging/live) is healthy, meaning they don’t return an HTTP status error. If all environments are ok, it will proceed. -* The upgrader will take a snapshot of the Dev site’s home page including its HTTP status code result and its HTML contents. -* The payload is deployed to the Dev site’s Git repository and committed with a tag for the product version being updated. This new Git repository commit will replace the Umbraco product assembly (DLL) files along with other product files such as files located in /umbraco, /umbraco\_client folders +* The upgrader will verify that the home page of all the environments in the mainline environment is healthy, meaning they don’t return an HTTP status error. If all environments are ok, it will proceed. +* The upgrader will take a snapshot of the left-most environments home page including its HTTP status code result and its HTML contents. +* The payload is deployed to the left-most environments Git repository and committed with a tag for the product version being updated. This new Git repository commit will replace the Umbraco product assembly (DLL) files along with other product files such as files located in /umbraco, /umbraco\_client folders * The normal Umbraco Cloud deployment process is invoked and the repository files are deployed to the website * The upgrader will automatically ensure the web.config version and the database version are updated so that the Installer/upgrade page is not shown -* The upgrader will verify that the new HTTP status code returned from the Dev site’s home page is OK and will verify that the HTML contents of the home page match that of the snapshot originally taken. +* The upgrader will verify that the new HTTP status code returned from the left-most environments home page is OK and will verify that the HTML contents of the home page match that of the snapshot originally taken. * If either of these tests fails we will be notified and Umbraco will take appropriate measures to roll back the site to its previous state * The failed upgrade is then tracked for reporting and the customer will be notified if necessary -* When the Dev site is upgraded successfully, the upgrader will continue this same process for the next environment in the chain (that is Dev -> Staging -> Live) depending on the number of environments that exist for the project. +* When the left-most environment is upgraded successfully, the upgrader will continue this same process for the next environment in the chain. -{% hint style="info" %} Changes for patches might appear on Development, even if they have already been applied to Live. The environments will not be synchronized during the upgrade process. This is because synchronization risks pushing other apparent changes from one environment to another. Those changes will need to be deployed. Once that has been done, the environments will be in sync again. {% endhint %} +{% hint style="info" %} Changes for patches might appear on left-most environment, even if they have already been applied to Live. The environments will not be synchronized during the upgrade process. This is because synchronization risks pushing other apparent changes from one environment to another. Those changes will need to be deployed. Once that has been done, the environments will be in sync again. {% endhint %} ## How do baseline updates work? diff --git a/umbraco-cloud/product-upgrades/minor-upgrades.md b/umbraco-cloud/product-upgrades/minor-upgrades.md index ffdb1ac7237..99d77b68efd 100644 --- a/umbraco-cloud/product-upgrades/minor-upgrades.md +++ b/umbraco-cloud/product-upgrades/minor-upgrades.md @@ -26,10 +26,10 @@ With automatic upgrades enabled, all products on Umbraco Cloud will automaticall If you create a new project on Umbraco Cloud automatic upgrades are enabled by default. {% hint style="info" %} -For projects where automatic minor upgrades are enabled, having a Development environment is not compulsory. However, it is highly recommended to facilitate a smoother and more controlled upgrade experience. In cases where manual upgrades are necessary, a Development environment becomes essential. +For projects where automatic minor upgrades are enabled, having a secondary mainline environment is not required. However, it is highly recommended to facilitate a smoother and more controlled upgrade experience. In cases where manual upgrades are necessary, an additional environment becomes essential. {% endhint %} -A development environment is included in all Umbraco Cloud plans, except Starter. Find pricing details for Umbraco Cloud Starter plans on our [website](https://umbraco.com/products/umbraco-cloud/pricing). +A secondary mainline environment is included in all Umbraco Cloud plans, except Starter. Find pricing details for Umbraco Cloud Starter plans on our [website](https://umbraco.com/products/umbraco-cloud/pricing). ## Manual Minor Upgrades @@ -64,6 +64,6 @@ The upgrade process left off when it needed three more steps. These three steps - To complete the installer, you should visit the site: `https://dev-YOURSITEALIAS.euwest01.umbraco.io`. This will show you the installer screen, where you should insert your backoffice credentials and follow the process. It will run through a few steps, and later Umbraco will be updated to the latest version. 2. Export the metadata files. - The second thing you need to do is to regenerate the metadata files used for transferring items like document types, data types, and media types. This is done by accessing the Power tools (Kudu) on the project, opening the cmd prompt, and browsing to the wwwroot/data folder. Once there, you need to enter `echo > deploy-export`. This will generate the required files for the upgraded site to work with Umbraco Deploy. -3. The last thing to do is to go to the `/site/locks` folder (still through Kudu) and rename the file called `upgrading` to `upgraded-minor` - rename the file by typing `ren upgrading upgraded-minor`. This will indicate to Umbraco Cloud, that the development environment is now ready to deploy all its changes to the next environment. +3. The last thing to do is to go to the `/site/locks` folder (still through Kudu) and rename the file called `upgrading` to `upgraded-minor` - rename the file by typing `ren upgrading upgraded-minor`. This will indicate to Umbraco Cloud, that the left-most environment is now ready to deploy all its changes to the next environment. -Before deploying the upgrade to the next environment, you should verify that everything looks as expected on the development environment. +Before deploying the upgrade to the next environment, you should verify that everything looks as expected on the left-most environment. From 28a3c05e4bab9eafe41fd7a14ec32a4c4d708968 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 10:03:43 +0200 Subject: [PATCH 09/12] Update refs --- .../manual-upgrades/README.md | 4 ++-- .../manual-upgrades/manual-cms-upgrade.md | 4 ++-- .../migrate-from-8-to-latest.md | 22 +++++++++---------- umbraco-cloud/set-up/config-transforms.md | 6 ++--- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/umbraco-cloud/product-upgrades/manual-upgrades/README.md b/umbraco-cloud/product-upgrades/manual-upgrades/README.md index 3039861ea08..75a30b7fc02 100644 --- a/umbraco-cloud/product-upgrades/manual-upgrades/README.md +++ b/umbraco-cloud/product-upgrades/manual-upgrades/README.md @@ -6,13 +6,13 @@ description: >- # Upgrade your projects manually -In some cases, you might need to upgrade your Umbraco Cloud project manually. It's very similar to how you would upgrade any other Umbraco project but includes a few extra and **very important** steps. +In some cases, you might need to upgrade your Umbraco Cloud project manually. It's similar to how you would upgrade any other Umbraco project but includes a few extra and **very important** steps. Umbraco Cloud project uses Umbraco Forms and Umbraco Deploy, which means there are also some dependencies you need to consider when upgrading your Umbraco Cloud project manually. ## Why and when would you do a manual upgrade? -By default, all Umbraco Cloud projects are automatically upgraded when we release new patches (e.g. 8.8.**1**) to the Umbraco CMS as well as Umbraco Forms and Umbraco Deploy. When we release a new _minor_ version (e.g 8.**8**) the upgrade is applied to the Umbraco Cloud engine, and **not to the individual projects** - the same goes for the release of new _major_ versions (e.g. **10**.0). For these minor and major versions, there will be an option on your Umbraco Cloud Development environment to apply the upgrade. The Umbraco Cloud engine will take care of the entire process, and you only need to make sure everything works after the upgrade has been applied. +By default, all Umbraco Cloud projects are automatically upgraded when we release new patches (e.g. 8.8.**1**) to the Umbraco CMS as well as Umbraco Forms and Umbraco Deploy. When we release a new _minor_ version (e.g 8.**8**) the upgrade is applied to the Umbraco Cloud engine, and **not to the individual projects** - the same goes for the release of new _major_ versions (e.g. **10**.0). For these minor and major versions, there will be an option on your left-most mainline environment to apply the upgrade. The Umbraco Cloud engine will take care of the entire process, and you only need to make sure everything works after the upgrade has been applied. We always recommend using the automatic and _semi-automatic_ upgrade options provided to you as part of your Umbraco Cloud project. With that said, it's also possible to upgrade your Umbraco Cloud project manually - this can be done with both patches and minor and major versions. diff --git a/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md b/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md index 77e2aecc691..fabfd4d731c 100644 --- a/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md +++ b/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md @@ -14,7 +14,7 @@ This article will give you a step-by-step on how to manually upgrade your Umbrac ## Prepare for the upgrade -* When upgrading a Umbraco Cloud project manually, the very first step is to either [clone down your Cloud Development environment to your local machine](../../set-up/working-locally.md) or pull down the latest changes for your development environment. +* When upgrading a Umbraco Cloud project manually, the very first step is to either [clone down left-most mainline environment to your local machine](../../set-up/working-locally.md) or pull down the latest changes for your left-most mainline environment. * Navigate to the `/src/UmbracoProject/` folder to find the `.csproj` file. * Make sure you can run your Cloud project locally and restore content and media. It's important that you check that everything works once the upgrade has been applied and for this, you need to have a clone locally that resembles the Cloud environment as much as possible. @@ -203,7 +203,7 @@ When you've upgraded everything locally, and made sure that everything runs with * Stage and commit all changes in Git * Push the changes to the Cloud environment * When everything is pushed, head on over to the Umbraco Cloud Portal -* Access the backoffice of the Cloud environment you pushed the upgrade to - Development or Live +* Access the backoffice of the Cloud environment you pushed the upgrade * You will again be prompted to log in to complete the database upgrade * You will be sent to the backoffice once the upgrade is complete diff --git a/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md b/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md index 84a300d4aa8..9f6f51397dc 100644 --- a/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md +++ b/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md @@ -21,15 +21,15 @@ You also need to make sure that the packages that you are using are available on ## Prerequisites * A Umbraco 8 Cloud project running **the latest version of Umbraco 8**. -* A clean Cloud project running the latest version of Umbraco with **at least 2 environments**. +* A clean Cloud project running the latest version of Umbraco with **at least two environments**. * A backup of your Umbraco 8 project database. -We strongly recommend having at least **2 environments** on the new Umbraco project. +We strongly recommend having at least **two environments** on the new Umbraco project. {% hint style="info" %} If your Umbraco 8 site is using Umbraco Forms, make sure to configure it to store data in the database, before beginning this tutorial [Follow the guide for migrating Umbraco Forms data to the database.](https://docs.umbraco.com/umbraco-forms/developer/forms-in-the-database) -Should something fail during the migration, the Development environment can be removed and re-added to start over on a clean slate. +Should something fail during the migration, the left-most environment can be removed and re-added to start over on a clean slate. {% endhint %} ## Video Tutorial @@ -47,7 +47,7 @@ If you use Umbraco Forms, make sure to have [`StoreUmbracoFormsInDbset`](https:/ 1. Create a backup of the database from your Umbraco 8 project using the [database backup guide](../../databases/backups.md). * Alternatively, you can clone the environment down and take a backup of the local Database after restoring. Make sure to restore both content and media from your Cloud environment after cloning it down. 2. Import the database backup into SQL Server Management Studio. -3. Clone down the **Development** environment from the **new** Cloud project. +3. Clone down the **left-most** mainline environment from the **new** Cloud project. 4. Test the project and make sure to log in to the backoffice. {% hint style="info" %} @@ -122,15 +122,15 @@ Depending on the extent of the project and the amount of custom code and impleme ## Step 4: Deploy and Test on Umbraco Cloud -Once the new Cloud project runs without errors on the local setup, the next step is to deploy and test on the Cloud **Development** environment. +Once the new Cloud project runs without errors on the local setup, the next step is to deploy and test on the Cloud **left-most** mainline environment. -1. Push the migration and changes to the Umbraco Cloud **Development** environment. +1. Push the migration and changes to the Umbraco Cloud **left-most** mainline environment. {% hint style="info" %} The deployment might take a bit longer than normal as a lot of changes have been made. {% endhint %} -2. Go to the backoffice of the **Development** environment once everything has been pushed. +2. Go to the backoffice of the **left-most** mainline environment once everything has been pushed. 3. Go to **Settings** and open the **Deploy** Dashboard. 4. Click on `Export Schema to Data Files` in the **Deploy Operations** section. * The deployment will result in either of the two: @@ -138,15 +138,15 @@ The deployment might take a bit longer than normal as a lot of changes have been * Select `Clear Signatures` from the **Deploy Operations** section. * Select `Update Umbraco Schema` from the **Deploy Operations** section to clear up the error. * `Last deployment operation completed` - * Everything checks out: The Development environment has been upgraded. -5. Transfer Content and Media from the local clone to the **Development** environment. + * Everything checks out: The left-most environment has been upgraded. +5. Transfer Content and Media from the local clone to the **left-most** mainline environment. * To transfer members make sure that the following Deploy settings are configured in the `appsettings.json`: [`AllowMembersDeploymentOperations` and `TransferMemberGroupsAsContent`](https://docs.umbraco.com/umbraco-deploy/deploy-settings#allowmembersdeploymentoperations-and-transfermembergroupsascontent). -6. Test **everything** in the **Development** environment. +6. Test **everything** in the **left-most** mainline environment. 7. Deploy to the **Live** environment. ## Step 5: Going live -1. Test **everything** in the **Development** environment until it runs without any errors. +1. Test **everything** in the **left-most** mainline environment until it runs without any errors. 2. Setup rewrites on the new Cloud project if relevant. 3. Assign hostnames to the project if relevant. diff --git a/umbraco-cloud/set-up/config-transforms.md b/umbraco-cloud/set-up/config-transforms.md index 20b639096a5..01ed0d2338d 100644 --- a/umbraco-cloud/set-up/config-transforms.md +++ b/umbraco-cloud/set-up/config-transforms.md @@ -26,7 +26,7 @@ If you want to do a transform on your `Web.config` file for the Live environment `Web.Production.config` -The `{environment}` part needs to be replaced with the target environment, for which there are currently 3 possibilities for each project: +The `{environment}` part needs to be replaced with the target environment, for which there are currently three possibilities for each project: 1. `Production` 2. `Staging` @@ -34,7 +34,7 @@ The `{environment}` part needs to be replaced with the target environment, for w This file needs to be created on a local clone of your project, as this will ensure that the file is added to the project repository. -When the file is deployed to the Live environment, the transforms will be applied to the `Web.config` file in the `Root` of your project. In the case that you also have a Development and/or Staging environment, the `Web.Production.config` will **only** transform the `Web.config` on the Live environment. +When the file is deployed to the Live environment, the transforms will be applied to the `Web.config` file in the `Root` of your project. In the case that you have mutliple mainline environments, the `Web.Production.config` will **only** transform the `Web.config` on the Live environment. For each deployment, the Umbraco Cloud engine searches for all of the `.{environment}.config` files in your site and apply the transforms. @@ -60,7 +60,7 @@ Using the tool will let you test whether the transform file transforms your conf ## Examples -Rewrite rules are often something you only want to apply to your Live environment. To avoid the rewrites being applied to your Development and/or Staging environments, you can create a transform file to apply the rewrite rules to your Live environment only. +Rewrite rules are often something you only want to apply to your Live environment. To avoid the rewrites being applied to other mainline environments, you can create a transform file to apply the rewrite rules to your Live environment only. Here is an example of how that config transform would look: From 864c9830f942b6cb15785ede30ac372850cff3b8 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 10:13:34 +0200 Subject: [PATCH 10/12] Fix vale errors --- umbraco-cloud/getting-started/baselines/README.md | 4 ++-- umbraco-cloud/product-upgrades/manual-upgrades/README.md | 8 ++++++-- .../manual-upgrades/manual-cms-upgrade.md | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/umbraco-cloud/getting-started/baselines/README.md b/umbraco-cloud/getting-started/baselines/README.md index 5e79518b147..739da776d49 100644 --- a/umbraco-cloud/getting-started/baselines/README.md +++ b/umbraco-cloud/getting-started/baselines/README.md @@ -1,10 +1,10 @@ # Baselines -A Baseline Child project is similar to a Fork (forked repository) on GitHub where we create a clone of an existing project while maintaining a connection between the two projects. The connection exists between the _Live_ environment of the existing project, the **Baseline project**, and the left-most mainline environment of the newly created project, the **Child project**. +A Baseline Child project is similar to a Fork (forked repository) on GitHub. A clone is created of an existing project while maintaining a connection between the two projects. The connection exists between the Live environment of the **Baseline project**, and the left-most mainline environment of the **Child project**. Any project can act as a Baseline project. -The basic idea is that you have a project that contains all your standard Umbraco packages/components, maybe even configured with some default Document Types, which you want to use as a baseline for future projects. When you've made changes to your Baseline project, you can then push these changes out to all the Child projects with a click of a button. +The basic idea is that you have a project that contains all your standard Umbraco packages/components. Some default Document Types which you want to use as a baseline for future projects is also configured. When you've made changes to your Baseline project, you push these changes out to all the Child projects with a click of a button. ![Baseline workflow](images/baseline-workflow.gif) diff --git a/umbraco-cloud/product-upgrades/manual-upgrades/README.md b/umbraco-cloud/product-upgrades/manual-upgrades/README.md index 75a30b7fc02..373d689eea2 100644 --- a/umbraco-cloud/product-upgrades/manual-upgrades/README.md +++ b/umbraco-cloud/product-upgrades/manual-upgrades/README.md @@ -6,13 +6,17 @@ description: >- # Upgrade your projects manually -In some cases, you might need to upgrade your Umbraco Cloud project manually. It's similar to how you would upgrade any other Umbraco project but includes a few extra and **very important** steps. +In some cases, you might need to upgrade your Umbraco Cloud project manually. It's similar to how you would upgrade any other Umbraco project but includes a few extra and **important** steps. Umbraco Cloud project uses Umbraco Forms and Umbraco Deploy, which means there are also some dependencies you need to consider when upgrading your Umbraco Cloud project manually. ## Why and when would you do a manual upgrade? -By default, all Umbraco Cloud projects are automatically upgraded when we release new patches (e.g. 8.8.**1**) to the Umbraco CMS as well as Umbraco Forms and Umbraco Deploy. When we release a new _minor_ version (e.g 8.**8**) the upgrade is applied to the Umbraco Cloud engine, and **not to the individual projects** - the same goes for the release of new _major_ versions (e.g. **10**.0). For these minor and major versions, there will be an option on your left-most mainline environment to apply the upgrade. The Umbraco Cloud engine will take care of the entire process, and you only need to make sure everything works after the upgrade has been applied. +By default, all Umbraco Cloud projects are automatically upgraded when we release new patches (like 8.8.**1**) to the Umbraco CMS. This also goes for Umbraco Forms and Umbraco Deploy. + +When a new _minor_ version (like 8.**8**) is released, the upgrade is applied to the Umbraco Cloud engine, and **not to the individual projects**. The same goes for the release of new major versions (like **10**.0). + +For minor and major versions, there will be an option on your left-most mainline environment to apply the upgrade. The Umbraco Cloud engine will take care of the entire process, and you only need to ensure everything works when upgrade is complete. We always recommend using the automatic and _semi-automatic_ upgrade options provided to you as part of your Umbraco Cloud project. With that said, it's also possible to upgrade your Umbraco Cloud project manually - this can be done with both patches and minor and major versions. diff --git a/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md b/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md index fabfd4d731c..d7740d09033 100644 --- a/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md +++ b/umbraco-cloud/product-upgrades/manual-upgrades/manual-cms-upgrade.md @@ -14,7 +14,7 @@ This article will give you a step-by-step on how to manually upgrade your Umbrac ## Prepare for the upgrade -* When upgrading a Umbraco Cloud project manually, the very first step is to either [clone down left-most mainline environment to your local machine](../../set-up/working-locally.md) or pull down the latest changes for your left-most mainline environment. +* When upgrading a Umbraco Cloud project manually, the first step is to either [clone down left-most mainline environment to your local machine](../../set-up/working-locally.md) or pull down the latest changes for your left-most mainline environment. * Navigate to the `/src/UmbracoProject/` folder to find the `.csproj` file. * Make sure you can run your Cloud project locally and restore content and media. It's important that you check that everything works once the upgrade has been applied and for this, you need to have a clone locally that resembles the Cloud environment as much as possible. From f9da3db8d7f5c0126f14f7fde58a64191c543fec Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 19:19:08 +0200 Subject: [PATCH 11/12] Apply suggestions from code review Co-authored-by: Esha Noronha <82437098+eshanrnh@users.noreply.github.com> --- .../getting-started/git-repository-in-a-cloud-project.md | 2 +- umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md | 4 ++-- umbraco-cloud/getting-started/team-workflow-on-cloud.md | 4 ++-- umbraco-cloud/product-upgrades/major-upgrades.md | 2 +- .../version-specific-upgrades/migrate-from-8-to-latest.md | 4 ++-- umbraco-cloud/set-up/config-transforms.md | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md b/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md index 902581ef302..3e2a716f7dc 100644 --- a/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md +++ b/umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md @@ -33,7 +33,7 @@ You need to put your custom code in a different source control repository of you ## A source control repository with the locally cloned Umbraco project -We recommend creating a Cloud project with at least two environments: a Live environment including one extra mainline environment. Work with a local copy of the site by cloning down the left-most environment. This repository is different from your source control repository. +It is recommended to create a Cloud project with at least two environments: a Live environment including one extra mainline environment. Work with a local copy of the site by cloning down the left-most environment. This repository is different from your source control repository. Once you're happy with the results or wish to see how your website has progressed, you push the changes back to the Cloud. If everything is working as expected, deploy your changes to the Live environment. diff --git a/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md b/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md index 09efefe99d9..3a483470f38 100644 --- a/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md +++ b/umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md @@ -131,8 +131,8 @@ You can create a new Umbraco Cloud project in one of the two ways: Once the project is set up: 1. Select **Configure environments**. -2. Add an new **mainline environment**. - * Throughout this guide we will refer to this environment as the **Development environment** +2. Add a new **mainline environment**. + * Throughout this guide, this mainline environment will be referred to as the **Development environment**. Having more than one environment on your project, will enable you to start over with the migration process should it be needed. diff --git a/umbraco-cloud/getting-started/team-workflow-on-cloud.md b/umbraco-cloud/getting-started/team-workflow-on-cloud.md index 48316ef0a1b..ec45d3b5bc2 100644 --- a/umbraco-cloud/getting-started/team-workflow-on-cloud.md +++ b/umbraco-cloud/getting-started/team-workflow-on-cloud.md @@ -12,7 +12,7 @@ Umbraco Cloud is built on top of Git which means that you can create branches lo ## Working with Environments in a team -It is recommend to use multiple environments when you are working in teams. With additional environments, members of a team can work locally pushing up changes to the Cloud environment for testing. +It is recommended to use multiple environments when you are working in teams. With additional environments, members of a team can work locally, pushing up changes to the Cloud environment for testing. Having multiple environments enables developers to continue developing, while content editors can focus on creating content in a separate environment. @@ -24,6 +24,6 @@ Learn more about how this works in the [Flexible Environments](flexible-environm ## Team development workflow On Cloud -For a more in-depth example of how to work in teams, Our Gold Partner ProWorks have written an article on [Team development workflows](https://skrift.io/issues/integrating-umbraco-cloud-with-team-development-workflow/). +For a more in-depth example of how to work in teams, our Gold Partner ProWorks has written an article on [Team development workflows](https://skrift.io/issues/integrating-umbraco-cloud-with-team-development-workflow/). This article serves as inspiration if you looking into setting up a bigger project where multiple people will be working on Umbraco Cloud. diff --git a/umbraco-cloud/product-upgrades/major-upgrades.md b/umbraco-cloud/product-upgrades/major-upgrades.md index 7efc2f4c9d5..bef0fedf328 100644 --- a/umbraco-cloud/product-upgrades/major-upgrades.md +++ b/umbraco-cloud/product-upgrades/major-upgrades.md @@ -53,7 +53,7 @@ Look for the "**Upgrade from/to Umbraco xx"** boxes. These boxes contain importa * Follow the **requirements** for [local development](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/requirements#local-development). * An Umbraco Cloud project running [the latest version of your current Umbraco CMS installation](https://our.umbraco.com/download/releases) * The **latest** .[NET version](https://dotnet.microsoft.com/en-us/download/visual-studio-sdks) is installed locally. -* **At least 2two environments** on your Cloud project. +* **At least two environments** on your Cloud project. * A backup of your project database. * Directly from your environment. See the [Database backups](../databases/backups.md) article, * Or clone down, restore the project, and back up the local database. diff --git a/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md b/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md index 9f6f51397dc..7718873fee7 100644 --- a/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md +++ b/umbraco-cloud/product-upgrades/version-specific-upgrades/migrate-from-8-to-latest.md @@ -24,7 +24,7 @@ You also need to make sure that the packages that you are using are available on * A clean Cloud project running the latest version of Umbraco with **at least two environments**. * A backup of your Umbraco 8 project database. -We strongly recommend having at least **two environments** on the new Umbraco project. +It is recommended to have at least **two environments** on the new Umbraco project. {% hint style="info" %} If your Umbraco 8 site is using Umbraco Forms, make sure to configure it to store data in the database, before beginning this tutorial [Follow the guide for migrating Umbraco Forms data to the database.](https://docs.umbraco.com/umbraco-forms/developer/forms-in-the-database) @@ -122,7 +122,7 @@ Depending on the extent of the project and the amount of custom code and impleme ## Step 4: Deploy and Test on Umbraco Cloud -Once the new Cloud project runs without errors on the local setup, the next step is to deploy and test on the Cloud **left-most** mainline environment. +After the project runs locally without errors, deploy and test it on the Cloud's left-most mainline environment. 1. Push the migration and changes to the Umbraco Cloud **left-most** mainline environment. diff --git a/umbraco-cloud/set-up/config-transforms.md b/umbraco-cloud/set-up/config-transforms.md index 01ed0d2338d..6167f4266f4 100644 --- a/umbraco-cloud/set-up/config-transforms.md +++ b/umbraco-cloud/set-up/config-transforms.md @@ -60,7 +60,7 @@ Using the tool will let you test whether the transform file transforms your conf ## Examples -Rewrite rules are often something you only want to apply to your Live environment. To avoid the rewrites being applied to other mainline environments, you can create a transform file to apply the rewrite rules to your Live environment only. +Rewrite rules are often something you only want to apply to your Live environment. To avoid the rewrites being applied to other mainline environments, create a transform file to apply the rewrite rules only to the Live environment. Here is an example of how that config transform would look: From b167b846521d96fef599b5552d58491f536c8a6e Mon Sep 17 00:00:00 2001 From: sofietoft Date: Tue, 8 Apr 2025 20:35:22 +0200 Subject: [PATCH 12/12] Fixed duplicate content in Deployment --- umbraco-cloud/deployment/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/umbraco-cloud/deployment/README.md b/umbraco-cloud/deployment/README.md index 9324348baa2..4a66c4b8876 100644 --- a/umbraco-cloud/deployment/README.md +++ b/umbraco-cloud/deployment/README.md @@ -23,9 +23,6 @@ Umbraco Cloud separates schema and content during deployment. Schema includes Do ### Types of Deployments -* **Schema Deployment:** Schema is stored in a Git repository. These are **deployed** between environments using a Git client or the Umbraco Cloud Portal. -* **Content and Media Transfer:** Content and Media items are not stored in the Git repository. They must be **transferred** directly from the Umbraco backoffice using the **Queue for Transfer** option. Once queued, use the **Deployment** Dashboard in the **Content** section to complete the transfer. - | Schema Deployments | Content and Media Transfers | | ----------- | ------------- | | Schema is stored in a Git repository. These are **deployed** between environments using a Git client or the Umbraco Cloud Portal. | Content and Media items are not stored in the Git repository. They must be **transferred** directly from the Umbraco backoffice using the **Queue for Transfer** option. Once queued, use the **Deployment** Dashboard in the **Content** section to complete the transfer. |