From c1ae65661bb370d64f339727e9ca14d675074992 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Tue, 16 Sep 2025 18:11:18 +0200 Subject: [PATCH 1/5] Fixed vale errors for Deploy articles --- .../deployment-workflow/README.md | 4 ++-- .../deployment-workflow/content-transfer.md | 2 +- .../deployment-workflow/deploy-dashboard.md | 2 +- .../deployment-workflow/deploying-changes.md | 4 ++-- .../deployment-workflow/deploying-deletions.md | 8 ++++---- .../restoring-content/README.md | 6 +++--- .../restoring-content/partial-restore.md | 4 ++-- 16/umbraco-deploy/extending/extending.md | 2 +- .../Streamlining-Local-Development/index.md | 4 ++-- .../cicd-pipeline/ci-cd-azure-dev-ops.md | 9 +++++---- .../cicd-pipeline/ci-cd-github-actions.md | 2 +- .../getting-started/deploy-settings.md | 18 +++++++++--------- .../streamlining-local-development.md | 2 +- .../installation/install-configure.md | 2 +- .../installation/the-licensing-model.md | 2 +- 16/umbraco-deploy/release-notes.md | 4 ++-- 16 files changed, 38 insertions(+), 37 deletions(-) diff --git a/16/umbraco-deploy/deployment-workflow/README.md b/16/umbraco-deploy/deployment-workflow/README.md index 56408f35679..346458fb029 100644 --- a/16/umbraco-deploy/deployment-workflow/README.md +++ b/16/umbraco-deploy/deployment-workflow/README.md @@ -23,13 +23,13 @@ In summary: ### Deploying meta data -In order to be able to transfer content and media, the source environment and the target environment needs to have the same setup - meaning they need to be completely in sync and have the same file structure. To achieve this you need to deploy your meta data changes to the target environment. +To transfer content and media, the source and target environments needs to have the same setup. They need to be in sync and have the same file structure. To achieve this you need to deploy your meta data changes to the target environment. * [Deploying from your local machine to your environments](deploying-changes.md) ### Transfer Content and Media -Moving your content and media between your environments is done through the Umbraco backoffice. You can transfer content from one environment to another, e.g. from local to your development environment. You also have the option to restore content and media to your local or development environment from your production or staging environment. +Moving your content and media between your environments is done through the Umbraco backoffice. You can transfer content from one environment to another, for example, from local to your development environment. You also have the option to restore content and media to your local or development environment from your production or staging environment. * [Transfer Content and Media](content-transfer.md) * [Restore Content and/or Media](restoring-content/) diff --git a/16/umbraco-deploy/deployment-workflow/content-transfer.md b/16/umbraco-deploy/deployment-workflow/content-transfer.md index d3bea4c38fc..f9b52ca0e6c 100644 --- a/16/umbraco-deploy/deployment-workflow/content-transfer.md +++ b/16/umbraco-deploy/deployment-workflow/content-transfer.md @@ -36,7 +36,7 @@ You want to transfer the whole site. You start from the `Home` node and choose t 1. Go to the Deployment dashboard by clicking on the Content section header. * You will be able to see which items are currently ready to be transferred - this will include both content and media that you've _queued for transfer_. -2. Confirm by clicking **Transfer toDevelopment** and monitor the progress of the transfer. +2. Confirm by clicking **Transfer to Development** and monitor the progress of the transfer.
Transfer queue

Transfer queue

diff --git a/16/umbraco-deploy/deployment-workflow/deploy-dashboard.md b/16/umbraco-deploy/deployment-workflow/deploy-dashboard.md index e35eedcba8a..239ce952d25 100644 --- a/16/umbraco-deploy/deployment-workflow/deploy-dashboard.md +++ b/16/umbraco-deploy/deployment-workflow/deploy-dashboard.md @@ -50,7 +50,7 @@ This operation is useful if you want to move to another Umbraco instance and mig
-
Donwload the Deploy artifacts

Donwload the Deploy artifacts

+
Donwload the Deploy artifacts

Download the Deploy artifacts

