From d2dddb9516532d236f03a285310fab677d259dea Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Mon, 12 Aug 2024 11:19:09 +0200 Subject: [PATCH 01/10] Updated installation article --- 14/umbraco-commerce/.gitbook.yaml | 1 + .../getting-started/introduction.md | 25 -------- 14/umbraco-commerce/installation/install.md | 59 ++++++++++++++---- .../installation/requirements.md | 25 ++++++++ .../media/v14/nuget-package-overview.png | Bin 0 -> 59798 bytes 5 files changed, 74 insertions(+), 36 deletions(-) delete mode 100644 14/umbraco-commerce/getting-started/introduction.md create mode 100644 14/umbraco-commerce/installation/requirements.md create mode 100644 14/umbraco-commerce/media/v14/nuget-package-overview.png diff --git a/14/umbraco-commerce/.gitbook.yaml b/14/umbraco-commerce/.gitbook.yaml index cf390e85591..0f76f65fe49 100644 --- a/14/umbraco-commerce/.gitbook.yaml +++ b/14/umbraco-commerce/.gitbook.yaml @@ -13,3 +13,4 @@ how-to-guides/migrate-from-vendr-to-umbraco-commerce/migrate-custom-payment-prov how-to-guides/migrate-from-vendr-to-umbraco-commerce/migrate-umbraco-commerce-checkout: upgrading/migrate-from-vendr-to-umbraco-commerce/migrate-umbraco-commerce-checkout.md how-to-guides/migrate-from-vendr-to-umbraco-commerce/README: upgrading/migrate-from-vendr-to-umbraco-commerce/README.md key-concepts/events: key-concepts/events/README.md +getting-started/introduction: installation/requirements.md diff --git a/14/umbraco-commerce/getting-started/introduction.md b/14/umbraco-commerce/getting-started/introduction.md deleted file mode 100644 index 67dfdb6f14c..00000000000 --- a/14/umbraco-commerce/getting-started/introduction.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -description: Getting Started with Umbraco Commerce. ---- - -# Introduction - -In this section, you will find information about the key steps necessary to get you started with Umbraco Commerce. - -It is assumed that you have an Umbraco 14+ website configured, ready to install Umbraco Commerce into. - -{% hint style="info" %} -Find detailed instructions on how to install the latest version of Umbraco in the [Umbraco CMS documentation](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/install). -{% endhint %} - -## System Requirements - -The minimum requirements for using Umbraco Commerce are as follows: - -* Umbraco CMS version 14+ -* SQL Server 2015+ Database - * **SQLite** is fine for testing, but not recommended for live deployments. See [Configuring SQLite support](../how-to-guides/configure-sqlite-support.md) for more details. - -## Versioning - -This is an add-on product to Umbraco CMS. Umbraco Commerce follows the [versioning strategy laid out for Umbraco CMS](https://umbraco.com/products/knowledge-center/versioning-and-release-cadence/). diff --git a/14/umbraco-commerce/installation/install.md b/14/umbraco-commerce/installation/install.md index f0913d84042..3bd4dd59e8f 100644 --- a/14/umbraco-commerce/installation/install.md +++ b/14/umbraco-commerce/installation/install.md @@ -3,27 +3,60 @@ description: >- Learn the steps needed in order to install Umbraco Commerce into your Umbraco CMS website. --- -# Installation +# Installing Umbraco Commerce In this article, you will learn how to install Umbraco Commerce into your Umbraco CMS implementation. -You can also find information about how to upgrade, install, and activate your Umbraco Commerce license. +## Prerequisites -## NuGet Package Installation +For system requirements, see the [Requirements](requirements.md) article. + +## Umbraco Commerce Installation + +There are different ways to install Umbraco Commerce: + +- [NuGet Package Installation](#nuget-package-installation) +- [Visual Studio Installation](#visual-studio-installation) + +### NuGet Package Installation Umbraco Commerce is available via [NuGet.Org](https://www.nuget.org/packages/Umbraco.Commerce/). -To install Umbraco Commerce via NuGet, run the following command directly in the NuGet Manager Console window: +To install Umbraco Commerce via NuGet: + +1. Run the following command in the NuGet Manager Console window: + + ```bash + dotnet add package Umbraco.Commerce + ``` + +2. Restart the application using the following command: -```bash -dotnet add package Umbraco.Commerce -``` + ```bash + dotnet run + ``` -Alternatively, you can also find and install the NuGet package via the NuGet Package Manager in Visual Studio. You will see a number of packages available, however, you will want to install the main **Umbraco Commerce** package. +### Visual Studio Installation -![Installing Umbraco Commerce via the NuGet Package Manager](../media/nuget-packages-overview.png) +To install via Visual Studio, follow these steps: -For most sites using a single solution, the above will be all you need to install Umbraco Commerce into your project. When you have a more complex solution structure consisting of multiple projects, Umbraco Commerce is available in multiple sub-packages with varying dependencies. +1. Open your project in Visual Studio. +2. Go to **Tools** -> **NuGet Package Manager** -> **Manage NuGet Packages for Solution...** +3. Browse for **Umbraco.Commerce**. + + ![Installing Umbraco Commerce via the NuGet Package Manager](../media/v14/nuget-package-overview.png) + +4. Select the appropriate version from the **Version** drop-down depending on the Umbraco version you are using. +5. Click **Install**. +6. Once the package is installed, open the **.csproj** file to make sure the package reference is added: + + ```cs + + + + ``` + +For most projects, you only need a single package to install Umbraco Commerce. But if your solution is more complex with multiple projects, Umbraco Commerce provides sub-packages to match different dependencies. @@ -102,4 +135,8 @@ If you encounter an SQLite error after installing Umbraco Commerce, you may need ## Installing a License -See the [Licensing page](the-licensing-model.md#installing-your-license) for details on how to install a license. +For details on how to install a license, see the [Licensing](the-licensing-model.md#installing-your-license) article. + +## Using Umbraco Commerce + +Once Umbraco Commerce is installed, you can find it in the Umbraco backoffice under the **Settings** and **Content** sections. To access the **Commerce** section, additional configuration is required. For more details, see the [Umbraco Configuration](../getting-started/umbraco-configuration.md) article. diff --git a/14/umbraco-commerce/installation/requirements.md b/14/umbraco-commerce/installation/requirements.md new file mode 100644 index 00000000000..51b3d636f50 --- /dev/null +++ b/14/umbraco-commerce/installation/requirements.md @@ -0,0 +1,25 @@ +--- +description: Getting Started with Umbraco Commerce. +--- + +# Requirements + +In this article, you will find the key steps needed to get started with Umbraco Commerce. + +It is assumed that you have an Umbraco 14+ website configured and ready for the Umbraco Commerce installation. + +{% hint style="info" %} +For detailed instructions on installing the latest version of Umbraco, refer to the [Umbraco CMS documentation](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/install). +{% endhint %} + +## System Requirements + +The minimum requirements for using Umbraco Commerce are: + +* Umbraco CMS version 14+ +* SQL Server 2015+ Database + * **SQLite** is acceptable for testing but not recommended for live deployments. For more details, see the [Configuring SQLite support](../how-to-guides/configure-sqlite-support.md) article. + +## Versioning + +Umbraco Commerce is an add-on product for Umbraco CMS and follows the [versioning strategy outlined for Umbraco CMS](https://umbraco.com/products/knowledge-center/versioning-and-release-cadence/). diff --git a/14/umbraco-commerce/media/v14/nuget-package-overview.png b/14/umbraco-commerce/media/v14/nuget-package-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..d384d28cfda5ebe195793890c2909b15198c8c78 GIT binary patch literal 59798 zcmcG$by!?aw(lK-H0~BGjRg1L78-}(1cC%7gy8OwKsWB1puvK>TN7M^d!voJyWJ+g znK?7>z30BqJ!j4zJiBH0s@kh|)mrsg-%XIRqBI8T3)DxC9%0DJNT@z~^aT9q(bJ~@ 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 literal 0 HcmV?d00001 From 45052642e3ac01f122c154eec7115ac2add30434 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Mon, 12 Aug 2024 11:23:26 +0200 Subject: [PATCH 02/10] Moved Tutorials at the end of the Summary file --- 14/umbraco-commerce/SUMMARY.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/14/umbraco-commerce/SUMMARY.md b/14/umbraco-commerce/SUMMARY.md index c0e947c03dc..9b483b48ccd 100644 --- a/14/umbraco-commerce/SUMMARY.md +++ b/14/umbraco-commerce/SUMMARY.md @@ -78,10 +78,6 @@ * [Umbraco Commerce Builder](key-concepts/umbraco-commerce-builder.md) * [Webhooks](key-concepts/webhooks.md) -## Tutorials - -* [Overview](tutorials/overview.md) - ## Reference * [Stores](reference/stores/README.md) @@ -103,3 +99,7 @@ * [Content](reference/storefront-api/endpoints/content.md) * [Management API](reference/management-api/README.md) * [Go behind the scenes](reference/go-behind-the-scenes.md) + +## Tutorials + +* [Overview](tutorials/overview.md) From 4fd0daa5dd6eca4bfe8b2814dd244b7c95fdf7cb Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Mon, 12 Aug 2024 11:56:33 +0200 Subject: [PATCH 03/10] Updated Summary file --- 14/umbraco-commerce/SUMMARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/14/umbraco-commerce/SUMMARY.md b/14/umbraco-commerce/SUMMARY.md index 9b483b48ccd..55651df5067 100644 --- a/14/umbraco-commerce/SUMMARY.md +++ b/14/umbraco-commerce/SUMMARY.md @@ -12,6 +12,7 @@ ## Installation +* [Requirements](installation/requirements.md) * [Installing Umbraco Commerce](installation/install.md) * [Licensing](installation/the-licensing-model.md) @@ -25,7 +26,6 @@ ## Getting Started -* [Introduction](getting-started/introduction.md) * [Umbraco Configuration](getting-started/umbraco-configuration.md) * [User Interface](getting-started/user-interface.md) From 7a1a61dd8bfe9e615398c9813910437fab11e6b4 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Mon, 12 Aug 2024 12:04:07 +0200 Subject: [PATCH 04/10] Updated links --- 14/umbraco-commerce/README.md | 2 +- 14/umbraco-commerce/installation/install.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/14/umbraco-commerce/README.md b/14/umbraco-commerce/README.md index 9af418e4dc4..5d8f6940ef1 100644 --- a/14/umbraco-commerce/README.md +++ b/14/umbraco-commerce/README.md @@ -9,7 +9,7 @@ description: >- Umbraco Commerce is the official Umbraco e-commerce addon for your Umbraco CMS website. It can be used to set up small webshops, while it can also be implemented for big-scale e-commerce solutions spanning multiple countries. -

