Skip to content
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
5437344
myCustomRuleIdentifyer -> myCustomRuleIdentifier
liamlaverty Sep 1, 2025
c6952af
Update extension-manifest.md
liamlaverty Sep 1, 2025
d163ccc
Update README.md
liamlaverty Sep 1, 2025
8dee016
spelling: availabe -> available
liamlaverty Sep 1, 2025
9f9b88f
spelling: Worspace -> Workspace
liamlaverty Sep 1, 2025
9c7cd7d
spelling: instanciated -> instantiated
liamlaverty Sep 1, 2025
573bd27
metdata -> metadata
liamlaverty Sep 1, 2025
765fd01
spelling: prupose -> purpose
liamlaverty Sep 1, 2025
a905a79
spelling: ammending -> amending
liamlaverty Sep 1, 2025
4287ab3
spelling: posible -> possible
liamlaverty Sep 1, 2025
17bc94e
spelling: disassambles -> disassembles
liamlaverty Sep 1, 2025
07b0fb3
spellling: clearInternval -> clearInterval
liamlaverty Sep 1, 2025
1bc88eb
spelling: unregistration -> deregistration
liamlaverty Sep 1, 2025
3d22e0a
spelling: UmbElemenMixin -> UmbElementMixin
liamlaverty Sep 1, 2025
df2b1e1
spelling: functionaility -> functionality
liamlaverty Sep 1, 2025
38bf1c8
spelling: YourFileSystemImplementaion -> YourFileSystemImplementation
liamlaverty Sep 1, 2025
4552441
spelling: Tranfer -> Transfer
liamlaverty Sep 1, 2025
49921f3
spelling: Licences -> Licenses
liamlaverty Sep 1, 2025
a89a5b3
spelling: obselete -> obsolete
liamlaverty Sep 1, 2025
e61bfa6
spelling: individial -> individual
liamlaverty Sep 1, 2025
d5090c6
spelling: reusabale -> reusable
liamlaverty Sep 1, 2025
0677ec6
spelling: Cick -> Click
liamlaverty Sep 1, 2025
ba64af2
spelling: Dont -> Don't
liamlaverty Sep 1, 2025
92f250a
spelling: Umbrco -> Umbraco
liamlaverty Sep 1, 2025
70273c6
spelling: Recommeded -> Recommended
liamlaverty Sep 1, 2025
c60d699
spelling: ExecptionFilter -> ExceptionFilter
liamlaverty Sep 1, 2025
29e3107
spelling: virutal -> virtual
liamlaverty Sep 1, 2025
4a9fa6f
spelling: differnce -> difference
liamlaverty Sep 1, 2025
6a97fef
spelling: seperate -> separate
liamlaverty Sep 1, 2025
13b1fb3
spelling: conjuction -> conjunction
liamlaverty Sep 1, 2025
ea45b4b
spelling: corosponding -> corresponding
liamlaverty Sep 1, 2025
42c231d
spelling: disabked -> disabled
liamlaverty Sep 1, 2025
1f09d56
spelling: AccceptUnsafeModelsDirectory -> AcceptUnsafeModelsDirectory
liamlaverty Sep 1, 2025
58eec8b
spelling: diffent -> different
liamlaverty Sep 1, 2025
7126e36
spelling: hierachy -> hierarchy
liamlaverty Sep 1, 2025
d12b92c
spelling: backofffice -> backoffice
liamlaverty Sep 1, 2025
dd48b1b
spelling: currenty -> current
liamlaverty Sep 1, 2025
80c16be
spelling: refeshedContent -> refreshedContent
liamlaverty Sep 1, 2025
c824995
spelling: ICotnent -> IContent
liamlaverty Sep 1, 2025
f1379c6
spelling: hould -> should
liamlaverty Sep 1, 2025
8da00ed
Merge branch 'main' into sept-2025-spelling
liamlaverty Sep 1, 2025
2ab0cc1
Update 15/umbraco-cms/customizing/extending-overview/extension-types/…
liamlaverty Sep 1, 2025
e8bd8dd
Update 16/umbraco-cms/customizing/extending-overview/extension-types/…
liamlaverty Sep 1, 2025
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 10/umbraco-cms/extending/filesystemproviders/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ namespace UmbracoExamples.Composition
var path = settings.UmbracoCssPath;
var rootPath = hostingEnvironment.MapPathWebRoot(path);
var rootUrl = hostingEnvironment.ToAbsolute(path);
var fileSystem = new YourFileSystemImplementaion(ioHelper, hostingEnvironment, logger, rootPath, rootUrl);
var fileSystem = new YourFileSystemImplementation(ioHelper, hostingEnvironment, logger, rootPath, rootUrl);