diff --git a/16/umbraco-deploy/deployment-workflow/deploying-changes.md b/16/umbraco-deploy/deployment-workflow/deploying-changes.md index ca866bae723..03a01426487 100644 --- a/16/umbraco-deploy/deployment-workflow/deploying-changes.md +++ b/16/umbraco-deploy/deployment-workflow/deploying-changes.md @@ -1,5 +1,5 @@ --- -description: "How to Deploy changes between a local machine and an environment in Umbraco Deploy using either a Git Gui or without." +description: "How to Deploy changes between a local machine and an environment in Umbraco Deploy using either a Git GUI or without." --- # Deploying Changes @@ -47,4 +47,4 @@ When pulling new commits, it is a good idea to see if any of these commits conta The local site should be running when you do this. The deploy marker will change to `deploy-progress` while updating the site and to `deploy-complete` when done. If there are any conflicts/errors you will see a `deploy-failed` marker instead, which contains an error message with a description of what went wrong. -Another way is to use the Deploy Dashboard in the Settings section of the Umbraco backoffice. Here you can see the status of ongoing or completed deployment processes. The status will show whether an operation has been triggered and whether it is in progress, has completed or has failed. The dashboard will show the status based on the marker files on the disk, eg. `deploy-progress`. From the Deploy Dashboard it is also possible to trigger processes. Learn more about this dashboard in the [Deployment ](README.md#deploy-dashboard)article. +Another way is to use the Deploy Dashboard in the Settings section of the Umbraco backoffice. Here you can see the status of ongoing or completed deployment processes. The status will show whether an operation has been triggered and whether it is in progress, has completed or has failed. The dashboard will show the status based on the marker files on the disk, for example, `deploy-progress`. From the Deploy Dashboard it is also possible to trigger processes. Learn more about this dashboard in the [Deployment](README.md#deploy-dashboard)article. diff --git a/16/umbraco-deploy/deployment-workflow/deploying-deletions.md b/16/umbraco-deploy/deployment-workflow/deploying-deletions.md index 2be7c2e8cc4..b9634e4dc7c 100644 --- a/16/umbraco-deploy/deployment-workflow/deploying-deletions.md +++ b/16/umbraco-deploy/deployment-workflow/deploying-deletions.md @@ -8,9 +8,9 @@ With Umbraco Deploy deletions are environment specific. This means that in order In this article you can read about the correct way of deleting files, schema and content when using Umbraco Deploy. -When you are using Umbraco Deploy, you might have more than one environment - including a local clone of the project. These environments each have their own database. The databases will contain references to all of your content and media, as well as to all of your schema files (e.g. Document Types, Templates etc). +When you are using Umbraco Deploy, you might have more than one environment - including a local clone of the project. These environments each have their own database. The databases contain references to all content, media, and schema files such as Document Types and Templates etc. -The databases are environment specific. When you deploy from one environment to another, Umbraco Deploy will compare incoming schema files with references to these in the databases using both _alias_ and _GUID_. If something doesn't add up - e.g. there is a mismatch between the database references and the files deployed - you will see an error. Learn more about this in the [Troubleshooting section](../troubleshooting.md). +Databases are environment-specific. When deploying between environments, Umbraco Deploy compares incoming schema files with database references using both _alias_ and _GUID_. If a mismatch occurs between the database references and deployed files, an error appears. Learn more in the [Troubleshooting section](../troubleshooting.md). The workflow described above does not pick up deletions of content and schema from the database, which is why you'll need to delete the content and/or schema on all your environments, in order to fully complete the deletion. @@ -32,7 +32,7 @@ Once the deployment is complete, you will notice the following: You might wonder why the Document Type that you have deleted, is still there. The reason is, that deploy only deletes the associated UDA file, and not the actual Document Type in the database. -In order to completely delete the Document Type from your entire project, you need to delete it from the backoffice of any of the other environments you have as well. When the Document Type has been deleted from the backoffice of all environments and no UDA file exists, you can consider it completely gone. +To fully delete a Document Type from the project, delete it from the backoffice of every environment in use. A Document Type is fully deleted once it has been removed from all environments and no UDA file remains. You should however keep in mind that if you at any point during the process, save your Document Type again, a UDA file will be regenerated and when you start deploying changes between environments, this will likely end up recreating your deleted Document Type. @@ -40,7 +40,7 @@ You should however keep in mind that if you at any point during the process, sav Every **file** that's deleted, will also be deleted on the next environment when you deploy. However, there are some differences depending on what you have deleted. -Here's an overview of what happens when you deploy various deletions to the next environment. +Here's an overview of what happens when you deploy different deletions to the next environment. ### Deleting Schema (Document Types, Datatypes etc.) diff --git a/16/umbraco-deploy/deployment-workflow/restoring-content/README.md b/16/umbraco-deploy/deployment-workflow/restoring-content/README.md index 38e1bb62146..20672e8f0de 100644 --- a/16/umbraco-deploy/deployment-workflow/restoring-content/README.md +++ b/16/umbraco-deploy/deployment-workflow/restoring-content/README.md @@ -22,7 +22,7 @@ There are four options when it comes to restoring content. The first time you run your project locally you will have the option to restore your content and media before going to the Umbraco backoffice. {% hint style="info" %} -This will restore **all** content and media, plus any other entities configured for back-office transfer. +This will restore **all** content and media, plus any other entities configured for backoffice transfer. {% endhint %} 1. When your site is done spinning up, click the green _Restore_ button - this will restore all content and media. @@ -45,7 +45,7 @@ The second option for restoring your content and media is found in the Umbraco b 7. When it's done, click **...** next to the Content tree again and choose _Reload_ to see your content in the tree. {% hint style="info" %} -As well as content, media and any other entities configured for back-office transfer, will also be restored in the process. +As well as content, media and any other entities configured for backoffice transfer, will also be restored in the process. To see the media, go to the Media section and _Reload_ the tree. {% endhint %} @@ -62,4 +62,4 @@ For example, if triggered from the content tree, only content entities will be r ### [Partial Restore](partial-restore.md) -By using the Partial Restore option, you can make sure that you only restore the part of the content that you need to work with. You can either restore a single item, or include all the descendents of that item too. +By using the Partial Restore option, you can make sure that you only restore the part of the content that you need to work with. You can either restore a single item, or include all the descendants of that item too. diff --git a/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md b/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md index 3a561fec218..3fde3203ebf 100644 --- a/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md +++ b/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md @@ -16,9 +16,9 @@ You can use Partial Restore on In this scenario you've cloned down your environment to your local machine or setup a new environment. In both cases the new environment will have an empty Content section as well as an empty Media section. {% hint style="info" %} -Be aware that this feature will also restore all dependencies on the selected content. +This feature also restores all dependencies of the selected content. -E.g. when you restore a content node which references media items as well as other content nodes, these will all be restored as well, including any parent nodes that these nodes depend on. +For example, restoring a content node that references media or other content will also restore those items, including any parent nodes they depend on. {% endhint %} Follow these steps to perform a partial restore to get only the parts you need: diff --git a/16/umbraco-deploy/extending/extending.md b/16/umbraco-deploy/extending/extending.md index 1c6255b4fc8..d19ce1ff3f7 100644 --- a/16/umbraco-deploy/extending/extending.md +++ b/16/umbraco-deploy/extending/extending.md @@ -464,7 +464,7 @@ If the optimal deployment workflow for your entity is to have editors control th An introduction to this feature can be found in the second half of [this recorded session from Codegarden 2021](https://youtu.be/8bgZmlJ7ScI?t=938). -There's also a code sample, demonstrated in the video linked above, available [here](https://github.com/AndyButland/RaceData). +There's also a code sample, demonstrated in the video linked above, available at [GitHub](https://github.com/AndyButland/RaceData). The following code shows the registration of an entity for Backoffice deployment, where we have the simplest case of a single tree for the entity. diff --git a/16/umbraco-deploy/getting-started/Streamlining-Local-Development/index.md b/16/umbraco-deploy/getting-started/Streamlining-Local-Development/index.md index 922f749f037..e7a2dc517b3 100644 --- a/16/umbraco-deploy/getting-started/Streamlining-Local-Development/index.md +++ b/16/umbraco-deploy/getting-started/Streamlining-Local-Development/index.md @@ -18,9 +18,9 @@ When working with Umbraco Cloud, this step is configured automatically for you w The process works by using the marker file Umbraco Deploy uses to trigger an update of the Umbraco schema from the `.uda` files from source control. -If a file named `deploy-on-start` is found in the `/umbraco/Deploy` folder, an update will run automatically when the site starts up. +If a file named `deploy-on-start` is found in the `/umbraco/Deploy` folder, an update will run automatically when the site starts up. -Therefore, if we ensure that the file is created everytime the source code is pulled from the remote repository, we can automate the update. +Therefore, if we ensure that the file is created every time the source code is pulled from the remote repository, we can automate the update. To do this, carry out the following steps: diff --git a/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-azure-dev-ops.md b/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-azure-dev-ops.md index 71082522aa6..c81ec8dd5dc 100644 --- a/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-azure-dev-ops.md +++ b/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-azure-dev-ops.md @@ -14,11 +14,11 @@ We then have a number of variables defined, that are used in the build configura Most tasks in the pipeline are standard steps that will be used in any .NET web application release, such as the first steps: -\#1 Install of the NuGet tooling, +1. Install of the NuGet tooling, -\#2 Restore of NuGet dependencies, +2. Restore of NuGet dependencies, -\#3 And the project build. +3. And the project build. Additional steps can be added as required, for example for running automated tests. @@ -31,7 +31,8 @@ Firstly a web deployment (#4), takes the packaged build artifact and deploys it, The final step (#5) is Umbraco Deploy specific - to call a function defined in the PowerShell script and trigger the extraction. Replace `ApiSecret` with `ApiKey` if you're using the deprecated API key setting instead. {% hint style="info" %} -The Microsoft docs contain useful information, if you are unsure of how to set secrets for your pipeline: +The Microsoft documentation contain useful information, if you are unsure of how to set secrets for your pipeline: + * [Set secret variables](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/set-secret-variables?view=azure-devops&tabs=yaml%2Cbash) * [Protecting secrets in Azure Pipelines](https://learn.microsoft.com/en-us/azure/devops/pipelines/security/secrets?view=azure-devops) diff --git a/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-github-actions.md b/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-github-actions.md index da1103674f1..0d60cd67827 100644 --- a/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-github-actions.md +++ b/16/umbraco-deploy/getting-started/cicd-pipeline/ci-cd-github-actions.md @@ -18,7 +18,7 @@ The following steps will take you through setting up a build server in Azure Web ![Azure deployments](<../../../../10/umbraco-deploy/getting-started/images/Deployment-center (1) (1).png>) -In the Deployment Center we can set up the CI/CD build server. With this example we are going to set up our build server by using GitHub Actions. It is possible to set up the build server however you want as long as it supports executing powershell scripts. +In the Deployment Center we can set up the CI/CD build server. With this example we are going to set up our build server by using GitHub Actions. It is possible to set up the build server however you want as long as it supports executing Powershell scripts. 2. Go to the Settings tab. 3. Choose which source and build provider to use. diff --git a/16/umbraco-deploy/getting-started/deploy-settings.md b/16/umbraco-deploy/getting-started/deploy-settings.md index a3c01452f9b..866b279ed05 100644 --- a/16/umbraco-deploy/getting-started/deploy-settings.md +++ b/16/umbraco-deploy/getting-started/deploy-settings.md @@ -200,7 +200,7 @@ If no value is set, Deploy will create 16MB chunks, unless the [CMS `MaxRequestL ### TransferFormsAsContent {#transfer-forms-data-as-content} -In order for Deploy to handle Forms data as content, you'll to ensure the `TransferFormsAsContent` setting is set to `true`. To transfer Forms data as schema, i.e. via .uda files committed to source control, use a value of `false`. +In order for Deploy to handle Forms data as content, you'll to ensure the `TransferFormsAsContent` setting is set to `true`. To transfer Forms data as schema via .uda files committed to source control, use a value of `false`. {% hint style="info" %} On changing this value from `false` to `true`, make sure to remove any `.uda` files for Forms entities that have already been serialized to disk. These will no longer be updated. By deleting them you avoid any risk of them being processed in the future and inadvertently reverting a form to an earlier state. @@ -502,15 +502,15 @@ To avoid this handler from being registered, you can set this setting to `false` ### Import on startup {#import-on-startup} -Deploy can [import content and/or schema previously exported from another Umbraco installation on start-up](../deployment-workflow/import-on-startup.md). This can be customized by changing the `Umbraco:Deploy:ImportOnStartup` settings (note that this is directly below the `Deploy` section and not nested below `Settings`): +Deploy can [import content and/or schema previously exported from another Umbraco installation on start-up](../deployment-workflow/import-on-startup.md). Change the `Umbraco:Deploy:ImportOnStartup` settings to customize it. This is directly below the `Deploy` section and not nested below `Settings`: -* `Enabled` - this feature is enabled by default, but can be disabled (e.g. to prevent importing on specific environments) -* `Files` - the files that are imported on start-up (relative to the project content root, defaults to `umbraco\Deploy\import-on-startup.zip`), which are checked individually (files that do not exist are skipped and a warning will be logged) -* `FileAction` - `None` will leave the file on disk (and potentially import it again on the next start-up), `Archive` renames the file to end with `.imported` and `Delete` (the default) will remove the file on successful import -* `WarningsAsErrors` - indicates whether warnings should be considered as errors -* `EntityTypes` - sets the entity types to import, note that the default import validation will return warnings for entity types in the ZIP archive that are skipped due to this setting -* `Cultures` - the ISO codes of content variants that should be imported -* `Username` - the email address of the user that performs the import (used for auditing), uses the 'super-user' administrator account if not set +* `Enabled` - this feature is enabled by default, but can be disabled (for example, to prevent importing on specific environments). +* `Files` - the files that are imported on start-up (relative to the project content root, defaults to `umbraco\Deploy\import-on-startup.zip`), which are checked individually (files that do not exist are skipped and a warning will be logged). +* `FileAction` - `None` will leave the file on disk (and potentially import it again on the next start-up), `Archive` renames the file to end with `.imported` and `Delete` (the default) will remove the file on successful import. +* `WarningsAsErrors` - indicates whether warnings should be considered as errors. +* `EntityTypes` - sets the entity types to import. The default import validation will return warnings for entity types in the ZIP archive that are skipped due to this setting. +* `Cultures` - the ISO codes of content variants that should be imported. +* `Username` - the email address of the user that performs the import (used for auditing), uses the 'super-user' administrator account if not set. ## Configuration via code diff --git a/16/umbraco-deploy/getting-started/streamlining-local-development.md b/16/umbraco-deploy/getting-started/streamlining-local-development.md index de18c3fe6aa..8e415cf1c32 100644 --- a/16/umbraco-deploy/getting-started/streamlining-local-development.md +++ b/16/umbraco-deploy/getting-started/streamlining-local-development.md @@ -16,7 +16,7 @@ The process works by using the marker file Umbraco Deploy uses to trigger an upd If a file named `deploy-on-start` is found in the `/umbraco/Deploy` folder, an update will run automatically when the site starts up. -Therefore, if we ensure that the file is created everytime the source code is pulled from the remote repository, we can automate the update. +Therefore, if we ensure that the file is created every time the source code is pulled from the remote repository, we can automate the update. To do this, carry out the following steps: diff --git a/16/umbraco-deploy/installation/install-configure.md b/16/umbraco-deploy/installation/install-configure.md index 18fcac1d534..e1bb596ed8a 100644 --- a/16/umbraco-deploy/installation/install-configure.md +++ b/16/umbraco-deploy/installation/install-configure.md @@ -237,7 +237,7 @@ An example configuration with a single upstream environment file will look like The setting under _Project:CurrentWorkspaceName_ should match the _Name_ provided in the list of _Workspaces_ that match the current environment. Using this Umbraco Deploy will indicate the correct current environment on the "Workspaces" dashboard. {% hint style="info" %} -In Umbraco Deploy 9, this value was set using the configuration key _Debug:EnvironmentName_. Although included under a "Debug" section, this setting is required for the installations of Umbraco Deploy on-premises (i.e. other than on Umbraco Cloud). Hence why it was moved to the "Project" section in Umbraco Deploy 10. +In Umbraco Deploy 9, this value was set using the configuration key _Debug:EnvironmentName_. Although included under a "Debug" section, this setting is required for the installations of Umbraco Deploy on-premises (other than on Umbraco Cloud). Hence why it was moved to the "Project" section in Umbraco Deploy 10. {% endhint %} Expected values for _Type_ are "development", "staging" or "live". These settings are required, though strictly only for the latter is it necessary to use the specific value of "live", so other values can be used if you have more than these three environments. diff --git a/16/umbraco-deploy/installation/the-licensing-model.md b/16/umbraco-deploy/installation/the-licensing-model.md index 7fe7cc59cfb..144a4846c31 100644 --- a/16/umbraco-deploy/installation/the-licensing-model.md +++ b/16/umbraco-deploy/installation/the-licensing-model.md @@ -81,7 +81,7 @@ Umbraco Cloud projects use a license file placed in the `/umbraco/Licenses` fold ## Validating the license -On start-up and on a schedule, Umbraco running Deploy On-premise will call out to a service. It will pass the configured license key to determine its validity. The response triggers a notification that the Umbraco Deploy will handle. It will amend the available functionality as appropriate to a valid, invalid or expired license. +On start-up and on a schedule, Umbraco running Deploy On-premise will call out to a service. It will pass the configured license key to determine its validity. The response triggers a notification that the Umbraco Deploy will handle. It will amend the available functionality as appropriate to a valid, invalid or expired license. You can view the status of the Umbraco Deploy On-premise license in the backoffice. This is available via the _Settings_ section, listed along with any other products using the same licensing service: diff --git a/16/umbraco-deploy/release-notes.md b/16/umbraco-deploy/release-notes.md index 3b81038149a..d56f7e5fa66 100644 --- a/16/umbraco-deploy/release-notes.md +++ b/16/umbraco-deploy/release-notes.md @@ -4,7 +4,7 @@ description: Get an overview of the things changed and fixed in each version of # Release Notes -In this section we have summarised the changes to Umbraco Deploy and [Deploy Contrib](https://github.com/umbraco/Umbraco.Deploy.Contrib) released in each version. Each version is presented with a link to the [Deploy issue tracker](https://github.com/umbraco/Umbraco.Deploy.Issues/issues) showing a list of issues resolved in the release. We also link to the individual issues themselves from the detail. +In this section we have summarized the changes to Umbraco Deploy and [Deploy Contrib](https://github.com/umbraco/Umbraco.Deploy.Contrib) released in each version. Each version is presented with a link to the [Deploy issue tracker](https://github.com/umbraco/Umbraco.Deploy.Issues/issues) showing a list of issues resolved in the release. We also link to the individual issues themselves from the detail. If there are any breaking changes or other issues to be aware of when upgrading they are also noted here. @@ -57,7 +57,7 @@ This section contains the release notes for Umbraco Deploy 15 including all chan ### [16.0.1](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-16.0.1) (July 11th 2025) -* Recursively migrate DocTypeGridEditor (DTGE) property values [#270](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/270) +* Recursively migrate Doc Type Grid Editor (DTGE) property values [#270](https://github.com/umbraco/Umbraco.Deploy.Issues/issues/270) ### [16.0.0](https://github.com/umbraco/Umbraco.Deploy.Contrib/releases/tag/release-16.0.0) (May 12th 2025) From 7986334e0affae3177a7671ea27308e18f046a04 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Wed, 17 Sep 2025 09:27:36 +0200 Subject: [PATCH 2/5] Fixed broken link --- .../restoring-content/README.md | 8 ++++---- .../restoring-content/partial-restore.md | 2 +- .../installation/images/licenses-screen.png | Bin 0 -> 40233 bytes .../installation/images/test-UDA.png | Bin 0 -> 40876 bytes .../installation/install-configure.md | 2 +- .../installation/the-licensing-model.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 16/umbraco-deploy/installation/images/licenses-screen.png create mode 100644 16/umbraco-deploy/installation/images/test-UDA.png diff --git a/16/umbraco-deploy/deployment-workflow/restoring-content/README.md b/16/umbraco-deploy/deployment-workflow/restoring-content/README.md index 20672e8f0de..11326cf328a 100644 --- a/16/umbraco-deploy/deployment-workflow/restoring-content/README.md +++ b/16/umbraco-deploy/deployment-workflow/restoring-content/README.md @@ -12,9 +12,9 @@ The restore option also comes in really handy when you have content editors crea There are four options when it comes to restoring content. -1. [Restore when starting up the project locally](./#restore-when-starting-up-the-project-locally) -2. [Restore everything through the Umbraco backoffice](./#restore-everything-through-the-umbraco-backoffice) -3. [Restore a single tree through the Umbraco backoffice](./#restore-a-single-tree-through-the-umbraco-backoffice) +1. [Restore when starting up the project locally](#restore-when-starting-up-the-project-locally) +2. [Restore everything through the Umbraco backoffice](#restore-everything-through-the-umbraco-backoffice) +3. [Restore a single tree through the Umbraco backoffice](#restore-a-single-tree-through-the-umbraco-backoffice) 4. [Partial Restores](partial-restore.md) ### Restore when starting up the project locally @@ -30,7 +30,7 @@ This will restore **all** content and media, plus any other entities configured 3. When it's complete select _Open Umbraco_ to go to the backoffice. 4. You will now see all your content and media in the Umbraco backoffice. -![Restore from start-up](../../../umbraco-cloud/deployment/restoring-content/images/Normal-Restore.gif) +![Restore from start-up](images/Normal-Restore.gif) ### Restore everything through the Umbraco backoffice diff --git a/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md b/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md index 3fde3203ebf..23924416225 100644 --- a/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md +++ b/16/umbraco-deploy/deployment-workflow/restoring-content/partial-restore.md @@ -57,4 +57,4 @@ Imagine that you are working with your Umbraco project locally. One of your cont 6. Start the restore by clicking _Restore_ 7. When the restore is done, reload the content tree to see the changes -![Partial restore](../../../umbraco-cloud/deployment/restoring-content/images/partialRestore-onEnvWithContent.png) +![Partial restore](images/partialRestore-onEnvWithContent.png) diff --git a/16/umbraco-deploy/installation/images/licenses-screen.png b/16/umbraco-deploy/installation/images/licenses-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..034ab1de85eea1b184bfe3e462757fd08a61b47f GIT binary patch literal 40233 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 literal 0 HcmV?d00001 diff --git a/16/umbraco-deploy/installation/images/test-UDA.png b/16/umbraco-deploy/installation/images/test-UDA.png new file mode 100644 index 0000000000000000000000000000000000000000..2c929784cdc0e9aebc50ffcc1abcedcb77ab58f1 GIT binary patch literal 40876 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 literal 0 HcmV?d00001 diff --git a/16/umbraco-deploy/installation/install-configure.md b/16/umbraco-deploy/installation/install-configure.md index e1bb596ed8a..72053e013f8 100644 --- a/16/umbraco-deploy/installation/install-configure.md +++ b/16/umbraco-deploy/installation/install-configure.md @@ -263,7 +263,7 @@ Once the configuration has been set up with the correct information we can now g This can be done by going to the `/umbraco/Deploy/Revision` folder of the project and create a test `.uda` file, and then check in either your Git GUI or in the command line and verify whether the test file is being tracked. -![Test UDA file]() +![Test UDA file](images/test-UDA.png) We can see that the file has been created and it is being tracked by Git and we can go ahead and delete the test file. diff --git a/16/umbraco-deploy/installation/the-licensing-model.md b/16/umbraco-deploy/installation/the-licensing-model.md index 144a4846c31..f1d5fee5b87 100644 --- a/16/umbraco-deploy/installation/the-licensing-model.md +++ b/16/umbraco-deploy/installation/the-licensing-model.md @@ -85,7 +85,7 @@ On start-up and on a schedule, Umbraco running Deploy On-premise will call out t You can view the status of the Umbraco Deploy On-premise license in the backoffice. This is available via the _Settings_ section, listed along with any other products using the same licensing service: -![Licenses screen in Umbraco backoffice](./images/licenses-screen.png) +![Licenses screen in Umbraco backoffice](images/licenses-screen1.png) ### When and how to configure an `UmbracoApplicationUrl` From 0d106210f035240fe308d70793ee973deb4d9b52 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Wed, 17 Sep 2025 09:29:24 +0200 Subject: [PATCH 3/5] Fixed broken image --- 16/umbraco-deploy/installation/the-licensing-model.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/16/umbraco-deploy/installation/the-licensing-model.md b/16/umbraco-deploy/installation/the-licensing-model.md index f1d5fee5b87..6daff273838 100644 --- a/16/umbraco-deploy/installation/the-licensing-model.md +++ b/16/umbraco-deploy/installation/the-licensing-model.md @@ -85,7 +85,7 @@ On start-up and on a schedule, Umbraco running Deploy On-premise will call out t You can view the status of the Umbraco Deploy On-premise license in the backoffice. This is available via the _Settings_ section, listed along with any other products using the same licensing service: -![Licenses screen in Umbraco backoffice](images/licenses-screen1.png) +![Licenses screen in Umbraco backoffice](images/licenses-screen.png) ### When and how to configure an `UmbracoApplicationUrl` From d88b1651f0489baa2df0a59de006d8228d835dda Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Wed, 17 Sep 2025 09:33:12 +0200 Subject: [PATCH 4/5] small change to trigger checks --- 16/umbraco-deploy/installation/the-licensing-model.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/16/umbraco-deploy/installation/the-licensing-model.md b/16/umbraco-deploy/installation/the-licensing-model.md index 6daff273838..7bedb52b293 100644 --- a/16/umbraco-deploy/installation/the-licensing-model.md +++ b/16/umbraco-deploy/installation/the-licensing-model.md @@ -35,8 +35,8 @@ A single license covers one Umbraco solution. It includes all domains hosted by To clarify the above: -* You only need one license when you have a solution covering multiple domains- for example, www.mysite.com and www.mysite.dk - load balanced in production over multiple servers running from the same database, managed from the same backoffice instance, and with any number of non-production environments (staging, QA, etc.) -* You need two licenses if you have a web presence that consists of two separate websites hosted on different domains or sub-domains - for example, www.mysite.com and shop.mysite.com - with each of these managed as a separate Umbraco installation using their own database and backoffice in production. +* You only need one license when you have a solution covering multiple domains- for example, `www.mysite.com` and `www.mysite.dk` - load balanced in production over multiple servers running from the same database, managed from the same backoffice instance, and with any number of non-production environments (staging, QA, etc.) +* You need two licenses if you have a web presence that consists of two separate websites hosted on different domains or sub-domains - for example, `www.mysite.com` and `shop.mysite.com` - with each of these managed as a separate Umbraco installation using their own database and backoffice in production. {% hint style="info" %} The license for Umbraco Deploy comes with a recurring yearly fee. Learn more about this and pricing on [Umbraco.com](https://umbraco.com/products/umbraco-deploy/). From cde7bcf6197192132689699fca5dc25f6eb54d41 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Wed, 17 Sep 2025 09:39:36 +0200 Subject: [PATCH 5/5] small changes to trigger checks --- .../installation/install-configure.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/16/umbraco-deploy/installation/install-configure.md b/16/umbraco-deploy/installation/install-configure.md index 72053e013f8..f7e49a3ad0d 100644 --- a/16/umbraco-deploy/installation/install-configure.md +++ b/16/umbraco-deploy/installation/install-configure.md @@ -14,9 +14,9 @@ Ensure to first read and follow the setup guides for either new or existing proj

New project -Here we will cover how to install and set up Umbraco Deploy on a new website. +This section covers cover how to install and set up Umbraco Deploy on a new website. -#### Requirement +### Requirement * Visual Studio 2017 v15.9.6 or later * Umbraco Deploy license @@ -41,11 +41,11 @@ When Umbraco has been installed in a repository, we can continue to install and Existing project -Here we will cover the steps in order for you to install Umbraco deploy on your already existing website with content. +This section covers the steps to install Umbraco deploy on your already existing website with content. -We will cover how to install and set up Umbraco deploy on your website and how to generate the UDA files based on your production website's database. +Additionally, it covers how to generate the UDA files based on your production website's database. -#### Requirement +### Requirement * Visual Studio 2017 v15.9.6 or later * Umbraco Deploy license @@ -101,11 +101,11 @@ When Umbraco has been installed in a repository, we can install Umbraco Deploy i To install Umbraco Deploy, run `dotnet add package Umbraco.Deploy.OnPrem` from the command line or `Install-Package Umbraco.Deploy.OnPrem` from the package manager console in Visual Studio. {% hint style="info" %} -To be able to use Umbraco Forms with Umbraco Deploy, you need to install the `Umbraco.Forms.Deploy` package as well. +To use Umbraco Forms with Umbraco Deploy, install the `Umbraco.Forms.Deploy` package. {% endhint %} {% hint style="info" %} -In order to deploy content based on certain rich core and community property editors - including Multi URL Picker and Block List/Grid Editor - there is one further NuGet package to install: `Umbraco.Deploy.Contrib`. +To deploy content with editors such as Multi URL Picker or Block List/Grid Editor, install the `Umbraco.Deploy.Contrib` NuGet package. {% endhint %} With Umbraco Deploy installed, to use it in the project you will need to create and add configuration for an API key/secret.