Getting StartedFind all the information you need to get started using Umbraco Commerce with your Umbraco CMS implementation.introduction.mdcommerce-icon.png
How-to GuidesLooking to configure and implement something specific? Take a look through the How-to section where you might find a guide that fits your needs.overview.mdumbraco_free_way_01.png
Key ConceptsLooking to learn more about the different concepts and features of Umbraco Commerce? You can find detailed information about each of them in this section.overview.mdUmbraco_Brand_Guidelines_2020_28_Illustration blocks.png
+
Install Umbraco CommerceFind all the information you need to get started using Umbraco Commerce with your Umbraco CMS implementation.requirements.mdcommerce-icon.png
How-to GuidesLooking to configure and implement something specific? Take a look through the How-to section where you might find a guide that fits your needs.overview.mdumbraco_free_way_01.png
Key ConceptsLooking to learn more about the different concepts and features of Umbraco Commerce? You can find detailed information about each of them in this section.overview.mdUmbraco_Brand_Guidelines_2020_28_Illustration blocks.png
## Extend Umbraco Commerce diff --git a/14/umbraco-commerce/installation/install.md b/14/umbraco-commerce/installation/install.md index 3bd4dd59e8f..3c5d59f8030 100644 --- a/14/umbraco-commerce/installation/install.md +++ b/14/umbraco-commerce/installation/install.md @@ -135,7 +135,7 @@ If you encounter an SQLite error after installing Umbraco Commerce, you may need ## Installing a License -For details on how to install a license, see the [Licensing](the-licensing-model.md#installing-your-license) article. +For details on how to install a license, see the [Licensing](the-licensing-model.md) article. ## Using Umbraco Commerce From 8233a1537d0ba7a408e84975e4296181241e8e5f Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Mon, 12 Aug 2024 12:20:22 +0200 Subject: [PATCH 05/10] Added Note in Tutorial section --- 14/umbraco-commerce/tutorials/overview.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/14/umbraco-commerce/tutorials/overview.md b/14/umbraco-commerce/tutorials/overview.md index 8367908de5a..5f07f61c199 100644 --- a/14/umbraco-commerce/tutorials/overview.md +++ b/14/umbraco-commerce/tutorials/overview.md @@ -1,8 +1,11 @@ --- -title: Tutorials description: Step-by-Step Tutorials on getting started with Umbraco Commerce. --- # Overview -In this section, we will provide a series of follow-along tutorials on how to implement Umbraco Commerce. These will be aimed at getting you set up and running without going into heavy theoretical details. Once you are familiar with working with Umbraco Commerce, you can use the other sections of the documentation to gain a more in-depth knowledge of the different things you'll have implemented. +In this section, we offer a series of step-by-step tutorials to help you implement Umbraco Commerce. These guides focus on practical setup and configuration, avoiding complex theoretical details. Once you are comfortable with the basics of Umbraco Commerce, use the documentation to explore advanced features and deepen your understanding of Umbraco Commerce. + +{% hint style="warning" %} +We are crafting new tutorials to guide you through Umbraco Commerce. Stay tuned for some practical guides coming your way. If you have any suggestions, share them using the **Feedback** option. +{% endhint %} From 9f7de5afebae0ed07e2f53407a5f03540b77f376 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Mon, 12 Aug 2024 12:22:01 +0200 Subject: [PATCH 06/10] Some formatting --- 14/umbraco-commerce/tutorials/overview.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/14/umbraco-commerce/tutorials/overview.md b/14/umbraco-commerce/tutorials/overview.md index 5f07f61c199..bbb7ecc3848 100644 --- a/14/umbraco-commerce/tutorials/overview.md +++ b/14/umbraco-commerce/tutorials/overview.md @@ -4,7 +4,9 @@ description: Step-by-Step Tutorials on getting started with Umbraco Commerce. # Overview -In this section, we offer a series of step-by-step tutorials to help you implement Umbraco Commerce. These guides focus on practical setup and configuration, avoiding complex theoretical details. Once you are comfortable with the basics of Umbraco Commerce, use the documentation to explore advanced features and deepen your understanding of Umbraco Commerce. +In this section, we offer a series of step-by-step tutorials to help you implement Umbraco Commerce. These guides focus on practical setup and configuration, avoiding complex theoretical details. + +Once you are comfortable with the basics of Umbraco Commerce, use the documentation to explore advanced features and deepen your understanding of Umbraco Commerce. {% hint style="warning" %} We are crafting new tutorials to guide you through Umbraco Commerce. Stay tuned for some practical guides coming your way. If you have any suggestions, share them using the **Feedback** option. From 31fc8ff5de7cc6c112b22a41928aae4878954078 Mon Sep 17 00:00:00 2001 From: Esha Noronha <82437098+eshanrnh@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:22:43 +0200 Subject: [PATCH 07/10] Update 14/umbraco-commerce/installation/install.md Co-authored-by: sofietoft --- 14/umbraco-commerce/installation/install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/14/umbraco-commerce/installation/install.md b/14/umbraco-commerce/installation/install.md index 3c5d59f8030..97adc8b4a0f 100644 --- a/14/umbraco-commerce/installation/install.md +++ b/14/umbraco-commerce/installation/install.md @@ -48,7 +48,7 @@ To install via Visual Studio, follow these steps: 4. Select the appropriate version from the **Version** drop-down depending on the Umbraco version you are using. 5. Click **Install**. -6. Once the package is installed, open the **.csproj** file to make sure the package reference is added: +6. Ensure that the package reference is added to the **.csproj** file once the installation is complete: ```cs From 00694eae99477726049ab28c31d2ef594fe09b1b Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Tue, 13 Aug 2024 09:59:45 +0200 Subject: [PATCH 08/10] Structure changes - merged getting started and installation folders --- 14/umbraco-commerce/.gitbook.yaml | 4 +++- 14/umbraco-commerce/README.md | 2 +- 14/umbraco-commerce/SUMMARY.md | 15 ++++++--------- .../{installation => getting-started}/install.md | 4 ++-- .../requirements.md | 0 .../the-licensing-model.md | 0 6 files changed, 12 insertions(+), 13 deletions(-) rename 14/umbraco-commerce/{installation => getting-started}/install.md (96%) rename 14/umbraco-commerce/{installation => getting-started}/requirements.md (100%) rename 14/umbraco-commerce/{installation => getting-started}/the-licensing-model.md (100%) diff --git a/14/umbraco-commerce/.gitbook.yaml b/14/umbraco-commerce/.gitbook.yaml index 0f76f65fe49..95ad71aa20d 100644 --- a/14/umbraco-commerce/.gitbook.yaml +++ b/14/umbraco-commerce/.gitbook.yaml @@ -13,4 +13,6 @@ how-to-guides/migrate-from-vendr-to-umbraco-commerce/migrate-custom-payment-prov how-to-guides/migrate-from-vendr-to-umbraco-commerce/migrate-umbraco-commerce-checkout: upgrading/migrate-from-vendr-to-umbraco-commerce/migrate-umbraco-commerce-checkout.md how-to-guides/migrate-from-vendr-to-umbraco-commerce/README: upgrading/migrate-from-vendr-to-umbraco-commerce/README.md key-concepts/events: key-concepts/events/README.md -getting-started/introduction: installation/requirements.md +getting-started/introduction: getting-started/requirements.md +installation/install: getting-started/install.md +installation/the-licensing-model: getting-started/the-licensing-model.md diff --git a/14/umbraco-commerce/README.md b/14/umbraco-commerce/README.md index 5d8f6940ef1..8fadff4c9c9 100644 --- a/14/umbraco-commerce/README.md +++ b/14/umbraco-commerce/README.md @@ -9,7 +9,7 @@ description: >- Umbraco Commerce is the official Umbraco e-commerce addon for your Umbraco CMS website. It can be used to set up small webshops, while it can also be implemented for big-scale e-commerce solutions spanning multiple countries. -
Install Umbraco CommerceFind all the information you need to get started using Umbraco Commerce with your Umbraco CMS implementation.requirements.mdcommerce-icon.png
How-to GuidesLooking to configure and implement something specific? Take a look through the How-to section where you might find a guide that fits your needs.overview.mdumbraco_free_way_01.png
Key ConceptsLooking to learn more about the different concepts and features of Umbraco Commerce? You can find detailed information about each of them in this section.overview.mdUmbraco_Brand_Guidelines_2020_28_Illustration blocks.png
+
Install Umbraco CommerceFind all the information you need to get started using Umbraco Commerce with your Umbraco CMS implementation.requirements.mdcommerce-icon.png
How-to GuidesLooking to configure and implement something specific? Take a look through the How-to section where you might find a guide that fits your needs.overview.mdumbraco_free_way_01.png
Key ConceptsLooking to learn more about the different concepts and features of Umbraco Commerce? You can find detailed information about each of them in this section.overview.mdUmbraco_Brand_Guidelines_2020_28_Illustration blocks.png
## Extend Umbraco Commerce diff --git a/14/umbraco-commerce/SUMMARY.md b/14/umbraco-commerce/SUMMARY.md index 55651df5067..c61f16c457e 100644 --- a/14/umbraco-commerce/SUMMARY.md +++ b/14/umbraco-commerce/SUMMARY.md @@ -10,11 +10,13 @@ * [Commerce Payment Providers](https://docs.umbraco.com/umbraco-commerce-payment-providers) * [Commerce Shipping Providers](https://docs.umbraco.com/umbraco-commerce-shipping-providers) -## Installation +## Getting Started -* [Requirements](installation/requirements.md) -* [Installing Umbraco Commerce](installation/install.md) -* [Licensing](installation/the-licensing-model.md) +* [Requirements](getting-started/requirements.md) +* [Installation](getting-started/install.md) +* [Licensing](getting-started/the-licensing-model.md) +* [Configuration](getting-started/umbraco-configuration.md) +* [User Interface](getting-started/user-interface.md) ## Upgrading @@ -24,11 +26,6 @@ * [Migrate Umbraco Commerce Checkout](upgrading/migrate-from-vendr-to-umbraco-commerce/migrate-umbraco-commerce-checkout.md) * [Migrate custom Payment Providers](upgrading/migrate-from-vendr-to-umbraco-commerce/migrate-custom-payment-providers.md) -## Getting Started - -* [Umbraco Configuration](getting-started/umbraco-configuration.md) -* [User Interface](getting-started/user-interface.md) - ## How-To Guides * [Overview](how-to-guides/overview.md) diff --git a/14/umbraco-commerce/installation/install.md b/14/umbraco-commerce/getting-started/install.md similarity index 96% rename from 14/umbraco-commerce/installation/install.md rename to 14/umbraco-commerce/getting-started/install.md index 97adc8b4a0f..104d073459b 100644 --- a/14/umbraco-commerce/installation/install.md +++ b/14/umbraco-commerce/getting-started/install.md @@ -9,7 +9,7 @@ In this article, you will learn how to install Umbraco Commerce into your Umbrac ## Prerequisites -For system requirements, see the [Requirements](requirements.md) article. +For system requirements, see the [Requirements](../getting-started/requirements.md) article. ## Umbraco Commerce Installation @@ -135,7 +135,7 @@ If you encounter an SQLite error after installing Umbraco Commerce, you may need ## Installing a License -For details on how to install a license, see the [Licensing](the-licensing-model.md) article. +For details on how to install a license, see the [Licensing](../getting-started/the-licensing-model.md) article. ## Using Umbraco Commerce diff --git a/14/umbraco-commerce/installation/requirements.md b/14/umbraco-commerce/getting-started/requirements.md similarity index 100% rename from 14/umbraco-commerce/installation/requirements.md rename to 14/umbraco-commerce/getting-started/requirements.md diff --git a/14/umbraco-commerce/installation/the-licensing-model.md b/14/umbraco-commerce/getting-started/the-licensing-model.md similarity index 100% rename from 14/umbraco-commerce/installation/the-licensing-model.md rename to 14/umbraco-commerce/getting-started/the-licensing-model.md From be08105e5590775ab4c504c4bf6161f2f6429f50 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Tue, 13 Aug 2024 10:01:12 +0200 Subject: [PATCH 09/10] Updated title to reflect Nav title --- 14/umbraco-commerce/getting-started/install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/14/umbraco-commerce/getting-started/install.md b/14/umbraco-commerce/getting-started/install.md index 104d073459b..3b9f1ef6947 100644 --- a/14/umbraco-commerce/getting-started/install.md +++ b/14/umbraco-commerce/getting-started/install.md @@ -3,7 +3,7 @@ description: >- Learn the steps needed in order to install Umbraco Commerce into your Umbraco CMS website. --- -# Installing Umbraco Commerce +# Installation In this article, you will learn how to install Umbraco Commerce into your Umbraco CMS implementation. From 4f08ee6f8acaf3f04a04b20d84b33065d730f849 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Tue, 13 Aug 2024 10:03:51 +0200 Subject: [PATCH 10/10] Some title fixes --- 14/umbraco-commerce/getting-started/install.md | 2 +- 14/umbraco-commerce/getting-started/umbraco-configuration.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/14/umbraco-commerce/getting-started/install.md b/14/umbraco-commerce/getting-started/install.md index 3b9f1ef6947..87675b8f70f 100644 --- a/14/umbraco-commerce/getting-started/install.md +++ b/14/umbraco-commerce/getting-started/install.md @@ -139,4 +139,4 @@ For details on how to install a license, see the [Licensing](../getting-started/ ## Using Umbraco Commerce -Once Umbraco Commerce is installed, you can find it in the Umbraco backoffice under the **Settings** and **Content** sections. To access the **Commerce** section, additional configuration is required. For more details, see the [Umbraco Configuration](../getting-started/umbraco-configuration.md) article. +Once Umbraco Commerce is installed, you can find it in the Umbraco backoffice under the **Settings** and **Content** sections. To access the **Commerce** section, additional configuration is required. For more details, see the [Configuration](../getting-started/umbraco-configuration.md) article. diff --git a/14/umbraco-commerce/getting-started/umbraco-configuration.md b/14/umbraco-commerce/getting-started/umbraco-configuration.md index 008029a1ac8..edd69d2948e 100644 --- a/14/umbraco-commerce/getting-started/umbraco-configuration.md +++ b/14/umbraco-commerce/getting-started/umbraco-configuration.md @@ -2,7 +2,7 @@ description: Configuring Umbraco for Umbraco Commerce. --- -# Umbraco Configuration +# Configuration Before you can start to use Umbraco Commerce, you need to configure Umbraco to allow access to the relevant sections. The Umbraco Commerce UI is split over three sections within the Umbraco backoffice: