From b86a04e767b05cfc8da51d9c983616c85bc6c807 Mon Sep 17 00:00:00 2001 From: Esha Noronha Date: Fri, 12 Dec 2025 10:30:58 +0100 Subject: [PATCH 1/3] Updated old references to v17 --- .../extension-types/global-context.md | 2 +- .../extension-types/tree.md | 10 +- .../foundation/fetching-data/fetch-api.md | 6 +- .../foundation/fetching-data/http-client.md | 2 +- .../foundation/fetching-data/try-execute.md | 4 +- .../customizing/foundation/localization.md | 4 +- .../composition/property-editor-ui.md | 2 +- 17/umbraco-cms/customizing/ui-library.md | 2 +- 17/umbraco-cms/customizing/umbraco-package.md | 2 +- .../utilities/modals/confirm-dialog.md | 2 +- .../extending/embedded-media-providers.md | 4 +- .../extending/health-check/README.md | 2 +- .../fundamentals/backoffice/login.md | 2 +- .../checkbox-list.md | 2 +- .../color-picker.md | 2 +- .../content-picker.md | 2 +- .../date-time.md | 2 +- .../decimal.md | 2 +- .../document-picker.md | 2 +- .../dropdown/README.md | 2 +- .../email-address.md | 2 +- .../eye-dropper-color-picker.md | 2 +- .../file-upload.md | 2 +- .../image-cropper.md | 2 +- .../label.md | 2 +- .../markdown-editor.md | 2 +- .../media-picker-3.md | 2 +- .../member-group-picker.md | 2 +- .../member-picker.md | 2 +- .../multi-url-picker.md | 2 +- .../multiple-textbox.md | 2 +- .../numeric.md | 2 +- .../radiobutton-list.md | 2 +- .../rich-text-editor/README.md | 2 +- .../slider.md | 2 +- .../textarea.md | 2 +- .../textbox.md | 2 +- .../true-false.md | 2 +- .../user-picker.md | 2 +- .../data/creating-media/README.md | 2 +- .../fundamentals/data/data-types/README.md | 2 +- .../data/defining-content/README.md | 4 +- .../fundamentals/data/dictionary-items.md | 4 +- 17/umbraco-cms/fundamentals/data/members.md | 6 +- .../implementation/data-persistence.md | 2 +- .../default-routing/inbound-pipeline.md | 2 +- .../implementation/integration-testing.md | 2 +- 17/umbraco-cms/implementation/unit-testing.md | 2 +- 17/umbraco-cms/reference/management/README.md | 4 +- .../management/using-services/README.md | 2 +- .../using-services/consentservice.md | 2 +- .../using-services/localizationservice.md | 2 +- .../reference/notifications/README.md | 210 +++++++++--------- .../reference/querying/imembermanager.md | 2 +- .../reference/querying/udi-identifiers.md | 4 +- ...backofficeusermanager-and-notifications.md | 2 +- 17/umbraco-cms/tutorials/migrating-macros.md | 4 +- .../reference/go-behind-the-scenes.md | 2 +- .../import-with-migrations.md | 2 +- .../editor/creating-a-form/form-settings.md | 2 +- .../images/multi-page-forms.png | Bin 0 -> 26003 bytes 61 files changed, 180 insertions(+), 180 deletions(-) create mode 100644 17/umbraco-forms/editor/creating-a-form/images/multi-page-forms.png diff --git a/17/umbraco-cms/customizing/extending-overview/extension-types/global-context.md b/17/umbraco-cms/customizing/extending-overview/extension-types/global-context.md index 411df630dba..0bddb3821b4 100644 --- a/17/umbraco-cms/customizing/extending-overview/extension-types/global-context.md +++ b/17/umbraco-cms/customizing/extending-overview/extension-types/global-context.md @@ -20,7 +20,7 @@ Prefer other context types such as [Workspace Contexts](workspaces/workspace-con Global Context extensions are registered using a `umbraco-package.json` manifest file. **Key fields:** -- `type`: Must be `"globalContext"`, see: [ManifestGlobalContext](https://apidocs.umbraco.com/v16/ui-api/interfaces/packages_core_extension-registry.ManifestGlobalContext.html) +- `type`: Must be `"globalContext"`, see: [ManifestGlobalContext](https://apidocs.umbraco.com/v17/ui-api/interfaces/packages_core_extension-registry.ManifestGlobalContext.html) - `alias`: A unique identifier for the context - `name`: A human-readable name - `api`: The path to the compiled JavaScript file diff --git a/17/umbraco-cms/customizing/extending-overview/extension-types/tree.md b/17/umbraco-cms/customizing/extending-overview/extension-types/tree.md index f4b813dc8b1..ee516bddf68 100644 --- a/17/umbraco-cms/customizing/extending-overview/extension-types/tree.md +++ b/17/umbraco-cms/customizing/extending-overview/extension-types/tree.md @@ -39,7 +39,7 @@ To render a tree in the Backoffice, you can use the `` element. You ne ### Render a Custom Tree Item -The `` element will render the tree items based on the registered tree item alias. The tree will be rendered using the [](https://apidocs.umbraco.com/v16/ui-api/classes/packages_core_tree.UmbDefaultTreeItemElement.html) element by default. If you want to render a custom tree item, you need to register a tree item manifest. This manifest can then show a custom element for the tree item. +The `` element will render the tree items based on the registered tree item alias. The tree will be rendered using the [](https://apidocs.umbraco.com/v17/ui-api/classes/packages_core_tree.UmbDefaultTreeItemElement.html) element by default. If you want to render a custom tree item, you need to register a tree item manifest. This manifest can then show a custom element for the tree item. #### **The Tree Item Manifest** @@ -57,7 +57,7 @@ The `` element will render the tree items based on the registered tr #### The Tree Item Element -To create a custom tree item, you need to create a custom element. This element can optionally extend the [UmbTreeItemElementBase](https://apidocs.umbraco.com/v16/ui-api/classes/packages_core_tree.UmbTreeItemElementBase.html) class. However, it can also be used as a standalone element if you prefer to implement the tree item logic yourself. +To create a custom tree item, you need to create a custom element. This element can optionally extend the [UmbTreeItemElementBase](https://apidocs.umbraco.com/v17/ui-api/classes/packages_core_tree.UmbTreeItemElementBase.html) class. However, it can also be used as a standalone element if you prefer to implement the tree item logic yourself. This example creates a custom tree item that extends the base class. The base class provides the necessary context and functionality for the tree item. @@ -84,7 +84,7 @@ export default MyTreeItemElement; #### The Tree Item Model -To define the data model for your tree item, you can create a model that extends the [UmbTreeItemModel](https://apidocs.umbraco.com/v16/ui-api/interfaces/packages_core_tree.UmbTreeItemModel.html). This model will be used to provide the data for your custom tree item. +To define the data model for your tree item, you can create a model that extends the [UmbTreeItemModel](https://apidocs.umbraco.com/v17/ui-api/interfaces/packages_core_tree.UmbTreeItemModel.html). This model will be used to provide the data for your custom tree item. {% code title="my-tree-item.model.ts" %} ```typescript @@ -112,7 +112,7 @@ To add data to the tree, you need to create a repository that will provide the d #### Implementing the repository -The repository needs to be able to fetch data for the tree. You can implement the repository as a class that extends the [UmbTreeRepositoryBase](https://apidocs.umbraco.com/v16/ui-api/classes/packages_core_tree.UmbTreeRepositoryBase.html) class. This class provides the necessary methods to fetch data for the tree. +The repository needs to be able to fetch data for the tree. You can implement the repository as a class that extends the [UmbTreeRepositoryBase](https://apidocs.umbraco.com/v17/ui-api/classes/packages_core_tree.UmbTreeRepositoryBase.html) class. This class provides the necessary methods to fetch data for the tree. {% code title="my-repository.ts" %} ```typescript @@ -130,7 +130,7 @@ export class MyRepository extends UmbTreeRepositoryBase { #### Implementing the data source -The data source is responsible for fetching the data for the tree. You can implement the data source as a class that implements the [UmbTreeDataSource](https://apidocs.umbraco.com/v16/ui-api/interfaces/packages_core_tree.UmbTreeDataSource.html) interface. +The data source is responsible for fetching the data for the tree. You can implement the data source as a class that implements the [UmbTreeDataSource](https://apidocs.umbraco.com/v17/ui-api/interfaces/packages_core_tree.UmbTreeDataSource.html) interface. {% code title="my-tree-data-source.ts" %} ```typescript diff --git a/17/umbraco-cms/customizing/foundation/fetching-data/fetch-api.md b/17/umbraco-cms/customizing/foundation/fetching-data/fetch-api.md index 211c5fab17d..a81a129064b 100644 --- a/17/umbraco-cms/customizing/foundation/fetching-data/fetch-api.md +++ b/17/umbraco-cms/customizing/foundation/fetching-data/fetch-api.md @@ -113,13 +113,13 @@ You can read more about this concept in the [API Users](../../../fundamentals/da The Fetch API can also be used to make requests to the Management API using a Backoffice token. This is useful for making requests from custom components that are running in the Backoffice. The concept is similar to the API Users, but the Backoffice token represents the current user in the Backoffice. You will share the access policies of the current user, so you can use the token to make requests on behalf of the current user. -To use the Backoffice access token, you will have to consume the **UMB\_AUTH\_CONTEXT** context. This context is only available in the Backoffice and includes tools to hook on to the authentication process. You can use the [getOpenApiConfiguration](https://apidocs.umbraco.com/v16/ui-api/classes/packages_core_auth.UmbAuthContext.html#getopenapiconfiguration) method to get a configuration object that includes a few useful properties: +To use the Backoffice access token, you will have to consume the **UMB_AUTH_CONTEXT** context. This context is only available in the Backoffice and includes tools to hook on to the authentication process. You can use the [getOpenApiConfiguration](https://apidocs.umbraco.com/v17/ui-api/classes/packages_core_auth.UmbAuthContext.html#getopenapiconfiguration) method to get a configuration object that includes a few useful properties: * `base`: The base URL of the Management API. * `credentials`: The credentials to use for the request. * `token()`: A function that returns the current access token. -Read more about this in the [UmbOpenApiConfiguration](https://apidocs.umbraco.com/v16/ui-api/interfaces/packages_core_auth.UmbOpenApiConfiguration.html) interface. +Read more about this in the [UmbOpenApiConfiguration](https://apidocs.umbraco.com/v17/ui-api/interfaces/packages_core_auth.UmbOpenApiConfiguration.html) interface. It is rather tiresome to manually add the token to each request. Therefore, you can wrap the Fetch API in a custom function that automatically adds the token to the request headers. This way, you can use the Fetch API without worrying about adding the token manually: @@ -154,7 +154,7 @@ The above example illustrates the process of making a request to the Management ## Executing the request -Regardless of method, you can execute the fetch requests through Umbraco's [tryExecute](https://apidocs.umbraco.com/v16/ui-api/classes/packages_core_auth.UmbAuthContext.html#tryexecute) function. This function will handle any errors that occur during the request and will automatically refresh the token if it is expired. If the session is expired, the function will also make sure the user logs in again. +Regardless of method, you can execute the fetch requests through Umbraco's [tryExecute](https://apidocs.umbraco.com/v17/ui-api/classes/packages_core_auth.UmbAuthContext.html#tryexecute) function. This function will handle any errors that occur during the request and will automatically refresh the token if it is expired. If the session is expired, the function will also make sure the user logs in again. **Example:** diff --git a/17/umbraco-cms/customizing/foundation/fetching-data/http-client.md b/17/umbraco-cms/customizing/foundation/fetching-data/http-client.md index 502d4adaa78..f2289cdd2ad 100644 --- a/17/umbraco-cms/customizing/foundation/fetching-data/http-client.md +++ b/17/umbraco-cms/customizing/foundation/fetching-data/http-client.md @@ -49,6 +49,6 @@ Read more about generating your own client here: ## Further reading * [@hey-api/openapi-ts](https://heyapi.dev/openapi-ts/get-started) -* [@umbraco-cms/backoffice/http-client](https://apidocs.umbraco.com/v16/ui-api/modules/packages_core_http-client.html) +* [@umbraco-cms/backoffice/http-client](https://apidocs.umbraco.com/v17/ui-api/modules/packages_core_http-client.html) * [Using the Fetch API](fetch-api.md) * [Creating a Backoffice Entry Point](../../extending-overview/extension-types/backoffice-entry-point.md) diff --git a/17/umbraco-cms/customizing/foundation/fetching-data/try-execute.md b/17/umbraco-cms/customizing/foundation/fetching-data/try-execute.md index ee4f3bd3238..e0f16a777a7 100644 --- a/17/umbraco-cms/customizing/foundation/fetching-data/try-execute.md +++ b/17/umbraco-cms/customizing/foundation/fetching-data/try-execute.md @@ -7,7 +7,7 @@ description:: Learn how to execute requests in the Backoffice. Requests can be made using the Fetch API or the Umbraco HTTP client. The Backoffice also provides a `tryExecute` function that you can use to execute requests. This function handles any errors that occur during the request and automatically refreshes the token if it has expired. If the session has expired, it prompts the user to log in again. {% hint style="info" %} -You can read the technical documentation for the `tryExecute` function in the [UI API Documentation](https://apidocs.umbraco.com/v16/ui-api/functions/packages_core_resources.tryExecute.html) class. +You can read the technical documentation for the `tryExecute` function in the [UI API Documentation](https://apidocs.umbraco.com/v17/ui-api/functions/packages_core_resources.tryExecute.html) class. {% endhint %} ## Using the Umbraco HTTP Client @@ -29,7 +29,7 @@ if (error) { } ``` -The `tryExecute` function takes the context of the current class or element as the first argument and the request as the second argument. Therefore, the above example can be used in any class or element that extends from either the [UmbController](https://apidocs.umbraco.com/v16/ui-api/interfaces/libs_controller-api.UmbController.html) or [UmbLitElement](https://apidocs.umbraco.com/v16/ui-api/classes/packages_core_lit-element.UmbLitElement.html) classes. +The `tryExecute` function takes the context of the current class or element as the first argument and the request as the second argument. Therefore, the above example can be used in any class or element that extends from either the [UmbController](https://apidocs.umbraco.com/v17/ui-api/interfaces/libs_controller-api.UmbController.html) or [UmbLitElement](https://apidocs.umbraco.com/v17/ui-api/classes/packages_core_lit-element.UmbLitElement.html) classes. {% hint style="info" %} The above example requires a host element illustrated by the use of `this`. This is typically a custom element that extends the `UmbLitElement` class. diff --git a/17/umbraco-cms/customizing/foundation/localization.md b/17/umbraco-cms/customizing/foundation/localization.md index 8a202be75a1..a21e0a4a84d 100644 --- a/17/umbraco-cms/customizing/foundation/localization.md +++ b/17/umbraco-cms/customizing/foundation/localization.md @@ -41,7 +41,7 @@ The following example shows how you can display localized text with the `umb-loc ``` {% hint style="info" %} -You can have a look and try out the element in the [UI API Documentation](https://apidocs.umbraco.com/v15/ui/?path=/docs/api-localization-umblocalizeelement--docs). +You can have a look and try out the element in the [UI API Documentation](https://apidocs.umbraco.com/v17/ui/?path=/docs/guides-localization-umblocalizeelement--docs). {% endhint %} ### **Localize Controller** @@ -106,7 +106,7 @@ export default { ``` {% hint style="info" %} -You can try out the arguments feature in the [UI API Documentation](https://apidocs.umbraco.com/v15/ui/?path=/story/api-localization-umblocalizeelement--with-arguments). +You can try out the arguments feature in the [UI API Documentation](https://apidocs.umbraco.com/v17/ui/?path=/story/guides-localization-umblocalizeelement--with-arguments). {% endhint %} **Using the Localize Element** diff --git a/17/umbraco-cms/customizing/property-editors/composition/property-editor-ui.md b/17/umbraco-cms/customizing/property-editors/composition/property-editor-ui.md index b0b3c5c6624..57b5e4ec568 100644 --- a/17/umbraco-cms/customizing/property-editors/composition/property-editor-ui.md +++ b/17/umbraco-cms/customizing/property-editors/composition/property-editor-ui.md @@ -91,7 +91,7 @@ interface UmbPropertyEditorUiElement extends HTMLElement { {% hint style="info" %} The `UmbPropertyEditorUiElement` interface ensures that your Element has the necessary properties and methods to be used as a Property Editor UI Element. -See the [UI API documentation](https://apidocs.umbraco.com/v15/ui-api/interfaces/packages_core_property-editor.UmbPropertyEditorUiElement.html) for more information. +See the [UI API documentation](https://apidocs.umbraco.com/v17/ui-api/interfaces/packages_core_property-editor.UmbPropertyEditorUiElement.html) for more information. {% endhint %} **Example with LitElement** diff --git a/17/umbraco-cms/customizing/ui-library.md b/17/umbraco-cms/customizing/ui-library.md index d05d80065b6..4d8c1da173d 100644 --- a/17/umbraco-cms/customizing/ui-library.md +++ b/17/umbraco-cms/customizing/ui-library.md @@ -18,7 +18,7 @@ With Umbraco 14 the Umbraco backoffice has been rebuilt using Web Components and With the UI API, you get a set of collections related to modules export, interfaces, and hierarchy. This includes code examples and much more that you can use to extend the backoffice. -
Backoffice UI LibrarySee, test, and get a feel for the familiar backoffice components built using the new UI components.https://apidocs.umbraco.com/v15/ui/Documentations Icons_Umbraco_CMS_Fundamentals_Backoffice (1).png
Backoffice UI APIFind reference documentation about all types and contexts in the Backoffice.https://apidocs.umbraco.com/v15/ui-api/Documentations Icons_Umbraco_CMS_Fundamentals_Code.png
+
Backoffice UI LibrarySee, test, and get a feel for the familiar backoffice components built using the new UI components.https://apidocs.umbraco.com/v17/ui/Documentations Icons_Umbraco_CMS_Fundamentals_Backoffice (1).png
Backoffice UI APIFind reference documentation about all types and contexts in the Backoffice.https://apidocs.umbraco.com/v17/ui-api/Documentations Icons_Umbraco_CMS_Fundamentals_Code.png
## UI Library Storybook diff --git a/17/umbraco-cms/customizing/umbraco-package.md b/17/umbraco-cms/customizing/umbraco-package.md index c19fe820ed2..0df33a56b9b 100644 --- a/17/umbraco-cms/customizing/umbraco-package.md +++ b/17/umbraco-cms/customizing/umbraco-package.md @@ -155,7 +155,7 @@ You may need to restart the application, if you add a new file or modify an exis If the runtime mode is `Production`, the manifests are cached for 30 days or until the application is restarted to improve performance. In other runtime modes, the cache is cleared every 10 seconds. {% hint style="info" %} -You can implement the interface [IPackageManifestReader](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Infrastructure.Manifest.IPackageManifestReader.html) to provide your own package manifest reader. This can be useful if you want to load package manifests from a different location or source. +You can implement the interface [IPackageManifestReader](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Infrastructure.Manifest.IPackageManifestReader.html) to provide your own package manifest reader. This can be useful if you want to load package manifests from a different location or source. {% endhint %} ## Razor Class Library diff --git a/17/umbraco-cms/customizing/utilities/modals/confirm-dialog.md b/17/umbraco-cms/customizing/utilities/modals/confirm-dialog.md index 4dace47ab63..8617f403ce1 100644 --- a/17/umbraco-cms/customizing/utilities/modals/confirm-dialog.md +++ b/17/umbraco-cms/customizing/utilities/modals/confirm-dialog.md @@ -16,7 +16,7 @@ Extension authors can customize the dialog with configuration options such as he - `confirmLabel` - (Optional) The label of the confirmation button. - `cancelLabel` - (Optional) The label of the cancel button. -To see all properties of the `UMB_CONFIRM_MODAL` token, see the [API reference](https://apidocs.umbraco.com/v16/ui-api/interfaces/packages_core_modal.UmbConfirmModalData.html). +To see all properties of the `UMB_CONFIRM_MODAL` token, see the [API reference](https://apidocs.umbraco.com/v17/ui-api/interfaces/packages_core_modal.UmbConfirmModalData.html). The `onSubmit` method returns a promise that resolves when the user confirms the dialog, and rejects when the user cancels the dialog. diff --git a/17/umbraco-cms/extending/embedded-media-providers.md b/17/umbraco-cms/extending/embedded-media-providers.md index 53467794093..e6a83baf278 100644 --- a/17/umbraco-cms/extending/embedded-media-providers.md +++ b/17/umbraco-cms/extending/embedded-media-providers.md @@ -36,11 +36,11 @@ The list of available default Embed Providers in an Umbraco install is as follow * Hulu * Giphy -You can see the details of these, and any recent editions in the C# developer reference for [Umbraco.Core.Media.EmbedProviders](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.html). +You can see the details of these, and any recent editions in the C# developer reference for [Umbraco.Core.Media.EmbedProviders](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.html). ## Configuring a new provider -Create a new provider by creating a C# class that implements the `IEmbedProvider` interface. Umbraco provides a convenient `OEmbedProviderBase` class as a starting point. You can read more about this class in the [Api documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.OEmbedProviderBase.html?q=OEmbedProviderBase). +Create a new provider by creating a C# class that implements the `IEmbedProvider` interface. Umbraco provides a convenient `OEmbedProviderBase` class as a starting point. You can read more about this class in the [Api documentation](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.OEmbedProviderBase.html?q=OEmbedProviderBase). ### Adding a new OEmbed Provider Example diff --git a/17/umbraco-cms/extending/health-check/README.md b/17/umbraco-cms/extending/health-check/README.md index 10a319a2086..7509667dcd7 100644 --- a/17/umbraco-cms/extending/health-check/README.md +++ b/17/umbraco-cms/extending/health-check/README.md @@ -6,7 +6,7 @@ description: "Health Checks are used to determine the state of your Umbraco proj The Settings section of the Umbraco backoffice holds a dashboard named "Health Check". It is a handy list of checks to see if your Umbraco installation is configured according to best practices. It's possible to add your custom-built health checks. -For inspiration when building your checks you can look at the checks we've [built into Umbraco](https://github.com/umbraco/Umbraco-CMS/tree/v10/dev/src/Umbraco.Core/HealthChecks/Checks), as well as our [guides](guides/). Some examples will follow in this document. +For inspiration when building your checks you can look at the checks we've [built into Umbraco](https://github.com/umbraco/Umbraco-CMS/tree/v16/dev/src/Umbraco.Core/HealthChecks/Checks), as well as our [guides](guides/). Some examples will follow in this document. ## Built-in checks diff --git a/17/umbraco-cms/fundamentals/backoffice/login.md b/17/umbraco-cms/fundamentals/backoffice/login.md index 6df54f09c6d..f2465c0b6fc 100644 --- a/17/umbraco-cms/fundamentals/backoffice/login.md +++ b/17/umbraco-cms/fundamentals/backoffice/login.md @@ -210,7 +210,7 @@ The following CSS properties are available for customization: | `--umb-login-curves-color` | The color of the curves | `#f5c1bc` | | `--umb-login-curves-display` | The display of the curves | `inline` | -The CSS custom properties may change in future versions of Umbraco. You can always find the latest values in the [login layout element](https://github.com/umbraco/Umbraco-CMS/blob/v14/dev/src/Umbraco.Web.UI.Login/src/components/layouts/auth-layout.element.ts) in the Umbraco CMS GitHub repository. +The CSS custom properties may change in future versions of Umbraco. You can always find the latest values in the [login layout element](https://github.com/umbraco/Umbraco-CMS/blob/v16/dev/src/Umbraco.Web.UI.Login/src/components/layouts/auth-layout.element.ts) in the Umbraco CMS GitHub repository. ## The Time Out Screen diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md index 5e32545e176..e068ea89284 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md @@ -60,7 +60,7 @@ You can use dictionary items to translate the options in a Checkbox List propert ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md index 0b35f354d8a..eca6aaf1a78 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md @@ -55,7 +55,7 @@ It is possible to add a label to use with the color. ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md index 4548605ef3e..3ba52797312 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md @@ -227,7 +227,7 @@ When opening the picker on the `Umbraco anno MMXXIII` node, it will now show the ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update the value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update the value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md index 728c7d63144..330561b46c9 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md @@ -40,7 +40,7 @@ The setting involves defining the format. The default date format in the Umbraco ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md index 419f4ce1b5d..71d115bb98c 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md @@ -36,7 +36,7 @@ If the value of **Step Size** is not set then all decimal values between 8 and 1 ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md index c26e2d285a7..950c47620e6 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md @@ -52,7 +52,7 @@ The change was made as the word **Content** in the backoffice acts as an umbrell ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md index 1af4e0133c2..22a9aec4e02 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md @@ -87,7 +87,7 @@ You can use dictionary items to translate the options in a Dropdown property edi ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md index 8d38e8b1914..41f33402b2b 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md @@ -45,7 +45,7 @@ The Email Address Property Editor does not come with any further configuration. ## Add value programmatically -See the example below to learn how a value can be added or changed programmatically to an Email-address property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to learn how a value can be added or changed programmatically to an Email-address property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md index a4f7f872a99..54e84c47ddf 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md @@ -44,7 +44,7 @@ The Eye Dropper Color picker allows you to choose a color from the full color sp ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md index d2326b66fb2..2269f264530 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md @@ -52,7 +52,7 @@ Example: `"/media/o01axaqu/guidelines-on-remote-working.pdf"` ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of this property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) and the [Media Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MediaService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of this property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) and the [Media Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.MediaService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md index 4fd8d1c43b8..2e9a824ed4d 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md @@ -116,7 +116,7 @@ Set the `htmlEncode` to false so that the URL is not HTML encoded ## Add values programmatically -To update a content property value you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +To update a content property value you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). The following sample demonstrates how to add or change the value of an Image Cropper property programmatically. The sample creates an API controller with an action, which must be invoked via a POST request to the URL written above the action. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md index 806225acb13..4f7d1282de2 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md @@ -47,7 +47,7 @@ There is also a Value Type: Long string if you need to set a long string value f ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md index c78b8014603..38277bfc1e2 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md @@ -63,7 +63,7 @@ There are three settings available for manipulating the **Markdown editor** prop ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md index 11d4e6d3b09..d3371f2cfdd 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md @@ -161,7 +161,7 @@ You can retrieve globally defined crops explicitly by using `GetCropUrl` on the ### Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). The following sample will update a single image in a Media Picker. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md index 5646194f78a..654b51d0eaf 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md @@ -39,7 +39,7 @@ The Member Group Picker opens a panel to pick one or more member groups from the ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md index 5cc6ed6a80d..1e7dfe52777 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md @@ -44,7 +44,7 @@ The member picker opens a panel to pick a specific member from the member sectio ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md index c6fb3bc778d..8bbe122df79 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md @@ -85,7 +85,7 @@ And here is the case of `Maximum number of items` set to `1`: ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md index 2d14d4c6733..5f689b3a645 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md @@ -52,7 +52,7 @@ The Repeatable textstrings property editor enables a content editor to make a li ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md index 2f2998956dd..9395b0aac4e 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md @@ -72,7 +72,7 @@ You can also render the output by casting it to a string, which means you will n ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md index 74a9cd3b0cb..52936feede6 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md @@ -46,7 +46,7 @@ You can use dictionary items to translate the values of a Radiobutton List prope ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md index 8ebe1f2458a..0bf41ceb32b 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md @@ -65,7 +65,7 @@ Customize the appearance of the Rich Text Editor with custom CSS properties. ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md index 6c138746b70..47577eb8d60 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md @@ -59,7 +59,7 @@ There are two flavors of the slider. One with a single value picker. One with a ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md index dadc400bba0..d194539c764 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md @@ -47,7 +47,7 @@ Textarea is an HTML textarea control for multiple lines of text. It can be confi ## Add value programmatically -See the example below to learn how a value can be added or changed programmatically to a Textarea property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to learn how a value can be added or changed programmatically to a Textarea property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md index 0af80adee3d..a3afcb0e8f7 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md @@ -55,7 +55,7 @@ Textbox is an HTML input control for text. It can be configured to have a fixed ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md index 90e5c57399a..448d98b0b94 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md @@ -46,7 +46,7 @@ It is also possible to define a label, that will be displayed next to the checkb ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md index c3d732efee6..0207fdfeb3c 100644 --- a/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md +++ b/17/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md @@ -60,7 +60,7 @@ Getting the Value of the property will return the user ID - properties of the Us ## Add values programmatically -See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). +See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html). {% hint style="info" %} The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments. diff --git a/17/umbraco-cms/fundamentals/data/creating-media/README.md b/17/umbraco-cms/fundamentals/data/creating-media/README.md index 247afda9095..5c561eb6767 100644 --- a/17/umbraco-cms/fundamentals/data/creating-media/README.md +++ b/17/umbraco-cms/fundamentals/data/creating-media/README.md @@ -210,4 +210,4 @@ Moving the focal point circle on the image will update the crops to focus accord ## Related Services -* [MediaService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MediaService.html) +* [MediaService](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.MediaService.html) diff --git a/17/umbraco-cms/fundamentals/data/data-types/README.md b/17/umbraco-cms/fundamentals/data/data-types/README.md index 8d09edd2284..e4d4e3f5602 100644 --- a/17/umbraco-cms/fundamentals/data/data-types/README.md +++ b/17/umbraco-cms/fundamentals/data/data-types/README.md @@ -64,6 +64,6 @@ Learn more about viewing references or implementing tracking in the [Tracking Re ### Related Services -* [DataTypeService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.IDataTypeService.html) +* [DataTypeService](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.IDataTypeService.html) ### Umbraco Learning Base Channel diff --git a/17/umbraco-cms/fundamentals/data/defining-content/README.md b/17/umbraco-cms/fundamentals/data/defining-content/README.md index 24afef82190..cd5d6d4f8e3 100644 --- a/17/umbraco-cms/fundamentals/data/defining-content/README.md +++ b/17/umbraco-cms/fundamentals/data/defining-content/README.md @@ -307,8 +307,8 @@ To import a Document Type: ## Related Services -* [ContentService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) -* [ContentTypeService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentTypeService.html) +* [ContentService](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) +* [ContentTypeService](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ContentTypeService.html) ## Tutorials diff --git a/17/umbraco-cms/fundamentals/data/dictionary-items.md b/17/umbraco-cms/fundamentals/data/dictionary-items.md index 81e45a20f67..ba01ace490f 100644 --- a/17/umbraco-cms/fundamentals/data/dictionary-items.md +++ b/17/umbraco-cms/fundamentals/data/dictionary-items.md @@ -111,6 +111,6 @@ To use Dictionary Items in a multilingual website, see the [Creating a Multiling ## Related Links -* [API reference for the DictionaryItem](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.DictionaryItem.html) -* [Localization Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ILocalizationService.html) +* [API reference for the DictionaryItem](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Models.DictionaryItem.html) +* [Localization Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.ILocalizationService.html) * [Creating a Multilingual Site](../../tutorials/multilanguage-setup.md) diff --git a/17/umbraco-cms/fundamentals/data/members.md b/17/umbraco-cms/fundamentals/data/members.md index 6cc3d55319e..811bcba49e0 100644 --- a/17/umbraco-cms/fundamentals/data/members.md +++ b/17/umbraco-cms/fundamentals/data/members.md @@ -114,6 +114,6 @@ You can find out more about the services methods in the reference section of the ### Related Services -* [MemberService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MemberService.html) -* [MemberType Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MemberTypeService.html) -* [MemberGroup Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.IMemberGroupService.html) +* [MemberService](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.MemberService.html) +* [MemberType Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.MemberTypeService.html) +* [MemberGroup Service](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.IMemberGroupService.html) diff --git a/17/umbraco-cms/implementation/data-persistence.md b/17/umbraco-cms/implementation/data-persistence.md index 74a58e33456..a5aff99cfb5 100644 --- a/17/umbraco-cms/implementation/data-persistence.md +++ b/17/umbraco-cms/implementation/data-persistence.md @@ -30,4 +30,4 @@ All services are available using their interfaces in the dependency injection co There is a service for each type of data in Umbraco. -[See here For a full list of services available (external)](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.html) +[See here For a full list of services available (external)](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.html) diff --git a/17/umbraco-cms/implementation/default-routing/inbound-pipeline.md b/17/umbraco-cms/implementation/default-routing/inbound-pipeline.md index 68a8e6d6b25..694e2152220 100644 --- a/17/umbraco-cms/implementation/default-routing/inbound-pipeline.md +++ b/17/umbraco-cms/implementation/default-routing/inbound-pipeline.md @@ -23,7 +23,7 @@ What it does: ## Published Content Request Instance -When finding published content the [PublishedRouter](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Routing.PublishedRouter.html) will first check if the [PublishedRequestBuilder](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Routing.PublishedRequestBuilder.html) already has content, if it doesn't the content finders will kick in. For more information, see the [Find published content](../../reference/routing/request-pipeline/published-content-request-preparation.md#find-published-content) section in the [Published Content Request Preparation](../../reference/routing/request-pipeline/published-content-request-preparation.md) article. +When finding published content the [PublishedRouter](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Routing.PublishedRouter.html) will first check if the [PublishedRequestBuilder](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Routing.PublishedRequestBuilder.html) already has content, if it doesn't the content finders will kick in. For more information, see the [Find published content](../../reference/routing/request-pipeline/published-content-request-preparation.md#find-published-content) section in the [Published Content Request Preparation](../../reference/routing/request-pipeline/published-content-request-preparation.md) article. This information is also used during the [Controller & Action selection](controller-selection.md) process. diff --git a/17/umbraco-cms/implementation/integration-testing.md b/17/umbraco-cms/implementation/integration-testing.md index 213d654ddf3..ec879255549 100644 --- a/17/umbraco-cms/implementation/integration-testing.md +++ b/17/umbraco-cms/implementation/integration-testing.md @@ -7,7 +7,7 @@ description: A guide to getting started with integration testing in Umbraco These examples are for Umbraco 14. They use [NUnit](https://nunit.org/) as the testing framework. Leveraging [Umbraco.Cms.Tests.Integration](https://github.com/umbraco/Umbraco-CMS/tree/main/tests/Umbraco.Tests.Integration) providing base classes. {% hint style="info" %} -The Umbraco.Tests.Integration project uses version `3.14.0` of the NUnit NuGet package. It is essential to use this version to ensure compatibility. You can check the current package versions used by the Umbraco.Tests.Integration project [here](https://github.com/umbraco/Umbraco-CMS/blob/v14/dev/tests/Directory.Packages.props). +The Umbraco.Tests.Integration project uses version `3.14.0` of the NUnit NuGet package. It is essential to use this version to ensure compatibility. You can check the current package versions used by the Umbraco.Tests.Integration project [here](https://github.com/umbraco/Umbraco-CMS/blob/v16/dev/tests/Directory.Packages.props). {% endhint %} ## Getting started diff --git a/17/umbraco-cms/implementation/unit-testing.md b/17/umbraco-cms/implementation/unit-testing.md index 314cc401792..f8d1aa8de0d 100644 --- a/17/umbraco-cms/implementation/unit-testing.md +++ b/17/umbraco-cms/implementation/unit-testing.md @@ -210,7 +210,7 @@ public class ProductsControllerTests ## Testing ICultureDictionary using the UmbracoHelper -See [Core documentation on the interface ICultureDictionary](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Dictionary.ICultureDictionary.html). +See [Core documentation on the interface ICultureDictionary](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Dictionary.ICultureDictionary.html). ```csharp public class HomeController : RenderController diff --git a/17/umbraco-cms/reference/management/README.md b/17/umbraco-cms/reference/management/README.md index 2074d0254c4..5e0b08799a9 100644 --- a/17/umbraco-cms/reference/management/README.md +++ b/17/umbraco-cms/reference/management/README.md @@ -12,11 +12,11 @@ The intended audience for these reference pages is .NET developers. It is assume Since the release of Umbraco 14, the documentation for Models and Services has been removed from the documentation. {% endhint %} -## [Models (external)](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.html) +## [Models (external)](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Models.html) Find references for the models in the public API. The models include Content, ContentType, Language, Media, and Template classes. -## [Services (external)](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.html) +## [Services (external)](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.html) Find references for the services available for performing Create, Read, Update, and Delete (CRUD) operations for the models. diff --git a/17/umbraco-cms/reference/management/using-services/README.md b/17/umbraco-cms/reference/management/using-services/README.md index 46ef6ee8094..914c6770ade 100644 --- a/17/umbraco-cms/reference/management/using-services/README.md +++ b/17/umbraco-cms/reference/management/using-services/README.md @@ -6,7 +6,7 @@ description: List of service references along with instructions on how to use th In this article you can learn how to use and work with some of the services provided with Umbraco CMS. -You can find a list of all supported services in the [API Documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.html). +You can find a list of all supported services in the [API Documentation](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.html). ## Getting a Service diff --git a/17/umbraco-cms/reference/management/using-services/consentservice.md b/17/umbraco-cms/reference/management/using-services/consentservice.md index d69f8a4d09b..3f1c0f00725 100644 --- a/17/umbraco-cms/reference/management/using-services/consentservice.md +++ b/17/umbraco-cms/reference/management/using-services/consentservice.md @@ -12,7 +12,7 @@ Consent can be given or revoked or changed via the `RegisterConsent` method, whi ## Get the current state -Getter methods of this service return the current state of a consent, that is the latest [IConsent](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.IConsent.html) entity that was created. +Getter methods of this service return the current state of a consent, that is the latest [IConsent](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Models.IConsent.html) entity that was created. ## Revoking a consent diff --git a/17/umbraco-cms/reference/management/using-services/localizationservice.md b/17/umbraco-cms/reference/management/using-services/localizationservice.md index e4cf4a3a46c..d82605f82f9 100644 --- a/17/umbraco-cms/reference/management/using-services/localizationservice.md +++ b/17/umbraco-cms/reference/management/using-services/localizationservice.md @@ -24,7 +24,7 @@ ILanguage language2 = _localizationService.GetLanguageByIsoCode("en-US"); The ISO code is a combination of the two-letter ISO 639-1 language code (lowercase) and two-letter ISO-3166 country code (uppercase). Eg. `en-US` for English in the United States, `en-GB` for English in the United Kingdom and `da-DK` for Danish in Denmark. -Both methods will return an instance of the [ILanguage](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.ILanguage.html) interface, which has traditional properties like `Id` and `Key`, but also properties specific to the language like `CultureName`, `CultureInfo` and `IsoCode`. You can see the API reference for further information on the properties of the interface. +Both methods will return an instance of the [ILanguage](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Models.ILanguage.html) interface, which has traditional properties like `Id` and `Key`, but also properties specific to the language like `CultureName`, `CultureInfo` and `IsoCode`. You can see the API reference for further information on the properties of the interface. ## Getting all languages diff --git a/17/umbraco-cms/reference/notifications/README.md b/17/umbraco-cms/reference/notifications/README.md index 65479ff8d7a..47c7f1fdd14 100644 --- a/17/umbraco-cms/reference/notifications/README.md +++ b/17/umbraco-cms/reference/notifications/README.md @@ -22,7 +22,7 @@ Check the [Notification Handler](notification-handler.md) article to learn more Below you can find a list of most used object notifications. -You can find a list of all supported notifications in the [API Documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.html). +You can find a list of all supported notifications in the [API Documentation](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.html). ### Content, Media, and Member notifications @@ -34,30 +34,30 @@ The ContentService class is the most commonly used type when extending Umbraco u Below you can find a list of the most common ContentService object notifications. -* [ContentSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavingNotification.html) -* [ContentSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedNotification.html) -* [ContentPublishingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishingNotification.html) -* [ContentPublishedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishedNotification.html) -* [ContentUnpublishingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishingNotification.html) -* [ContentUnpublishedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishedNotification.html) -* [ContentCopyingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopyingNotification.html) -* [ContentCopiedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopiedNotification.html) -* [ContentMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingNotification.html) -* [ContentMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedNotification.html) -* [ContentMovingToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingToRecycleBinNotification.html) -* [ContentMovedToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedToRecycleBinNotification.html) -* [ContentDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingNotification.html) -* [ContentDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedNotification.html) -* [ContentDeletingVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingVersionsNotification.html) -* [ContentDeletedVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedVersionsNotification.html) -* [ContentRollingBackNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentRollingBackNotification.html) -* [ContentRolledBackNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentRolledBackNotification.html) -* [ContentSendingToPublishNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSendingToPublishNotification.html) -* [ContentSentToPublishNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSentToPublishNotification.html) -* [ContentEmptyingRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptyingRecycleBinNotification.html) -* [ContentEmptiedRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptiedRecycleBinNotification.html) -* [ContentSavedBlueprintNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedBlueprintNotification.html) -* [ContentDeletedBlueprintNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedBlueprintNotification.html) +* [ContentSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavingNotification.html) +* [ContentSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedNotification.html) +* [ContentPublishingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishingNotification.html) +* [ContentPublishedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishedNotification.html) +* [ContentUnpublishingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishingNotification.html) +* [ContentUnpublishedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishedNotification.html) +* [ContentCopyingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopyingNotification.html) +* [ContentCopiedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopiedNotification.html) +* [ContentMovingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingNotification.html) +* [ContentMovedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedNotification.html) +* [ContentMovingToRecycleBinNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingToRecycleBinNotification.html) +* [ContentMovedToRecycleBinNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedToRecycleBinNotification.html) +* [ContentDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingNotification.html) +* [ContentDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedNotification.html) +* [ContentDeletingVersionsNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingVersionsNotification.html) +* [ContentDeletedVersionsNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedVersionsNotification.html) +* [ContentRollingBackNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentRollingBackNotification.html) +* [ContentRolledBackNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentRolledBackNotification.html) +* [ContentSendingToPublishNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentSendingToPublishNotification.html) +* [ContentSentToPublishNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentSentToPublishNotification.html) +* [ContentEmptyingRecycleBinNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptyingRecycleBinNotification.html) +* [ContentEmptiedRecycleBinNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptiedRecycleBinNotification.html) +* [ContentSavedBlueprintNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedBlueprintNotification.html) +* [ContentDeletedBlueprintNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedBlueprintNotification.html) @@ -67,16 +67,16 @@ Below you can find a list of the most common ContentService object notifications Below you can find a list of the most common MediaService object notifications. -* [MediaSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavingNotification.html) -* [MediaSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavedNotification.html) -* [MediaMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingNotification.html) -* [MediaMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedNotification.html) -* [MediaMovingToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingToRecycleBinNotification.html) -* [MediaMovedToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedToRecycleBinNotification.html) -* [MediaDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingNotification.html) -* [MediaDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedNotification.html) -* [MediaDeletingVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingVersionsNotification.html) -* [MediaDeletedVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedVersionsNotification.html) +* [MediaSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavingNotification.html) +* [MediaSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavedNotification.html) +* [MediaMovingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingNotification.html) +* [MediaMovedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedNotification.html) +* [MediaMovingToRecycleBinNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingToRecycleBinNotification.html) +* [MediaMovedToRecycleBinNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedToRecycleBinNotification.html) +* [MediaDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingNotification.html) +* [MediaDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedNotification.html) +* [MediaDeletingVersionsNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingVersionsNotification.html) +* [MediaDeletedVersionsNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedVersionsNotification.html) @@ -88,12 +88,12 @@ The MemberService implements IMemberService and provides access to operations in Below you can find a list of the most common MemberService object notifications. -* [MemberSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavingNotification.html) -* [MemberSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavedNotification.html) -* [MemberDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletingNotification.html) -* [MemberDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletedNotification.html) -* [AssignedMemberRolesNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.AssignedMemberRolesNotification.html) -* [RemovedMemberRolesNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RemovedMemberRolesNotification.html) +* [MemberSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavingNotification.html) +* [MemberSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavedNotification.html) +* [MemberDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletingNotification.html) +* [MemberDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletedNotification.html) +* [AssignedMemberRolesNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.AssignedMemberRolesNotification.html) +* [RemovedMemberRolesNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RemovedMemberRolesNotification.html) @@ -107,13 +107,13 @@ The ContentTypeService class implements IContentTypeService. It provides access Below you can find a list of the most common ContentTypeService object notifications. -* [ContentTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavingNotification.html) -* [ContentTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavedNotification.html) -* [ContentTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletingNotification.html) -* [ContentTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletedNotification.html) -* [ContentTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovingNotification.html) -* [ContentTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovedNotification.html) -* [ContentTypeChangedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeChangedNotification.html) +* [ContentTypeSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavingNotification.html) +* [ContentTypeSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavedNotification.html) +* [ContentTypeDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletingNotification.html) +* [ContentTypeDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletedNotification.html) +* [ContentTypeMovingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovingNotification.html) +* [ContentTypeMovedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovedNotification.html) +* [ContentTypeChangedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeChangedNotification.html) @@ -125,13 +125,13 @@ The MediaTypeService class implements IMediaTypeService. It provides access to o Below you can find a list of the most common MediaTypeService object notifications. -* [MediaTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavingNotification.html) -* [MediaTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavedNotification.html) -* [MediaTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletingNotification.html) -* [MediaTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletedNotification.html) -* [MediaTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovingNotification.html) -* [MediaTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovedNotification.html) -* [MediaTypeChangedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeChangedNotification.html) +* [MediaTypeSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavingNotification.html) +* [MediaTypeSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavedNotification.html) +* [MediaTypeDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletingNotification.html) +* [MediaTypeDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletedNotification.html) +* [MediaTypeMovingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovingNotification.html) +* [MediaTypeMovedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovedNotification.html) +* [MediaTypeChangedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeChangedNotification.html) @@ -143,13 +143,13 @@ The MemberTypeService class implements IMemberTypeService. It provides access to Below you can find a list of the most common MemberTypeService object notifications. -* [MemberTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavingNotification.html) -* [MemberTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavedNotification.html) -* [MemberTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletingNotification.html) -* [MemberTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletedNotification.html) -* [MemberTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovingNotification.html) -* [MemberTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovedNotification.html) -* [MemberTypeChangedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeChangedNotification.html) +* [MemberTypeSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavingNotification.html) +* [MemberTypeSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavedNotification.html) +* [MemberTypeDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletingNotification.html) +* [MemberTypeDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletedNotification.html) +* [MemberTypeMovingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovingNotification.html) +* [MemberTypeMovedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovedNotification.html) +* [MemberTypeChangedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeChangedNotification.html) @@ -161,12 +161,12 @@ The DataTypeService class implements IDataTypeService. It provides access to ope Below you can find a list of the most common DataTypeService object notifications. -* [DataTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavingNotification.html) -* [DataTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavedNotification.html) -* [DataTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletingNotification.html) -* [DataTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletedNotification.html) -* [DataTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovingNotification.html) -* [DataTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovedNotification.html) +* [DataTypeSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavingNotification.html) +* [DataTypeSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavedNotification.html) +* [DataTypeDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletingNotification.html) +* [DataTypeDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletedNotification.html) +* [DataTypeMovingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovingNotification.html) +* [DataTypeMovedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovedNotification.html) @@ -178,18 +178,18 @@ The FileService class implements IFileService. It provides access to operations Below you can find a list of the most common FileService object notifications. -* [TemplateSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavingNotification.html) -* [TemplateSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavedNotification.html) -* [ScriptSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavingNotification.html) -* [ScriptSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavedNotification.html) -* [StylesheetSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavingNotification.html) -* [StylesheetSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavedNotification.html) -* [TemplateDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletingNotification.html) -* [TemplateDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletedNotification.html) -* [ScriptDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletingNotification.html) -* [ScriptDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletedNotification.html) -* [StylesheetDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletingNotification.html) -* [StylesheetDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletedNotification.html) +* [TemplateSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavingNotification.html) +* [TemplateSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavedNotification.html) +* [ScriptSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavingNotification.html) +* [ScriptSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavedNotification.html) +* [StylesheetSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavingNotification.html) +* [StylesheetSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavedNotification.html) +* [TemplateDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletingNotification.html) +* [TemplateDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletedNotification.html) +* [ScriptDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletingNotification.html) +* [ScriptDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletedNotification.html) +* [StylesheetDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletingNotification.html) +* [StylesheetDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletedNotification.html) @@ -201,14 +201,14 @@ The LocalizationService class implements ILocalizationService. It provides acces Below you can find a list of the most common LocalizationService object notifications. -* [LanguageSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavingNotification.html) -* [LanguageSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavedNotification.html) -* [DictionaryItemSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavingNotification.html) -* [DictionaryItemSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavedNotification.html) -* [LanguageDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletingNotification.html) -* [LanguageDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletedNotification.html) -* [DictionaryItemDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletingNotification.html) -* [DictionaryItemDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletedNotification.html) +* [LanguageSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavingNotification.html) +* [LanguageSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavedNotification.html) +* [DictionaryItemSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavingNotification.html) +* [DictionaryItemSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavedNotification.html) +* [LanguageDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletingNotification.html) +* [LanguageDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletedNotification.html) +* [DictionaryItemDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletingNotification.html) +* [DictionaryItemDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletedNotification.html) @@ -218,10 +218,10 @@ Below you can find a list of the most common LocalizationService object notifica Below you can find a list of the most common CacheRefresher object notifications. -* [ContentCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentCacheRefresherNotification.html) -* [MediaCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaCacheRefresherNotification.html) -* [MemberCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberCacheRefresherNotification.html) -* [UserCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UserCacheRefresherNotification.html) +* [ContentCacheRefresherNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.ContentCacheRefresherNotification.html) +* [MediaCacheRefresherNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MediaCacheRefresherNotification.html) +* [MemberCacheRefresherNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.MemberCacheRefresherNotification.html) +* [UserCacheRefresherNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.UserCacheRefresherNotification.html) @@ -233,14 +233,14 @@ Below you can find a list of the most common RelationService object notification The RelationService provides access to operations involving IRelation and IRelationType, and publishes the following relation notifications: -* [RelationSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavingNotification.html) -* [RelationSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavedNotification.html) -* [RelationDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletingNotification.html) -* [RelationDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletedNotification.html) -* [RelationTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavingNotification.html) -* [RelationTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavedNotification.html) -* [RelationTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletingNotification.html) -* [RelationTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletedNotification.html) +* [RelationSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavingNotification.html) +* [RelationSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavedNotification.html) +* [RelationDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletingNotification.html) +* [RelationDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletedNotification.html) +* [RelationTypeSavingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavingNotification.html) +* [RelationTypeSavedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavedNotification.html) +* [RelationTypeDeletingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletingNotification.html) +* [RelationTypeDeletedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletedNotification.html) @@ -252,16 +252,16 @@ Represents an Umbraco application lifetime (starting, started, stopping, stopped Below you can find a list of the most common UmbracoApplicationLifetime object notifications. -* [UmbracoApplicationStartingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartingNotification.html) -* [UmbracoApplicationStartedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartedNotification.html) -* [UmbracoApplicationStoppingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppingNotification.html) -* [UmbracoApplicationStoppedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppedNotification.html) +* [UmbracoApplicationStartingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartingNotification.html) +* [UmbracoApplicationStartedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartedNotification.html) +* [UmbracoApplicationStoppingNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppingNotification.html) +* [UmbracoApplicationStoppedNotification](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppedNotification.html) ### Tree notifications -Learn more about these under [Tree Change Notifications](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TreeChangeNotification-1.html) in the CMS API Docs. +Learn more about these under [Tree Change Notifications](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.TreeChangeNotification-1.html) in the CMS API Docs. ## Creating and publishing your own custom notifications diff --git a/17/umbraco-cms/reference/querying/imembermanager.md b/17/umbraco-cms/reference/querying/imembermanager.md index 5114ffd194c..55ff6ef802a 100644 --- a/17/umbraco-cms/reference/querying/imembermanager.md +++ b/17/umbraco-cms/reference/querying/imembermanager.md @@ -7,7 +7,7 @@ description: "Using the IMemberManager" `IMemberManager` has a variety of methods that are useful for managing members in controllers and views. In this article, we'll have a look at how some of these can be used. {% hint style="info" %} -For the full list of methods, see the [IMemberManager Interface API Documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Security.IMemberManager.html#methods). +For the full list of methods, see the [IMemberManager Interface API Documentation](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Security.IMemberManager.html#methods). {% endhint %} ## How to reference IMemberManager diff --git a/17/umbraco-cms/reference/querying/udi-identifiers.md b/17/umbraco-cms/reference/querying/udi-identifiers.md index 16f17b82de4..8bbdb7d6792 100644 --- a/17/umbraco-cms/reference/querying/udi-identifiers.md +++ b/17/umbraco-cms/reference/querying/udi-identifiers.md @@ -71,10 +71,10 @@ There are two types of UDIs in Umbraco: Used for objects that have a GUID identifier, such as content and media. -* [API Reference: GuidUdi](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.GuidUdi.html) +* [API Reference: GuidUdi](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.GuidUdi.html) ### String UDI Used for objects that are not GUID-based, such as dictionary items. -* [API Reference: StringUdi](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.StringUdi.html) +* [API Reference: StringUdi](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.StringUdi.html) diff --git a/17/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md b/17/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md index d3c3b305433..38b5ddd7d08 100644 --- a/17/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md +++ b/17/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md @@ -72,7 +72,7 @@ Note the constructor minimum needs to inject what is required for the base `Back ## Notifications -There are [many notifications](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Web.Common.Security.BackOfficeUserManager.html) you can handle on the `BackOfficeUserManager`.\ +There are [many notifications](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Web.Common.Security.BackOfficeUserManager.html) you can handle on the `BackOfficeUserManager`.\ Internally these are mainly used for auditing but there are some that allow you to customize some workflows: * `SendEmailNotification` diff --git a/17/umbraco-cms/tutorials/migrating-macros.md b/17/umbraco-cms/tutorials/migrating-macros.md index 7af62d87c46..fa5278b32cc 100644 --- a/17/umbraco-cms/tutorials/migrating-macros.md +++ b/17/umbraco-cms/tutorials/migrating-macros.md @@ -938,6 +938,6 @@ The proposed conversion logic should be adaptable to the system used in the loca If you are using Umbraco Deploy in your solution, you can use its infrastructure to run the migration logic defined above. -To make this work, update the alias of the rich text editor to something else. On import, a migration is triggered. See the [prevalue example](https://github.com/umbraco/Umbraco.Deploy.Contrib/blob/v15/dev/src/Umbraco.Deploy.Contrib/Migrators/Legacy/Content/PrevalueArtifactMigrator.cs) in the `Umbraco.Deploy.Contrib` package. +To make this work, update the alias of the rich text editor to something else. On import, a migration is triggered. See the [prevalue example](https://github.com/umbraco/Umbraco.Deploy.Contrib/blob/v17/dev/src/Umbraco.Deploy.Contrib/Migrators/Legacy/Content/PrevalueArtifactMigrator.cs) in the `Umbraco.Deploy.Contrib` package. -Create a migrator to handle any value that is of the special alias and convert them into a property with the updated value. For an example see the matching [prevalue property type migrator](https://github.com/umbraco/Umbraco.Deploy.Contrib/blob/v15/dev/src/Umbraco.Deploy.Contrib/Migrators/Legacy/Content/PrevaluePropertyTypeMigratorBase.cs). +Create a migrator to handle any value that is of the special alias and convert them into a property with the updated value. For an example see the matching [prevalue property type migrator](https://github.com/umbraco/Umbraco.Deploy.Contrib/blob/v17/dev/src/Umbraco.Deploy.Contrib/Migrators/Legacy/Content/PrevaluePropertyTypeMigratorBase.cs). diff --git a/17/umbraco-commerce/reference/go-behind-the-scenes.md b/17/umbraco-commerce/reference/go-behind-the-scenes.md index 1022a0d0874..4b7ac430ad4 100644 --- a/17/umbraco-commerce/reference/go-behind-the-scenes.md +++ b/17/umbraco-commerce/reference/go-behind-the-scenes.md @@ -9,5 +9,5 @@ description: >- {% hint style="info" %} You can find all the reference documentation for Umbraco Commerce on GitHub. We might eventually move this to this or another site. -[**Umbraco Commerce Reference Documentation**](https://github.com/umbraco/UmbracoDocs/tree/main/13/umbraco-commerce/reference) +[**Umbraco Commerce Reference Documentation**](https://github.com/umbraco/UmbracoDocs/tree/main/17/umbraco-commerce/reference) {% endhint %} diff --git a/17/umbraco-deploy/deployment-workflow/import-with-migrations.md b/17/umbraco-deploy/deployment-workflow/import-with-migrations.md index 92c882eacb0..e2c6ea7c7cd 100644 --- a/17/umbraco-deploy/deployment-workflow/import-with-migrations.md +++ b/17/umbraco-deploy/deployment-workflow/import-with-migrations.md @@ -118,7 +118,7 @@ When an import is started, the following happens: Umbraco Deploy ships with migrators to handle the conversion of core property editors as they have changed, been removed or replaced between versions. -Open source migrators may be built by HQ or the community for property editors found in community packages. They will be made available for [use](https://www.nuget.org/packages/Umbraco.Deploy.Contrib) and [review](https://github.com/umbraco/Umbraco.Deploy.Contrib/tree/v15/dev/src/Umbraco.Deploy.Contrib/Migrators) via the `Umbraco.Deploy.Contrib` package. +Open source migrators may be built by HQ or the community for property editors found in community packages. They will be made available for [use](https://www.nuget.org/packages/Umbraco.Deploy.Contrib) and [review](https://github.com/umbraco/Umbraco.Deploy.Contrib/tree/v17/dev/src/Umbraco.Deploy.Contrib/Migrators) via the `Umbraco.Deploy.Contrib` package. ### Grid to Block Grid diff --git a/17/umbraco-forms/editor/creating-a-form/form-settings.md b/17/umbraco-forms/editor/creating-a-form/form-settings.md index 9266930d56f..9849b0e991d 100644 --- a/17/umbraco-forms/editor/creating-a-form/form-settings.md +++ b/17/umbraco-forms/editor/creating-a-form/form-settings.md @@ -61,7 +61,7 @@ The autocomplete setting for the overall form can be changed from the default of The settings available in this section allow you to customize how multi-page forms are presented to site visitors. -

Multi-Page Form Settings

+

Multi-Page Form Settings

| Option | Description | | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| diff --git a/17/umbraco-forms/editor/creating-a-form/images/multi-page-forms.png b/17/umbraco-forms/editor/creating-a-form/images/multi-page-forms.png new file mode 100644 index 0000000000000000000000000000000000000000..83c3a49d10cb30a45abeac5308571dd14391d750 GIT binary patch literal 26003 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 U3xc!Yhg2@8D{I5cZ{Lsl7lH6n$p8QV literal 0 HcmV?d00001 From e40a43333cb1de2343474bdc0ed64a3f4acb73bd Mon Sep 17 00:00:00 2001 From: Esha Noronha <82437098+eshanrnh@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:39:15 +0100 Subject: [PATCH 2/3] Apply suggestion from @eshanrnh --- 17/umbraco-cms/reference/notifications/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/17/umbraco-cms/reference/notifications/README.md b/17/umbraco-cms/reference/notifications/README.md index 47c7f1fdd14..b5ee30a43e8 100644 --- a/17/umbraco-cms/reference/notifications/README.md +++ b/17/umbraco-cms/reference/notifications/README.md @@ -261,7 +261,7 @@ Below you can find a list of the most common UmbracoApplicationLifetime object n ### Tree notifications -Learn more about these under [Tree Change Notifications](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.TreeChangeNotification-1.html) in the CMS API Docs. +Learn more about these under [Tree Change Notifications](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Notifications.TreeChangeNotification-1.html) in the CMS API documentation. ## Creating and publishing your own custom notifications From 96ca8e74d6e702c0a9e68954f29a52e09338d921 Mon Sep 17 00:00:00 2001 From: Esha Noronha <82437098+eshanrnh@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:39:57 +0100 Subject: [PATCH 3/3] Fixed Vale error --- 17/umbraco-cms/implementation/integration-testing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/17/umbraco-cms/implementation/integration-testing.md b/17/umbraco-cms/implementation/integration-testing.md index ec879255549..db78b1dcf12 100644 --- a/17/umbraco-cms/implementation/integration-testing.md +++ b/17/umbraco-cms/implementation/integration-testing.md @@ -7,7 +7,7 @@ description: A guide to getting started with integration testing in Umbraco These examples are for Umbraco 14. They use [NUnit](https://nunit.org/) as the testing framework. Leveraging [Umbraco.Cms.Tests.Integration](https://github.com/umbraco/Umbraco-CMS/tree/main/tests/Umbraco.Tests.Integration) providing base classes. {% hint style="info" %} -The Umbraco.Tests.Integration project uses version `3.14.0` of the NUnit NuGet package. It is essential to use this version to ensure compatibility. You can check the current package versions used by the Umbraco.Tests.Integration project [here](https://github.com/umbraco/Umbraco-CMS/blob/v16/dev/tests/Directory.Packages.props). +The Umbraco.Tests.Integration project uses version `3.14.0` of the NUnit NuGet package. It is essential to use this version to ensure compatibility. You can check the current package versions used by the `Umbraco.Tests.Integration` project [on GitHub](https://github.com/umbraco/Umbraco-CMS/blob/v16/dev/tests/Directory.Packages.props). {% endhint %} ## Getting started