systems.SetStylesheetFilesystem(fileSystem);
});
Expand Down
2 changes: 1 addition & 1 deletion 10/umbraco-cms/extending/health-check/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Umbraco comes with the following checks by default:
* **HTTPS Configuration (id: `EB66BB3B-1BCD-4314-9531-9DA2C1D6D9A7`)** - to determine if the current site is running on a secure connection
* **UseHttps check** - when the site is running on HTTPS, `Umbraco.Cms.Core.Configuration.Models.GlobalSettings.UseHttps` needs to be enabled to secure the backoffice. The setting can be found under `Umbraco:CMS:Global` in the `appsettings.json` file
* Category **Services**
* **SMTP Settings (id: `1B5D221B-CE99-4193-97CB-5F3261EC73DF`)** - checks that an Simple Mail Tranfer Protocol (SMTP) server is configured and is accepting requests for sending emails
* **SMTP Settings (id: `1B5D221B-CE99-4193-97CB-5F3261EC73DF`)** - checks that an Simple Mail Transfer Protocol (SMTP) server is configured and is accepting requests for sending emails

Each check returns a message indicating whether or not the issue in question has been found on the website installation. This could be an error that should be fixed, or a warning you should be aware of.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ When you have a package that contains many views you might consider building a d

## License files

Umbraco products store their licenses in `/umbraco/Licences`. It is recommended for third-party packages that require license files to also store their license files in this location.
Umbraco products store their licenses in `/umbraco/Licenses`. It is recommended for third-party packages that require license files to also store their license files in this location.

The default `.gitignore` for Umbraco templates will include any files in the `/Licenses` folder while ignoring most of the rest of the Umbraco folder.

Expand Down
2 changes: 1 addition & 1 deletion 10/umbraco-cms/extending/property-editors/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Convert the stored property data value to a useful object returned by the Publis

## [Property Actions](property-actions.md)

Use Property Actions to add additional functionaility to your custom property editors.
Use Property Actions to add additional functionality to your custom property editors.

## [Tracking References](tracking.md)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ To add the nightly feed using Rider:
2. Go to **View** > **Tool Windows** > **NuGet**.
3. Go to **Sources** tab.
4. Choose the `C:\Users\Úmbraco\AppData\Roaming\NuGet\NuGet.Config` to add the feed globally.
5. Cick the green `+` button in the **New Feed** field.
5. Click the green `+` button in the **New Feed** field.

![Open the new feed menu](images/Nightly/NuGet_NewFeed.jpg)

Expand Down
2 changes: 1 addition & 1 deletion 10/umbraco-cms/legacy-documentation/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Resources and links for older versions of Umbrco CMS.
description: Resources and links for older versions of Umbraco CMS.
---

# Legacy Documentation
Expand Down
4 changes: 2 additions & 2 deletions 10/umbraco-cms/reference/configuration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

# Configuration

In Umbraco 9+, we have moved away from the previous configuration using `.config` files, to instead using the .NET built-in configuration pattern. This means that there is no longer separate files for different configuration, the configuration is now primarily done using `IConfiguration` with diffent sources. E.g. The `appsettings.json` file.
In Umbraco 9+, we have moved away from the previous configuration using `.config` files, to instead using the .NET built-in configuration pattern. This means that there is no longer separate files for different configuration, the configuration is now primarily done using `IConfiguration` with different sources. E.g. The `appsettings.json` file.

Check warning on line 8 in 10/umbraco-cms/reference/configuration/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.Terms] Use 'for example' instead of 'E.g. ' for consistency. Raw Output: {"message": "[UmbracoDocs.Terms] Use 'for example' instead of 'E.g. ' for consistency.", "location": {"path": "10/umbraco-cms/reference/configuration/README.md", "range": {"start": {"line": 8, "column": 314}}}, "severity": "WARNING"}

For more in depth information on the configuration pattern see Microsofts [Configuration in ASP.NET Core](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-6.0) article.

Expand All @@ -27,7 +27,7 @@

### Using Environment Variables for Configuration

It is not feasible to have an entire json file as an environment variable, and the `:` doesn't work with environment variables on all platforms, so instead a double underscore is used to create the hierachy.
It is not feasible to have an entire json file as an environment variable, and the `:` doesn't work with environment variables on all platforms, so instead a double underscore is used to create the hierarchy.

Check warning on line 30 in 10/umbraco-cms/reference/configuration/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "10/umbraco-cms/reference/configuration/README.md", "range": {"start": {"line": 30, "column": 1}}}, "severity": "WARNING"}

As an example, if you want to set your unattended username, you would normally write it in the `appsettings.json` like so:

Expand Down
2 changes: 1 addition & 1 deletion 10/umbraco-cms/reference/configuration/contentsettings.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ From 10.4, `AllowedUploadFiles` & `DisallowedUploadFiles` is deprecated, they wi

## Root level settings

In the root level section, that is those without a seperate sub section like Imaging, you can configure:
In the root level section, that is those without a separate sub section like Imaging, you can configure:

### Allow Edit Invariant From Non-Default

Expand Down
2 changes: 1 addition & 1 deletion 10/umbraco-cms/reference/configuration/datatypes.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ Valid values:
- `"True"`
- Allows data types to be changed after creation. This can lead to data on content is not valid on the Data Type.
- `"False"`
- Disallow Data Type changes. (Recommeded value, unless you really know what you are doing)
- Disallow Data Type changes. (Recommended value, unless you really know what you are doing)
- `"FalseWithHelpText"`
- Disallow Data Type changes, but show the users a help text so they understand why.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: "Information on the exception filter settings section"

This section allows you to disable the `ModelBindingExceptionFilter`, this filter is only enable if the models builder mode is set to `InMemoryAuto`. This filter will return a redirect to the page being loaded after one second, if a `ModelsBindingException` or `InvalidCastException` occurs. The reason for this filter is that a page might be requested at the same time as the content type has been changed. If this occurs, the new model might not have been generated and loaded yet. This filter will take care of this.

By default this filter is enabled, but will be ignored if the mode is not `InMemoryAuto`. To manually disable the filter add the `"ExecptionFilter"` section to your config with the `"Disabled"` key set to `true` like so:
By default this filter is enabled, but will be ignored if the mode is not `InMemoryAuto`. To manually disable the filter add the `"ExceptionFilter"` section to your config with the `"Disabled"` key set to `true` like so:

```json
"Umbraco": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ namespace FilesystemProviders
}
```

This is much the same as when you register it within the wwwroot with a virutal folder. The only differnce is that now you provide an absolute root path and root URL to the physical filesystem.
This is much the same as when you register it within the wwwroot with a virtual folder. The only difference is that now you provide an absolute root path and root URL to the physical filesystem.

- `rootPath` is the full filesystem path where you want media files to be stored. It has to be rooted, must use directory separators (`\`) and must not end with a separator. For example, `Z:` or `C:\path\to\folder` or `\\servername\path`.
- `rootUrl` is the URL where the files will be accessible from. It must use URL separators (`/`) and must not end with a separator. It can either be a folder, like `/UmbracoMedia`, in which case it will considered as subfolder of the main domain (`example.com/UmbracoMedia`) or can be a fully qualified URL, with also domain name and protocol (for ex `http://media.example.com/media`).
Expand Down
6 changes: 3 additions & 3 deletions 10/umbraco-cms/reference/configuration/globalsettings.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,11 +121,11 @@

## Root level settings

In the root level section, that is those without a seperate sub section like SMTP, you can configure
In the root level section, that is those without a separate sub section like SMTP, you can configure

### Reserved urls

A comma-seperated list of files to be left alone by Umbraco, these files will be served, and the Umbraco request pipeline will not be triggered.
A comma-separated list of files to be left alone by Umbraco, these files will be served, and the Umbraco request pipeline will not be triggered.

Check warning on line 128 in 10/umbraco-cms/reference/configuration/globalsettings.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "10/umbraco-cms/reference/configuration/globalsettings.md", "range": {"start": {"line": 128, "column": 1}}}, "severity": "WARNING"}

### Reserved paths

Expand Down Expand Up @@ -177,7 +177,7 @@

This is not a setting that commonly needs to be configured.

If enabled Umbraco will try to automatically install the database when it's missing. This is primarily used in conjuction with unattended installs.
If enabled Umbraco will try to automatically install the database when it's missing. This is primarily used in conjunction with unattended installs.

### Disable election for single server

Expand Down
4 changes: 2 additions & 2 deletions 10/umbraco-cms/reference/configuration/healthchecks.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@

## Disabled checks

A list of `DisabledHealthCheckSettings` objects, each of these objects represents a disabled health check. Only the Id key needs to be present and have a value, corosponding to the GUID of the health check to disable.
A list of `DisabledHealthCheckSettings` objects, each of these objects represents a disabled health check. Only the Id key needs to be present and have a value, corresponding to the GUID of the health check to disable.

