From ba07234c9168381faf23d57bcf1e776878b7cb90 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Mon, 12 May 2025 12:10:00 +0200 Subject: [PATCH 1/2] Fix or remove broken links --- 13/umbraco-cms/.gitbook.yaml | 1 + .../extending/embedded-media-providers.md | 2 +- .../fundamentals/backoffice/variants.md | 2 +- .../code/subscribing-to-notifications.md | 4 +-- .../design/templates/razor-cheatsheet.md | 22 --------------- .../setup/server-setup/azure-web-apps.md | 2 +- .../load-balancing/azure-web-apps.md | 2 +- .../upgrading/version-specific/README.md | 28 ++++++++----------- .../version-specific/upgrade-to-umbraco-7.md | 9 +----- .../angular/directives/umbloadindicator.md | 1 - .../custom-property-editors-support.md | 2 +- .../published-content-request-preparation.md | 2 +- 13/umbraco-cms/reference/scheduling.md | 2 +- .../reference/security/ssl-https.md | 2 +- .../reference/templating/mvc/partial-views.md | 2 +- .../adding-language-variants.md | 2 +- ...ng-your-first-template-and-content-node.md | 2 +- .../creating-a-property-editor/README.md | 1 - .../tutorials/creating-an-xml-site-map.md | 6 ++-- 13/umbraco-cms/tutorials/overview.md | 4 --- .../lessons/4-help-and-community.md | 4 +-- 21 files changed, 32 insertions(+), 70 deletions(-) delete mode 100644 13/umbraco-cms/fundamentals/design/templates/razor-cheatsheet.md diff --git a/13/umbraco-cms/.gitbook.yaml b/13/umbraco-cms/.gitbook.yaml index 6ed3882e1e2..0fe56732c41 100644 --- a/13/umbraco-cms/.gitbook.yaml +++ b/13/umbraco-cms/.gitbook.yaml @@ -11,3 +11,4 @@ redirects: extending/packages/types-of-packages: extending/packages/README.md extending/property-editors/build-a-block-editor: fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/README.md tutorials/creating-and-distributing-a-package: extending/packages/creating-a-package.md + fundamentals/design/templates/razor-cheatsheet: fundamentals/design/templates/README.md diff --git a/13/umbraco-cms/extending/embedded-media-providers.md b/13/umbraco-cms/extending/embedded-media-providers.md index e5e55dc95ec..929738adbfc 100644 --- a/13/umbraco-cms/extending/embedded-media-providers.md +++ b/13/umbraco-cms/extending/embedded-media-providers.md @@ -131,7 +131,7 @@ If your third-party media provider lacks OEmbed support or requires custom HTML ### Custom Embed Provider Example -Azure Media Services [(https://azure.microsoft.com/en-gb/services/media-services/)](https://azure.microsoft.com/en-gb/services/media-services/) provide 'broadcast-quality' video streaming services. You can embed the Azure Media Player into your site to play a video [using an IFrame](https://ampdemo.azureedge.net/azuremediaplayer.html). +Azure Media Services [(https://azure.microsoft.com/en-gb/services/media-services/)](https://azure.microsoft.com/en-gb/services/media-services/) provide 'broadcast-quality' video streaming services. You can embed the Azure Media Player into your site to play a video using an IFrame. You can create a custom `EmbedProvider` to embed an IFrame video player in your content. This can be done by taking the Media asset URL and writing out the required markup. diff --git a/13/umbraco-cms/fundamentals/backoffice/variants.md b/13/umbraco-cms/fundamentals/backoffice/variants.md index 5b79fb45f24..c91c517a763 100644 --- a/13/umbraco-cms/fundamentals/backoffice/variants.md +++ b/13/umbraco-cms/fundamentals/backoffice/variants.md @@ -78,7 +78,7 @@ To read about how you render variant content in Templates, check out the [render Culture and hostnames must be added to your language sites before the content can be tested for variants: 1. Right-click the Home node and select **Culture and hostnames...**. -2. Add a specific URL per language and save. For eg: An English language variant with English (United States) as the language can be given a specific URL [_https://yourwebsite.com/en-us_](https://yourwebsite.com/en-us) and a Danish language variant can be given a specific URL [_https://yourwebsite.com/dk_](https://yourwebsite.com/dk). +2. Add a specific URL per language and save. For eg: An English language variant with English (United States) as the language can be given a specific URL `https://yourwebsite.com/en-us` and a Danish language variant can be given a specific URL `https://yourwebsite.com/dk`. The Info content app should now show specific URLs for your language variants. diff --git a/13/umbraco-cms/fundamentals/code/subscribing-to-notifications.md b/13/umbraco-cms/fundamentals/code/subscribing-to-notifications.md index f2fbfdc8d12..0efbedd873f 100644 --- a/13/umbraco-cms/fundamentals/code/subscribing-to-notifications.md +++ b/13/umbraco-cms/fundamentals/code/subscribing-to-notifications.md @@ -194,13 +194,13 @@ Learn more about registering dependencies in the [Dependency Injection](../../re 1. Access the Umbraco backoffice and publish a piece of content. 2. Check the log messages in the **Log Viewer** under the **Settings** section. - ![Log Viewer](images/log-viewer-v14.png) + ![Log Viewer](images/log-viewer.png) 3. Search **All Logs**. If everything is set up correctly you will see your custom log messages. -![Messages in Log](images/log-messages-v14.png) +![Messages in Log](images/log-messages.png) ## Additional Notes diff --git a/13/umbraco-cms/fundamentals/design/templates/razor-cheatsheet.md b/13/umbraco-cms/fundamentals/design/templates/razor-cheatsheet.md deleted file mode 100644 index 5eb3dd0c9e5..00000000000 --- a/13/umbraco-cms/fundamentals/design/templates/razor-cheatsheet.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -description: "All the code snippets you need to get a jump start on building templates with Razor in Umbraco CMS." ---- - -# Razor Cheatsheet - -The Razor Cheatsheet is a collection of common methods used for building templates and views in Umbraco CMS. - -

Umbraco 11 - Razor Cheatsheet

- -Get the Umbraco 11 Cheatsheet: [https://umbra.co/razorCheatsheet](https://umbra.co/razorCheatsheet) - -You can also find the [cheatsheet on GitHub](https://github.com/umbraco/UmbracoDocs/tree/RazorCheatSheet) where you can give feedback, contribute, or download the template used to _generate_ the sheet. - -Use the cheatsheet if you: - -* Use Models Builder on your project and -* Use Umbraco 11. - -{% hint style="info" %} -Most of the methods in the Umbraco 11 version of the cheatsheet will also work in Umbraco 10 and 9. -{% endhint %} diff --git a/13/umbraco-cms/fundamentals/setup/server-setup/azure-web-apps.md b/13/umbraco-cms/fundamentals/setup/server-setup/azure-web-apps.md index 6862f30bab9..44fffcddfaf 100644 --- a/13/umbraco-cms/fundamentals/setup/server-setup/azure-web-apps.md +++ b/13/umbraco-cms/fundamentals/setup/server-setup/azure-web-apps.md @@ -8,7 +8,7 @@ They have been called a few names in the past, many people still know Azure Web > App Service is a fully Managed Platform for professional developers that brings a rich set of capabilities to web, mobile and integration scenarios. Quickly create and deploy mission critical web Apps that scale with your business by using Azure App Service. -[You can read more about them here](https://azure.microsoft.com/en-us/documentation/articles/app-service-web-overview/) +[You can read more about them here](https://learn.microsoft.com/en-us/azure/app-service/) Umbraco will run on Azure Web Apps but there are some configuration options and specific Azure Web Apps environment limitations to be aware of. diff --git a/13/umbraco-cms/fundamentals/setup/server-setup/load-balancing/azure-web-apps.md b/13/umbraco-cms/fundamentals/setup/server-setup/load-balancing/azure-web-apps.md index 861b73339b3..718721d82c6 100644 --- a/13/umbraco-cms/fundamentals/setup/server-setup/load-balancing/azure-web-apps.md +++ b/13/umbraco-cms/fundamentals/setup/server-setup/load-balancing/azure-web-apps.md @@ -39,7 +39,7 @@ When an instance of Umbraco starts up it generates some 'temporary' files on dis } ``` -#### Host synchronization +### Host synchronization Umbraco runs within a [.NET Host](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-6.0). diff --git a/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md b/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md index 9d535958bb7..d10a2180ade 100644 --- a/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md +++ b/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/README.md @@ -972,8 +972,6 @@ Version 7.7.0 introduces User Groups, better user management, and security facil We are now by default using the e-mail address and not the username for the credentials. When trying to login to the backoffice you need to use the e-mail address as opposed to the username. If you do an upgrade from an older version and would like to keep using the username, change the `true` setting to **false**. -For a full list of breaking changes see: [the list on the issue tracker](https://issues.umbraco.org/issues/?q=\&project=U4\&tagValue=\&release=7.7.0\&issueType=\&search=search) - Version 7.7.2 no longer ships with the `CookComputing.XmlRpcV2` assembly. If you reference this assembly or have a package that requires this assembly, you need to copy it back into your website. This version also ships with far fewer client files that were only relevant for older versions of Umbraco (i.e. < 7.0.0). There might be some packages that were referencing these old client files. If you see missing image references you may need to contact the vendor of the package in question to update their references. @@ -1051,8 +1049,6 @@ Follow the [**upgrade guide for Umbraco 7**](minor-upgrades-for-umbraco-7.md) to 7.4.0 to 7.6.0 -Find a list of all the breaking changes below and [a list of the items is also available on the tracker](http://issues.umbraco.org/issues/U4?q=Due+in+version%3A+7.6.0+Backwards+compatible%3F%3A+No+) - The three most important things to note are: 1. In web.config do not change `useLegacyEncoding` to `false` if it is currently set to `true` - changing the password encoding will cause you not being able to log in any more. @@ -1063,35 +1059,35 @@ The three most important things to note are: **Dependencies** -**UrlRewriting.Net (**[**U4-9004**](https://issues.umbraco.org/issue/U4-9004)**)** +**UrlRewriting.Net** `UrlRewriting` was old, leaking memory, and slowing down website startup when dealing with more than a few rules. It's entirely replaced by the [IIS Url Rewrite](https://www.iis.net/downloads/microsoft/url-rewrite) extension. -**Json.Net (**[**U4-9499**](https://issues.umbraco.org/issue/U4-9499)**)** +**Json.Net** Json.Net has been updated to version 10.0.0 to benefit from improvements in features, fixes, and performances (see [release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)). This might be a breaking change for people relying on one of the changed functionality. -**Log4net (**[**U4-1324**](https://issues.umbraco.org/issue/U4-1324)**)** +**Log4net** Umbraco has used a custom build of an old (1.2.11) version of log4net that supported Medium Trust. However, Umbraco itself does not support Medium Trust anymore, and therefore log4net has been upgraded to the standard, latest build of log4net 2.0.8. -**ImageProcessor (**[**U4-8963**](https://issues.umbraco.org/issue/U4-8963)**)** +**ImageProcessor** An optional parameter has been added to the `GetCropUrl` method in order to support the background color parameter. This breaks the method signature and therefore might require a recompile of user's code. -**HtmlAgilityPack (**[**U4-9655**](https://issues.umbraco.org/issue/U4-9655)**)** +**HtmlAgilityPack** The HtmlAgilityPack has been upgraded to version 1.4.9.5. The Umbraco upgrade process should take care of setting up the binding redirects appropriately. **Core** -**Membership Provider Encoding (**[**U4-6566**](https://issues.umbraco.org/issue/U4-6566)**)** +**Membership Provider Encoding** The Membership Provider `useLegacyEncoding` setting is now `false` by default, as the legacy password encoding has weaknesses. This change only impacts new installs (no change for upgrades). -**Property Value Converters (**[**U4-7318**](https://issues.umbraco.org/issue/U4-7318)**)** +**Property Value Converters** A large amount of property value converters contributed by the community have been merged in and are now the default value converters. These converters change the object types returned by `GetPropertyValue` for more convenient types. @@ -1101,7 +1097,7 @@ This change only impacts new installs (no change for upgrades). The new property value converters are controlled by an `umbracoSettings.config` setting. In the section `settings/content`, setting `EnablePropertyValueConverters` needs to be present and `true` to activate them. -**Database (**[**U4-9201**](https://issues.umbraco.org/issue/U4-9201)**)** +**Database** Umbraco has been using a PetaPoco-managed `UmbracoDatabase` instance since version 7 came out. We realized that some of our legacy code still bypassed that mechanism and used parallel, out-of-band database connections, causing issues with transactions. @@ -1109,7 +1105,7 @@ The legacy code has been refactored to rely on the `UmbracoDatabase` instance. H More details are available on [issue 146](https://github.com/kipusoep/UrlTracker/issues/146) on the 301 Redirect Tracker GitHub issue tracker. -**Scopes (**[**U4-9406**](https://issues.umbraco.org/issue/U4-9406)**)** +**Scopes** Version 7.6 introduces the notion of _scopes_, which allow for wrapping multiple service-level operations in one single transaction. The scopes API is partially public. Scopes are not meant for public use at this stage and we need a few more releases to ensure that the APIs are stable. @@ -1117,13 +1113,13 @@ Scopes _should not_ change how Umbraco functions. Introducing scopes means that some public APIs signatures are changing. Most of these changes target internal and/or non-breaking APIs (as per our [guidelines](https://our.umbraco.com/Documentation/Development-Guidelines/breaking-changes)). This should therefore have no impact on sites but may break unit tests. -**Property Editors storing UDI instead of ID (**[**U4-9310**](https://issues.umbraco.org/issue/U4-9310)**)** +**Property Editors storing UDI instead of ID** The property editors for pickers for content, media, members, and related links have been updated to store UDI instead of the node ID. Pickers in sites being upgraded have been marked as obsolete but will continue to work as they always did. New sites will have the obsolete pickers filtered out from the list of available property editors, but they can be enabled by a configuration flag. -**Rich Text Editor (RTE) Images attributes (**[**U4-6228**](https://issues.umbraco.org/issue/U4-6228)**,** [**U4-6595**](http://issues.umbraco.org/issue/U4-6595)**)** +**Rich Text Editor (RTE) Images attributes** For a long time, we had a `rel` attribute on an `` tag when inserted into the RTE. This is invalid HTML markup. We worked around this by stripping this attribute using a Property Editor Value converter. Some developers relied on this attribute so we didn't change it to a "data-id" attribute which would have been valid. In 7.6 we are not storing integer IDs in these attributes. Instead of storing UDI values so with this change we no longer use `rel` or `data-id` and instead there will be a "data-udi" attribute. This change should affect only a small amount of people that were previously relying on the values from the "rel" attribute. @@ -1197,7 +1193,7 @@ For manual upgrades: * Copy the new folder `~/App_Plugins/ModelsBuilder` into the site * Do not forget to merge `~/Config/trees.config` and `~/Config/Dashboard.config` - they contain new and updated entries that are required to be there * If you forget `trees.config` you will either not be able to browse the Developer section or you will be logged out immediately when trying to go to the developer section -* You may experience an error saying `Invalid object name 'umbracoUser'` - this can be fixed by [clearing your cookies on localhost](http://issues.umbraco.org/issue/U4-8031) +* You may experience an error saying `Invalid object name 'umbracoUser'` - this can be fixed by clearing your cookies on localhost Follow the [**upgrade guide for Umbraco 7**](minor-upgrades-for-umbraco-7.md) to complete the upgrade. diff --git a/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-to-umbraco-7.md b/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-to-umbraco-7.md index 01ba69a520a..9877b8940eb 100644 --- a/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-to-umbraco-7.md +++ b/13/umbraco-cms/fundamentals/setup/upgrading/version-specific/upgrade-to-umbraco-7.md @@ -42,7 +42,6 @@ You should re-generate the XML cache. This can be done by following the prompts It is recommended that you use a Diff tool to compare the configuration file changes with your own current configuration files. * `/web.config` updates - * Details are listed here: [https://issues.umbraco.org/issue/U4-2900](https://issues.umbraco.org/issue/U4-2900) * You will need to compare the new Umbraco 7 `web.config` with your current `web.config`. Here is a quick reference of what needs to change: * Remove the `section name="BaseRestExtensions"` section * Remove the `section name="FileSystemProviders"` section @@ -65,11 +64,10 @@ It is recommended that you use a Diff tool to compare the configuration file cha * New `macroscripts/web.config` * `config/umbracoSettings.config` * Umbraco is now shipped with minimal settings but the [full settings](https://our.umbraco.com/documentation/Using-Umbraco/Config-files/umbracoSettings/) are still available - * `umbracoSettings` is now a true ASP.NET configuration section [https://issues.umbraco.org/issue/U4-58](https://issues.umbraco.org/issue/U4-58) + * `umbracoSettings` is now a true ASP.NET configuration section * Remove the `EnableCanvasEditing` element * Remove the `webservices` element * Removed `xsltExtensions.config` - * [https://issues.umbraco.org/issue/U4-2742](https://issues.umbraco.org/issue/U4-2742) * `/config/applications.config` and `/config/trees.config` have some icon paths and names updated. You need to merge the new changes into your existing config files. * `/config/tinyMceConfig.config` * The `inlinepopups` is compatible and supported in Umbraco 7. You need to remove these elements: `plugin loadOnFrontend="true"`, `inlinepopups/plugin`; @@ -136,11 +134,6 @@ Custom legacy parameters can be mapped to new Umbraco 7 parameter editor aliases All database changes will be taken care of during the upgrade installation process. -For database change details see (including all child tasks): - -* [Issue U4-2886](https://issues.umbraco.org/issue/U4-2886) -* [Issue U4-3015](https://issues.umbraco.org/issue/U4-3015) - ## Tags See above for the database updates made for better tag support. diff --git a/13/umbraco-cms/reference/angular/directives/umbloadindicator.md b/13/umbraco-cms/reference/angular/directives/umbloadindicator.md index 3d7a025aa57..41689bac5a8 100644 --- a/13/umbraco-cms/reference/angular/directives/umbloadindicator.md +++ b/13/umbraco-cms/reference/angular/directives/umbloadindicator.md @@ -7,7 +7,6 @@ Many web sites and web applications use a form of load indicator to indicate a b Umbraco internally does this via the `` directive, which you can also use in your own views for the backoffice. * [`` in the **API documentation**](https://apidocs.umbraco.com/v12/ui/#/api/umbraco.directives.directive:umbLoadIndicator) -* [`` source code on **GitHub**](https://github.com/umbraco/Umbraco-CMS/blob/v8/contrib/src/Umbraco.Web.UI.Client/src/common/directives/components/umbloadindicator.directive.js) The directive doesn't have any parameters on it's own. Since you most likely only wish to show the load indicator during certain states of your code, you can control this either through `ng-if` or `ng-show`. diff --git a/13/umbraco-cms/reference/content-delivery-api/custom-property-editors-support.md b/13/umbraco-cms/reference/content-delivery-api/custom-property-editors-support.md index 92699e917c2..23e9cad3416 100644 --- a/13/umbraco-cms/reference/content-delivery-api/custom-property-editors-support.md +++ b/13/umbraco-cms/reference/content-delivery-api/custom-property-editors-support.md @@ -117,7 +117,7 @@ public class DeliveryApiItemDetails The Implementation of the `IDeliveryApiPropertyValueConverter` interface can be found in the following methods: * `GetDeliveryApiPropertyCacheLevel()`: This method specifies the cache level used for our property representation in the Delivery API response. -* `GetDeliveryApiPropertyCacheLevelForExpansion()`: This method specifies the cache level used for our property representation in the Delivery API response when [property expansion](./property-expansion-and-limiting) is applied. +* `GetDeliveryApiPropertyCacheLevelForExpansion()`: This method specifies the cache level used for our property representation in the Delivery API response when [property expansion](property-expansion-and-limiting.md) is applied. * `GetDeliveryApiPropertyValueType()`: This method defines the value type of the custom property output for the Delivery API response. * `ConvertIntermediateToDeliveryApiObject()`: This method converts the value from the property editor to the desired custom object in a headless context. diff --git a/13/umbraco-cms/reference/routing/request-pipeline/published-content-request-preparation.md b/13/umbraco-cms/reference/routing/request-pipeline/published-content-request-preparation.md index 44d53d6c1aa..71d07206c12 100644 --- a/13/umbraco-cms/reference/routing/request-pipeline/published-content-request-preparation.md +++ b/13/umbraco-cms/reference/routing/request-pipeline/published-content-request-preparation.md @@ -50,7 +50,7 @@ The FindDomain method looks for a domain matching the request Uri * Sets published content request’s domain. * If a domain was found. * Sets published content request’s culture accordingly. - * Computes domain Uri based upon the current request ("domain.com" for "http://domain.com" or "https://domain.com"). + * Computes domain Uri based upon the current request ("domain.com" for `http://domain.com` or `https://domain.com`). * Else. * Sets published content request’s culture by default (first language, else system). diff --git a/13/umbraco-cms/reference/scheduling.md b/13/umbraco-cms/reference/scheduling.md index 4d213a1fd64..6465c5fadcc 100644 --- a/13/umbraco-cms/reference/scheduling.md +++ b/13/umbraco-cms/reference/scheduling.md @@ -257,7 +257,7 @@ Learn more about how to register dependencies in the [Dependency Injection](./us - Server Roles - see above for more discussion about Server roles -- MainDom - The `MainDom` lock ensures that only one instance of Umbraco is running at a time on a given machine. This ensures the integrity of certain files used by Umbraco. See [Host Synchronization](../fundamentals/setup/server-setup/load-balancing/azure-web-apps#host-synchronization) for more details. +- MainDom - The `MainDom` lock ensures that only one instance of Umbraco is running at a time on a given machine. This ensures the integrity of certain files used by Umbraco. See [Host Synchronization](../fundamentals/setup/server-setup/load-balancing/azure-web-apps.md#host-synchronization) for more details. - Runtime State - On a fresh install or when waiting for a database upgrade, Umbraco may be fully up and running yet. diff --git a/13/umbraco-cms/reference/security/ssl-https.md b/13/umbraco-cms/reference/security/ssl-https.md index 5dcc2143eb7..47c33411d80 100644 --- a/13/umbraco-cms/reference/security/ssl-https.md +++ b/13/umbraco-cms/reference/security/ssl-https.md @@ -66,7 +66,7 @@ app.UseHttpsRedirection(); Once you enable HTTPS for your site you should redirect all requests to your site to HTTPS. This can be done with an IIS rewrite rule. The IIS rewrite module needs to be installed for this to work, most hosting providers will have that enabled by default. -In your `web.config` find or add the `` section and put the following rule in there. This rule will redirect all requests for the site http://mysite.com URL to the secure https://mysite.com URL and respond with a permanent redirect status. +In your `web.config` find or add the `` section and put the following rule in there. This rule will redirect all requests for the site `http://mysite.com` URL to the secure `https://mysite.com` URL and respond with a permanent redirect status. ```xml diff --git a/13/umbraco-cms/reference/templating/mvc/partial-views.md b/13/umbraco-cms/reference/templating/mvc/partial-views.md index f4cf43bb8fc..005bcff440e 100644 --- a/13/umbraco-cms/reference/templating/mvc/partial-views.md +++ b/13/umbraco-cms/reference/templating/mvc/partial-views.md @@ -8,7 +8,7 @@ Please note, this is documentation relating to the use of native MVC partial vie ## Overview -Using Partial Views in Umbraco is exactly the same as using Partial Views in a normal MVC project. There is detailed documentation on the Internet about [creating and using MVC partial views](https://www.asp.net/mvc/videos/mvc-2/how-do-i/how-do-i-work-with-data-in-aspnet-mvc-partial-views) +Using Partial Views in Umbraco is exactly the same as using Partial Views in a normal MVC project. Partial views allow you to reuse components between your views (templates). diff --git a/13/umbraco-cms/tutorials/creating-a-basic-website/adding-language-variants.md b/13/umbraco-cms/tutorials/creating-a-basic-website/adding-language-variants.md index 4ff74cd3a8f..ea4aeb10d41 100644 --- a/13/umbraco-cms/tutorials/creating-a-basic-website/adding-language-variants.md +++ b/13/umbraco-cms/tutorials/creating-a-basic-website/adding-language-variants.md @@ -84,4 +84,4 @@ To view the language variant on the browser, follow these steps: ![Viewing the Language Variant Link](images/viewing-langvariant-browser-v11.png) 5. Click on the link to view the new language varied node in the browser. -6. Alternatively, you can add the domain name to your localhost in the browser. For example: [http://localhost:xxxx/dk/](http:/localhost:xxxx/dk/) +6. Alternatively, you can add the domain name to your localhost in the browser. For example: `http://localhost:xxxx/dk/` diff --git a/13/umbraco-cms/tutorials/creating-a-basic-website/creating-your-first-template-and-content-node.md b/13/umbraco-cms/tutorials/creating-a-basic-website/creating-your-first-template-and-content-node.md index a2f3fff28f6..e79eac904ac 100644 --- a/13/umbraco-cms/tutorials/creating-a-basic-website/creating-your-first-template-and-content-node.md +++ b/13/umbraco-cms/tutorials/creating-a-basic-website/creating-your-first-template-and-content-node.md @@ -41,7 +41,7 @@ To add a content node: | Footer Text | Copyright Widgets Ltd 2019 | 5. Click **Save and Publish**. The content tree will reload with the homepage node. -Refresh your webpage in your browser [http://localhost:xxxx](http:/localhost:xxxx/). To access your webpage: +Refresh your webpage in your browser `http://localhost:xxxx`. To access your webpage: 1. Select **Info** in the **Homepage** content node. 2. Click on the window pop-up symbol under the **Links** section. diff --git a/13/umbraco-cms/tutorials/creating-a-property-editor/README.md b/13/umbraco-cms/tutorials/creating-a-property-editor/README.md index f9b1210c4cf..e1a67c6096a 100644 --- a/13/umbraco-cms/tutorials/creating-a-property-editor/README.md +++ b/13/umbraco-cms/tutorials/creating-a-property-editor/README.md @@ -19,7 +19,6 @@ This tutorial covers how to use AngularJS with Umbraco, so it does not cover Ang * [Egghead.io](https://egghead.io/courses/angularjs-fundamentals) * [Angularjs.org/tutorial](https://docs.angularjs.org/tutorial) -* [Pluralsight](https://www.pluralsight.com/paths/angular-js) ## The End Result diff --git a/13/umbraco-cms/tutorials/creating-an-xml-site-map.md b/13/umbraco-cms/tutorials/creating-an-xml-site-map.md index 59ff6a7375f..974aa32ffe2 100644 --- a/13/umbraco-cms/tutorials/creating-an-xml-site-map.md +++ b/13/umbraco-cms/tutorials/creating-an-xml-site-map.md @@ -50,7 +50,7 @@ Throughout this tutorial, we will: In this first step of the tutorial, we will be creating a new Document Type for our sitemap page. -![View of the properties defined on the finished XmlSiteMap Document Type](../../../10/umbraco-cms/tutorials/images/v8/create-sitemap-doctype.png) +![View of the properties defined on the finished XmlSiteMap Document Type](images/v8/create-sitemap-doctype.png) 1. Navigate to the **Settings** section in the Umbraco backoffice. 2. Create a new **Document Type with Template** under the Document Types folder. @@ -63,7 +63,7 @@ In this first step of the tutorial, we will be creating a new Document Type for 9. Create a new XmlSiteMap page as a subpage to the root/home page in your Content tree. 10. Use the alias to add the XmlSiteMap Document Type to the "Excluded Document Type" list: `xmlSiteMap`. -![View of the Content Tree after a Sitemap page has been added.](../../../10/umbraco-cms/tutorials/images/v8/create-sitemap-page.png) +![View of the Content Tree after a Sitemap page has been added.](images/v8/create-sitemap-page.png) ## 2. Create an XmlSiteMapSettings Composition @@ -81,7 +81,7 @@ Create and configure the Document Type Composition by following these steps: 3. Name the new Document Type **XmlSiteMapSettings**. 4. Add the following properties: a. Slider named **Search Engine Relative Priority** (searchEngineRelativePriority): MinValue: 0.1, MaxValue: 1, Step Increments 0.1, InitialValue 0.5. b. Dropdown named **Search Engine Change Frequency** (searchEngineChangeFrequency): Always, hourly, daily, weekly, monthly, yearly, and never. c. Toggle named **Hide From Xml Sitemap** (hideFromXmlSitemap). -
+
## 3. Add composition to all relevant Document Types diff --git a/13/umbraco-cms/tutorials/overview.md b/13/umbraco-cms/tutorials/overview.md index 01f2041431c..c64de732c6a 100644 --- a/13/umbraco-cms/tutorials/overview.md +++ b/13/umbraco-cms/tutorials/overview.md @@ -30,10 +30,6 @@ Umbraco CMS ships with a large amount of functionality, all of which you can ext ## Other tutorials -{% content-ref url="creating-and-distributing-a-package.md" %} -[creating-and-distributing-a-package.md](creating-and-distributing-a-package.md) -{% endcontent-ref %} - {% content-ref url="editors-manual/" %} [editors-manual](editors-manual/) {% endcontent-ref %} diff --git a/13/umbraco-cms/tutorials/starter-kit/lessons/4-help-and-community.md b/13/umbraco-cms/tutorials/starter-kit/lessons/4-help-and-community.md index 99aec9a9a60..85b0ea03f18 100644 --- a/13/umbraco-cms/tutorials/starter-kit/lessons/4-help-and-community.md +++ b/13/umbraco-cms/tutorials/starter-kit/lessons/4-help-and-community.md @@ -10,8 +10,8 @@ Maybe you have even signed up to attend a local meetup! ## Steps -1. Register on [our.umbraco.com](https://our.umbraco.com/member/Signup). -2. Search the [forum](https://our.umbraco.com/forum/), or browse the extensive [documentation](https://docs.umbraco.com/umbraco-cms/) if you prefer more structured learning. +1. Register on the [Umbraco Discord Forum](https://forum.umbraco.com/). +2. Search the [forum](https://forum.umbraco.com/), or browse the extensive [documentation](https://docs.umbraco.com/umbraco-cms/) if you prefer more structured learning. 3. Please create a forum post if you don't know the best way to proceed. There are experienced community members online 24/7 so hopefully you won't have to wait long for a reply. We are always very excited to help out newcomers! 4. Check the home page of Our for any upcoming meetups near you. If there aren't any, keep an eye out for any online community hangouts happening soon. 5. Finally, do think about [contributing yourself](https://docs.umbraco.com/welcome/contribute/getting-started). Even if it's pointing out something in the documentation that could be made clearer, we'd love to hear from you. From 8fa82c023f02b7bc78eda36888b63f6750cad356 Mon Sep 17 00:00:00 2001 From: sofietoft Date: Mon, 12 May 2025 12:55:38 +0200 Subject: [PATCH 2/2] Remove more broken links --- .../reference/configuration/index-10.0.0.md | 258 ------------------ .../services/externalloginservice.md | 2 - .../creating-a-custom-dashboard/README.md | 1 - 3 files changed, 261 deletions(-) delete mode 100644 13/umbraco-cms/reference/configuration/index-10.0.0.md diff --git a/13/umbraco-cms/reference/configuration/index-10.0.0.md b/13/umbraco-cms/reference/configuration/index-10.0.0.md deleted file mode 100644 index 809469a5a26..00000000000 --- a/13/umbraco-cms/reference/configuration/index-10.0.0.md +++ /dev/null @@ -1,258 +0,0 @@ ---- -description: "Information on the content settings section" ---- - -# Content Settings - -Content settings contains a handful of settings related to the content in the CMS. It includes settings such as allowed upload files, image settings, and much more. All the values in the content settings has default values, so all configuration is optional. - -The following snippet will give an overview of the keys and values in the global section including the default values: - -```json -"Umbraco": { - "CMS": { - "Content": { - "ContentVersionCleanupPolicy": { - "EnableCleanup": false, - "KeepAllVersionsNewerThanDays": 7, - "KeepLatestVersionPerDayForDays": 90 - }, - "AllowedUploadFiles": [], - "DisableDeleteWhenReferenced": false, - "DisableUnpublishWhenReferenced": false, - "DisallowedUploadFiles": ["ashx", "aspx", "ascx", "config", "cshtml", "vbhtml", "asmx", "air", "axd", "xamlx"], - "Error404Collection": [], - "HideBackOfficeLogo": false, - "Imaging": { - "ImageFileTypes": ["jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif"], - "AutoFillImageProperties": [ - { - "Alias": "umbracoFile", - "ExtensionFieldAlias": "umbracoExtension", - "HeightFieldAlias": "umbracoHeight", - "LengthFieldAlias": "umbracoBytes", - "WidthFieldAlias": "umbracoWidth" - } - ] - }, - "LoginBackgroundImage": "assets/img/login.jpg", - "LoginLogoImage": "assets/img/application/umbraco_logo_white.svg", - "MacroErrors": "Inline", - "Notifications": { - "DisableHtmlEmail": false, - "Email": null - }, - "PreviewBadge": "My HTML here]]>", - "ResolveUrlsFromTextString": false, - "ShowDeprecatedPropertyEditors": false - } - } -} -``` - -:::note -From 10.4, `AllowedUploadFiles` & `DisallowedUploadFiles` is deprecated, they will still work, but will be removed in a future version! -You can use `AllowedUploadedFileExtensions` & `DisallowedUploadedFileExtensions` instead! -::: - -## Root level settings - -In the root level section, that is those without a seperate sub section like Imaging, you can configure: - -### Allowed upload files - -If greater control is required than available from the above, this setting can be used to store a list of file extensions. If provided, only files with these extensions can be uploaded via the backoffice. - -### Disable delete when referenced - -This setting allows you to specify whether a user can delete content or media items that depend on other items. This also includes any descendants that have dependencies. Setting this to **true** will remove or disable the *Delete* button. - -### Disable unpublish when referenced - -This setting allows you to specify whether or not users can unpublish content items that depend on other items or have descendants that have dependencies. Setting this to **true** will disable the *Unpublish* button. - -### Disallowed upload files - -This setting consists of a list of file extensions that editors shouldn't be allowed to upload via the backoffice. - -### Error 404 collection - -In case of a 404 error (page not found) Umbraco can return a default page instead. This is set here. Notice you can also set a different error page, based on the current culture so a 404 page can be returned in the correct language. - -```json -"Error404Collection": [ - { - "ContentId": 1, - "Culture": "en-US" - } -] -``` - -The above example shows what you need to do if you only have a single site that needs to show a custom 404 page. You specify which node that should be shown when a request for a non-existing page is being made. You can specify the node in three ways: - -1. Enter the nodes **id** (`"ContentId": 1`) -2. Enter the node's **GUID** (`"ContentKey": "4f96ffdd-b969-46a8-949e-7935c41fabc0"`) -3. Enter the XPath to find the node (`"ContentXPath": "/root/Home//TextPage[@urlName = 'error404'"`) - -{% hint style="info" %} - -* Ids are usually local to the specific solution (so won't point to the same node in two different environments if you're using Umbraco Cloud). -* GUIDs are universal and will point to the same node on different environments, provided the content was created in one environment and deployed to the other(s). -* When using XPath, there is no "context" (like, you can't find the node based on "currentPage") so needs to be a global absolute path. -{% endhint %} - -{% hint style="warning" %} - -The current implementation of XPath is suboptimal, marked as obsolete, and scheduled for removal in Umbraco 14. The replacement for ContentXPath is [IContentLastChanceFinder](../../implementation/custom-routing/README.md#last-chance-icontentfinder). - -{% endhint %} - -If you have multiple sites, with different cultures, setup in your tree then you will need to setup the errors section like below: - -```json -"Error404Collection": [ - { - "ContentId": 1, - "Culture": "default" - }, - { - "ContentId": 200, - "Culture": "en-US" - }] -``` - -If you have more than two sites and forget to add a 404 page and a culture, the default page will act as fallback. Same happens if you for some reason forget to define a hostname on a site. - -### Hide backoffice logo - -This setting can be used to hide the Umbraco logo in backoffice. - -### Login background image - -You can specify your own background image for the login screen here. The image will automatically get an overlay to match backoffice colors. This path is relative to the `wwwroot/umbraco` path. The default location is: `wwwroot/umbraco/assets/img/installer.jpg`. - -### Login logo image - -You can specify your own image for the small logo in the top left corner of the login screen. This path is relative to the `wwwroot/umbraco` path. The default location is: `wwwroot/umbraco/assets/img/application/umbraco_logo_white.svg`. - -### Macro errors - -This setting allows you to specify how errors in macros should be handled. - -Options: - -* Inline - Default Umbraco behavior, show an inline error within the macro but allow the page to continue rendering. -* Silent - Silently suppress the error and do not display the offending macro. -* Throw - Throw an exception. -* Content - Silently suppress the error, and display custom content reported in the error event args. - -### Preview badge - -This allows you to customize the preview badge being shown when you're previewing a node. - -```json -"PreviewBadge": "In Preview Mode - click to end]]>" -``` - -### Resolve urls from text string - -This setting is used when you're running Umbraco in virtual directories. Setting this to true can increase render time for pages with a large number of links. However, this is required if Umbraco is running in a virtual directory. - -### Show deprecated property editors - -This setting is used for controlling whether or not the Data Types marked as obsolete should be visible when creating new Data Types. - -By default this is set to `false`. To make the obsolete data types visible in the dropdown change the value to `true`. - -## ContentVersionCleanupPolicy - -The global settings for the scheduled job which cleans historic content versions. These settings can be overridden per Document Type. - -Current draft and published versions will never be removed, nor will individual content versions which have been marked as "preventCleanup". - -See [Content Version Cleanup](../../../Fundamentals/Data/Content-Version-Cleanup/index.md) for more details on overriding configuration and preventing cleanup of specific versions. - -```json -"ContentVersionCleanupPolicy": { - "EnableCleanup": false, - "KeepAllVersionsNewerThanDays": 7, - "KeepLatestVersionPerDayForDays": 90 -} -``` - -If you don't wish to retain content versions except for the current ones, you can set both of the "keep" settings values to 0. After doing this, the next time the scheduled job runs (hourly) all non-current versions (except those marked "prevent cleanup") will be removed. - -### EnableCleanup - -When `true` a scheduled job will delete historic content versions that are not kept according to the policy every hour. - -When `false`, the scheduled job will never delete any content versions regardless of overridden settings for a Document Type. - -This defaults to `false` when not set in the configuration which will be the case for those upgrading from v9.0.0. However, the dotnet new template will supply an appsettings.json with the value set to true for all sites starting from Umbraco 9.1.0. - -### KeepAllVersionsNewerThanDays - -All versions that fall in this period will be kept. - -### KeepLatestVersionPerDayForDays - -For content versions that fall in this period, the most recent version for each day is kept. All previous versions for that day are removed unless marked as preventCleanup. - -This variable is independent of `KeepAllVersionsNewerThanDays`, if both were set to the same value `KeepLatestVersionPerDayForDays` would never apply as `KeepAllVersionsNewerThanDays` is considered first. - -## Imaging - -This section is used for managing how Umbraco handles images, allowed attributes and, which properties of an image that should be automatically updated on upload. - -```json -"Imaging": { - "ImageFileTypes": ["jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif"], - "AutoFillImageProperties": { - "Alias": "umbracoFile", - "WidthFieldAlias": "umbracoWidth", - "HeightFieldAlias": "umbracoHeight", - "LengthFieldAlias": "umbracoBytes", - "ExtensionFieldAlias": "umbracoExtension" - } -} -``` - -Let's break it down. - -### ImageFileTypes - -This is a separated list of accepted image formats - -### AutoFillImageProperties - -You can define what properties should be automatically updated when an image is being uploaded. This means that if you decide to rename the default **umbracoWidth** and **umbracoHeight** properties the values in **`"WidthFieldAlias"`** and **`"HeightFieldAlias"`** need to be updated. This needs to happen in order to automatically populate the values when the image is being uploaded. - -### Custom media document - -If you need to create a custom Media Type to handle images you need to add another object using the custom Media Type alias. Like below. Keep in mind that the width and height attributes have also been changed in this example. - -```json -"Imaging": { - "ImageFileTypes": ["jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif"], - "AutoFillImageProperties": [ - { - "Alias": "umbracoFile", - "WidthFieldAlias": "umbracoWidth", - "HeightFieldAlias": "umbracoHeight", - "LengthFieldAlias": "umbracoBytes", - "ExtensionFieldAlias": "umbracoExtension" - }, - { - "Alias": "customImage", - "WidthFieldAlias": "width", - "HeightFieldAlias": "height", - "LengthFieldAlias": "umbracoBytes", - "ExtensionFieldAlias": "umbracoExtension" - } - ] -} -``` - -## Notifications - -Umbraco can send out email notifications, set the sender email address for the notifications emails here. To set the SMTP server used to send the emails, edit the standard Simple Mail Transfer Protocol (SMTP) section in the global section, see [global settings](../GlobalSettings/) for more information. diff --git a/13/umbraco-cms/reference/management/services/externalloginservice.md b/13/umbraco-cms/reference/management/services/externalloginservice.md index c757aac919c..41c5406aade 100644 --- a/13/umbraco-cms/reference/management/services/externalloginservice.md +++ b/13/umbraco-cms/reference/management/services/externalloginservice.md @@ -2,8 +2,6 @@ The ExternalLoginService is used to store the external login info and can be replaced with your own implementation. -[Browse the API documentation for IEntityService interface](https://apidocs.umbraco.com/v13/csharp/api/Umbraco.Cms.Core.Services.IExternalLoginService.html). - * **Namespace:** `Umbraco.Cms.Core.Services` * **Assembly:** `Umbraco.Core.dll` diff --git a/13/umbraco-cms/tutorials/creating-a-custom-dashboard/README.md b/13/umbraco-cms/tutorials/creating-a-custom-dashboard/README.md index 60e3cd23368..9a69ad36801 100644 --- a/13/umbraco-cms/tutorials/creating-a-custom-dashboard/README.md +++ b/13/umbraco-cms/tutorials/creating-a-custom-dashboard/README.md @@ -22,7 +22,6 @@ This tutorial uses AngularJS with Umbraco, so it does not cover AngularJS itself * [Egghead.io](https://egghead.io/courses/angularjs-fundamentals) * [AngularJS.org/tutorial](https://docs.angularjs.org/tutorial) -* [Pluralsight](https://www.pluralsight.com/paths/angular-js) There are a lot of parallels with Creating a Property Editor. The tutorial [Creating a Property Editor Tutorial](../creating-a-property-editor/) is worth a read too.