There is also a `DisabledOn` key representing the date the health check was disabked and a `DisabledBy` key containing the ID of the user that disabled the health check, however these values are currently not used.
There is also a `DisabledOn` key representing the date the health check was disabled and a `DisabledBy` key containing the ID of the user that disabled the health check, however these values are currently not used.

Check warning on line 53 in 10/umbraco-cms/reference/configuration/healthchecks.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "10/umbraco-cms/reference/configuration/healthchecks.md", "range": {"start": {"line": 53, "column": 1}}}, "severity": "WARNING"}

## Notification

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
Specifies how the models builder will generate models and when to generate them. The options are:

* `Nothing` - The modelsbuilder will not generate any models, this means that all views will use IPublishedContent, instead of strongly typed models.
* `InMemoryAuto` - Models will automatically be generated each time a content type change occurs, and will then be compiled, and loaded into memory dynamically. This means that the models are only availabe in views, however they will be available instantly.
* `InMemoryAuto` - Models will automatically be generated each time a content type change occurs, and will then be compiled, and loaded into memory dynamically. This means that the models are only available in views, however they will be available instantly.
* `SourceCodeManual` - Models will be generated as `.cs` files whenever a user clicks the "Generate models" button on the models builder dashboard - however, the models will not be compiled and loaded into memory dynamically. This means that models are available to edit within the project. The project needs to be recompiled and restarted for the new models, or model changes, to take effect.
* `SourceCodeAuto` - This mode behaves the same as `SourceCodeManual` with one difference, the generation of models happens automatically every time a content type change occurs.

Expand All @@ -49,7 +49,7 @@

## Models directory

Allows you to specify a custom directory for your generated models. By default this settings has to be a virtual directory, that is, it must start with `~/`, if needed `AccceptUnsafeModelsDirectory` can be set to true, to allow the path to be outside the website root, be aware though that this is a potential security risk.
Allows you to specify a custom directory for your generated models. By default this settings has to be a virtual directory, that is, it must start with `~/`, if needed `AcceptUnsafeModelsDirectory` can be set to true, to allow the path to be outside the website root, be aware though that this is a potential security risk.

Check warning on line 52 in 10/umbraco-cms/reference/configuration/modelsbuildersettings.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "10/umbraco-cms/reference/configuration/modelsbuildersettings.md", "range": {"start": {"line": 52, "column": 69}}}, "severity": "WARNING"}

{% hint style="info" %}
If you want to generate models outside the web project you can change the ModelsDirectory path. Suppose you have a data project called My.Website.Data the ModelsDirectory path should be:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ A config with all the values can be seen underneath. Since there is a lot of def

## Plugins

Allows you to specify what plugins should be enabled for the rich text editor as a comma seperated list of the plugin names.
Allows you to specify what plugins should be enabled for the rich text editor as a comma separated list of the plugin names.

## Valid elements

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,5 +76,5 @@ Will set the URL provider mode, options are:
Defines the Umbraco application URL that the server should reach itself. By default, Umbraco will guess that URL from the first request made to the server. Use this setting if the guess is not correct (because you are behind a load-balancer, for example). Format is: `http://www.mysite.com/`, ensure to contain the scheme (http/https) and complete hostname.

{% hint style="info" %}
Previously before v9, it was required to specify **backofffice** path as this was customizable (`/umbraco` by default). However, from v9+ this is no longer possible, so it's sufficient to use the URL that contains the scheme (http/https) and complete hostname.
Previously before v9, it was required to specify **backoffice** path as this was customizable (`/umbraco` by default). However, from v9+ this is no longer possible, so it's sufficient to use the URL that contains the scheme (http/https) and complete hostname.
{% endhint %}
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ namespace Doccers.Core.Components
// Check if they are already related
if (!_relationService.AreRelated(home.Id, entity.Id))
{
// If not then let us relate the currenty entity to home
// If not then let us relate the current entity to home
_relationService.Relate(home.Id, entity.Id, relationType);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public class ContentCacheRefresherExample : INotificationHandler<ContentCacheRef
}

// You can do stuff with the ID of the refreshed content, for instance getting it from the content service.
var refeshedContent = _contentService.GetById(payload.Id);
var refreshedContent = _contentService.GetById(payload.Id);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ In the Published notification you can similarly use the HasPublishedCulture and

```csharp
public bool HasPublishedCulture(IContent content, string culture);
public bool HasUnpublishedCulture(ICotnent content, string culture);
public bool HasUnpublishedCulture(IContent content, string culture);
```

#### IContent Helpers
Expand Down Expand Up @@ -222,7 +222,7 @@ Child scope will inherit the parent Scope's notification object which means if a

**Why would one want to suppress events?**

The main reason for ever doing this would be performance for bulk operations. The callers hould be aware that suppressing events will lead to an inconsistent content cache state (if notifications are suppressed for content or media services). This is because notifications are used by NuCache to populate the cmsContentNu table and populate the content caches. They are also used to populate the Examine indexes.
The main reason for ever doing this would be performance for bulk operations. The callers should be aware that suppressing events will lead to an inconsistent content cache state (if notifications are suppressed for content or media services). This is because notifications are used by NuCache to populate the cmsContentNu table and populate the content caches. They are also used to populate the Examine indexes.

So if you did suppress events, it will require you to rebuild the NuCache and examine data manually.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ Child scope will inherit the parent Scope's notification object which means if a

**Why would one want to suppress events?**

The main reason for ever doing this would be performance for bulk operations. The callers hould be aware that suppressing events will lead to an inconsistent content cache state (if notifications are suppressed for content or media services). This is because notifications are used by NuCache to populate the cmsContentNu table and populate the content caches. They are also used to populate the Examine indexes.
The main reason for ever doing this would be performance for bulk operations. The callers should be aware that suppressing events will lead to an inconsistent content cache state (if notifications are suppressed for content or media services). This is because notifications are used by NuCache to populate the cmsContentNu table and populate the content caches. They are also used to populate the Examine indexes.

So if you did suppress events, it will require you to rebuild the NuCache and examine data manually.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Child scope will inherit the parent Scope's notification object which means if a

**Why would one want to suppress events?**

The main reason for ever doing this would be performance for bulk operations. The callers hould be aware that suppressing events will lead to an inconsistent content cache state (if notifications are suppressed for content or media services). This is because notifications are used by NuCache to populate the cmsContentNu table and populate the content caches. They are also used to populate the Examine indexes.
The main reason for ever doing this would be performance for bulk operations. The callers should be aware that suppressing events will lead to an inconsistent content cache state (if notifications are suppressed for content or media services). This is because notifications are used by NuCache to populate the cmsContentNu table and populate the content caches. They are also used to populate the Examine indexes.

So if you did suppress events, it will require you to rebuild the NuCache and examine data manually.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@

### Default SiteDomainMapper

Umbraco ships with a default `SiteDomainMapper`. This has some useful functionality for grouping sets of domains together. With Umbraco Cloud, or another Umbraco development environment scenario, there maybe be multiple domains setup for a site 'live, 'staging', 'testing' or a seperate domain to access the backoffice. Each domain will be setup as a 'Culture and Hostname' inside Umbraco. By default editors will see the full list of possible Urls for each of their content items on each domain, which can be confusing. If the additional urls aren't present in Culture and Hostnames, then when testing the front-end of the site on a 'staging' url, will result in navigation links taking you to the registered domain!
Umbraco ships with a default `SiteDomainMapper`. This has some useful functionality for grouping sets of domains together. With Umbraco Cloud, or another Umbraco development environment scenario, there maybe be multiple domains setup for a site 'live, 'staging', 'testing' or a separate domain to access the backoffice. Each domain will be setup as a 'Culture and Hostname' inside Umbraco. By default editors will see the full list of possible Urls for each of their content items on each domain, which can be confusing. If the additional urls aren't present in Culture and Hostnames, then when testing the front-end of the site on a 'staging' url, will result in navigation links taking you to the registered domain!

Check warning on line 400 in 10/umbraco-cms/reference/routing/request-pipeline/outbound-pipeline.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.Names] Use 'URL' instead of 'url' for consistency. Raw Output: {"message": "[UmbracoDocs.Names] Use 'URL' instead of 'url' for consistency.", "location": {"path": "10/umbraco-cms/reference/routing/request-pipeline/outbound-pipeline.md", "range": {"start": {"line": 400, "column": 645}}}, "severity": "WARNING"}

Check warning on line 400 in 10/umbraco-cms/reference/routing/request-pipeline/outbound-pipeline.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "10/umbraco-cms/reference/routing/request-pipeline/outbound-pipeline.md", "range": {"start": {"line": 400, "column": 522}}}, "severity": "WARNING"}

Check warning on line 400 in 10/umbraco-cms/reference/routing/request-pipeline/outbound-pipeline.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "10/umbraco-cms/reference/routing/request-pipeline/outbound-pipeline.md", "range": {"start": {"line": 400, "column": 124}}}, "severity": "WARNING"}

![Culture and Hostnames multiple domains](images/culture-and-hostnames-v8.png)

Expand Down
Loading
Loading