Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 15/umbraco-cms/customizing/property-editors/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Convert the stored property data value to a useful object returned by the Publis

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

## [Tracking References](broken-reference)
## [Tracking References](tracking.md)

Learn how to extend Property editors to track entity references inside the property editor.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,4 @@ render() {

## Server Validation and more

This documentation is not available at the moment. For the moment you can find more information in the [Backoffice repository](https://github.com/umbraco/Umbraco.CMS.Backoffice/tree/main/src/packages/core/validation).
This documentation is not available at the moment. For the moment you can find more information in the [Backoffice repository](https://github.com/umbraco/Umbraco-CMS/tree/ced3db8542d390bb12082ca63ef71b790da220c5/src/Umbraco.Web.UI.Client/src/packages/core/validation).
4 changes: 2 additions & 2 deletions 15/umbraco-cms/customizing/umbraco-package.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ These are the current types of UI Extensions:
| searchProvider | A search provider is a provider that can be used to provide search results for the search bar in the Backoffice. |
| searchResultItem | A search result item is a component that can be added to the search results. |
| theme | A theme is a set of styles that can be added to the Backoffice. The user can select their preferred theme in the current user modal. |
| tinyMcePlugin | A TinyMCE plugin is a plugin that can be added to the TinyMCE editor. Read more about [TinyMCE Plugins](../fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/rte-plugins.md). |
| tinyMcePlugin | A TinyMCE plugin is a plugin that can be added to the TinyMCE editor. Read more about [TinyMCE Plugins](../fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor-tinymce/plugins.md). |
| treeItem | A tree item that can be added to the tree. |
| tree | A tree that can be added to a section. |
| ufmComponent | This type of component is a formatter that can be added to the [Umbraco Flavoured Markdown](../reference/umbraco-flavored-markdown.md), which is used in property descriptions and advanced labels. |
Expand Down Expand Up @@ -205,7 +205,7 @@ These are the current types of UI Extensions:
| workspaceFooterApp | A workspace footer app is a component that can be added to the workspace footer. |
| workspaceView | A workspace view is a view that can be added to a workspace. It is displayed in the main content area of the workspace. More than one view can be added to a workspace, and the user can switch between them. In that case, the views are displayed as tabs. Read more about [Workspace Views](extending-overview/extension-types/workspaces/workspace-views.md). |

Read more about [Extension Types](broken-reference/) in the Backoffice to get a better understanding of the different types of extensions.
Read more about [Extension Types](extending-overview/extension-types/README.md) in the Backoffice to get a better understanding of the different types of extensions.

## Package Manifest IntelliSense

Expand Down
2 changes: 1 addition & 1 deletion 15/umbraco-cms/extending/backoffice-search.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,4 @@ You cannot use this to search on integer types in the index, as an example `pare

## More advanced extensions

For further extensibility of the Umbraco Backoffice search implementation check [ISearchableTree](../customizing/section-trees/searchable-trees.md)
For further extensibility of the Umbraco Backoffice search implementation check [ISearchableTree](../customizing/searchable-trees.md)
14 changes: 6 additions & 8 deletions 15/umbraco-cms/extending/language-files/net-localization.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,19 @@ description: NET Umbraco Core Localization files.

# .NET Localization

## .NET Localization

In this article, you will find information about the Core Localization files. You can also find information about where to find and use them, and how to keep them up-to-date.

### Use cases
## Use cases

.NET localization has limited use cases in Umbraco, as all backoffice localization is performed with [UI Localization](../../customizing/ui-localization.md).
.NET localization has limited use cases in Umbraco, as all backoffice localization is performed with [UI Localization](../../customizing/foundation/localization.md).

In other words, .NET localization is only applied server-side with no accompanying UI - for example:

* Sending emails.
* User login error handling.
* Health checks.

### Where to find the core localization files
## Where to find the core localization files

The core Umbraco localization files are found at the following location within the [Umbraco source](https://github.com/umbraco/Umbraco-CMS/tree/contrib/src/Umbraco.Core/EmbeddedResources/Lang):

Expand All @@ -28,7 +26,7 @@ Umbraco-CMS/src/Umbraco.Core/EmbeddedResources/Lang/

These localization files are shipped with Umbraco and should not be modified.

#### User localization files
### User localization files

If you want to override Umbraco Core .NET localization, create new files in the following location and format:

Expand All @@ -48,7 +46,7 @@ In order for these files to deploy when you do a `dotnet publish`, you need to a
</ItemGroup>
```

### Using the localizations
## Using the localizations

`ILocalizedTextService` is used to localize strings, and is available through dependency injection. You can use the `Localize()` method available in the namespace `Umbraco.Extensions` to localize the string by `area` and `key`:

Expand All @@ -69,7 +67,7 @@ public class LocalizationSample
}
```

### Help keep the language files up to date
## Help keep the language files up to date

As Umbraco is a continually evolving product it is inevitable that new text is added regularly to the English language version of these files. This may mean that some of the above languages are no longer up to date.

Expand Down
2 changes: 1 addition & 1 deletion 15/umbraco-cms/fundamentals/backoffice/login.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export default {
This will override the default greetings with the ones you provide. The login screen will now display "It is Sunday" instead of "Welcome" for example.

{% hint style="info" %}
The login screen has its own set of localization files independent of the rest of the Backoffice. You can read more about Backoffice localization in the [UI Localization](../../customizing/ui-localization.md) article.
The login screen has its own set of localization files independent of the rest of the Backoffice. You can read more about Backoffice localization in the [UI Localization](../../customizing/foundation/localization.md) article.
{% endhint %}

You can customize other text on the login screen as well. First, grab the default values and keys from the [en.ts](https://github.com/umbraco/Umbraco-CMS/blob/contrib/src/Umbraco.Web.UI.Login/src/localization/lang/en.ts) in the Umbraco CMS GitHub repository. Thereafter copy the ones you want to translate into `~/App_Plugins/Login/umbraco-package.json` file.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ This example shows how to use a generic field from a child item and display its

![Collection content email label template](images/collection-label-template.png)

You can use the [Umbraco Flavored Markdown](../../../../umbraco-flavored-markdown.md) syntax to display the label value. Here, the `{=value}` placeholder retrieves the value of the *Email* property and displays it in the collection, as shown in the image below:
You can use the [Umbraco Flavored Markdown](../../../../reference/umbraco-flavored-markdown.md) syntax to display the label value. Here, the `{=value}` placeholder retrieves the value of the *Email* property and displays it in the collection, as shown in the image below:

![Collection content email value displayed](images/collections-display-email.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ TinyMCE also has a number of [premium plugins](https://www.tiny.cloud/docs/tinym
To enable plugins in the rich text editor, you need to add an extension type called `tinyMcePlugin` in a manifest file. The manifest file is a JSON file that describes the plugin and how it should be loaded. You can add a plugin such as the open source [Word Count Plugin](https://www.tiny.cloud/docs/tinymce/6/wordcount/) to the rich text editor. You can also define your own custom plugin to extend the functionality of the editor. This way you can add custom buttons, dialogs, or other features to the editor.

{% hint style="info" %}
The manifest file should be placed in a folder in `App_Plugins/{YourPackageName}`, with the name `umbraco-package.json`. Learn how to use the [package manifests](../../../../../extending/property-editors/package-manifest.md).
The manifest file should be placed in a folder in `App_Plugins/{YourPackageName}`, with the name `umbraco-package.json`.
{% endhint %}

{% code title="App_Plugins/YourPackageName/umbraco-package.json" lineNumbers="true" %}
Expand Down
10 changes: 5 additions & 5 deletions 15/umbraco-cms/fundamentals/data/dictionary-items.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ To edit a dictionary item, follow these steps:
{% hint style="info" %}
It will only be possible to edit the language(s) that the given user has access to. The value of the remaining languages will be _read-only_.

Which language a user has access to is determined by the "Language permissions" set on the User Group. Learn more about this feature in the [Users](users.md#creating-a-user-group) article.
Which language a user has access to is determined by the "Language permissions" set on the User Group. Learn more about this feature in the [Users](users/README.md#creating-a-user-group) article.
{% endhint %}

## Fetching Dictionary Values in the Template
Expand All @@ -62,15 +62,15 @@ To fetch dictionary values in the template, replace the text with the following
@Umbraco.GetDictionaryValue("Welcome")
```

![Rendering dictionary item](../../../../10/umbraco-cms/fundamentals/data/images/rendering-dictionary-item.png)
![Rendering dictionary item](images/rendering-dictionary-item.png)

Alternatively, you can specify an `altText` which will be returned if the dictionary value is empty.

```csharp
@Umbraco.GetDictionaryValueOrDefault("Welcome", "Another amazing day in Umbraco")
```

![Rendering dictionary item](../../../../10/umbraco-cms/fundamentals/data/images/rendering-altvalue-dictionary-item.png)
![Rendering dictionary item](images/rendering-altvalue-dictionary-item.png)

## Importing and exporting Dictionary Items

Expand All @@ -87,7 +87,7 @@ In some cases, you might want to use the same Dictionary Items on multiple Umbra

This will download a `.udt` file which you can use to import the Dictionary items on another Umbraco website.

![Options menu with the Export feature](../../../../10/umbraco-cms/fundamentals/data/images/export.png)
![Options menu with the Export feature](images/export.png)

### Importing Dictionary Items

Expand All @@ -103,7 +103,7 @@ This will download a `.udt` file which you can use to import the Dictionary item

The Dictionary Items have now been added to your website.

![Review the Dictionary Items for import before confirming](../../../../10/umbraco-cms/fundamentals/data/images/import.png)
![Review the Dictionary Items for import before confirming](images/import.png)

## Using Dictionary Item in a Multilingual website

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ They have been called a few names in the past, many people still know Azure Web

> App Service is a fully Managed Platform for professional developers that brings a rich set of capabilities to web, mobile and integration scenarios. Quickly create and deploy mission critical web Apps that scale with your business by using Azure App Service.

[You can read more about them here](https://azure.microsoft.com/en-us/documentation/articles/app-service-web-overview/)
[You can read more about them here](https://azure.microsoft.com/en-us/products/app-service/web)

Umbraco will run on Azure Web Apps but there are some configuration options and specific Azure Web Apps environment limitations to be aware of.

Expand Down
2 changes: 1 addition & 1 deletion 15/umbraco-cms/reference/cache/cache-seeding.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,4 @@ The returned keys of all the seed key providers are unioned into a single set. T

As mentioned above the provided keys are cached. Only the keys returned at startup will be considered seeded until the server restarts and the provider is rerun.

For a specific example of implementing a custom seed key provider, see [Creating a Custom Seed Key Provider](../extending/creating-custom-seed-key-provider.md).
For a specific example of implementing a custom seed key provider, see [Creating a Custom Seed Key Provider](../../extending/creating-custom-seed-key-provider.md).
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ description: >-

Out of the box, the Delivery API supports custom property editors, ensuring they are rendered alongside the built-in ones in Umbraco. However, if the output generated by your property editor isn't optimal for a headless context, you have the ability to customize the API response. This customization won't impact the Razor rendering, allowing you to tailor the Content Delivery API response according to your specific requirements.

In this article, we'll look into how you can work with the `IDeliveryApiPropertyValueConverter` interface and implement custom [property expansion](./#property-expansion) for your custom property editors.
In this article, we'll look into how you can work with the `IDeliveryApiPropertyValueConverter` interface and implement custom [property expansion](./property-expansion-and-limiting.md) for your custom property editors.

## Prerequisite

The examples in this article revolve around the fictional `My.Custom.Picker` property editor. This property editor stores the key of a single content item and is backed by a property value converter.

We will not dive into the details of creating a custom property editor for Umbraco in this article. If you need guidance on that, please refer to the [Creating a Property Editor](https://docs.umbraco.com/umbraco-cms/tutorials/creating-a-property-editor) and [Property Value Converters](https://docs.umbraco.com/umbraco-cms/extending/property-editors/property-value-converters) articles.
We will not dive into the details of creating a custom property editor for Umbraco in this article. If you need guidance on that, please refer to the [Creating a Property Editor](../../tutorials/creating-a-property-editor/README.md) and [Property Value Converters](../../customizing/property-editors/property-value-converters.md) articles.

## Implementation

Expand All @@ -24,7 +24,7 @@ The code example below showcases the implementation of this interface in the pro

Towards the end of the example, you will find the response models that we will be using.

The `IsConverter()` and `GetPropertyValueType()` methods are inherited from the `PropertyValueConverterBase` class, which is covered in the [Property Value Converters](https://docs.umbraco.com/umbraco-cms/extending/property-editors/property-value-converters) article.
The `IsConverter()` and `GetPropertyValueType()` methods are inherited from the `PropertyValueConverterBase` class, which is covered in the [Property Value Converters](../../customizing/property-editors/property-value-converters.md) article.

{% include "../../.gitbook/includes/obsolete-warning-snapshot.md" %}

Expand Down Expand Up @@ -121,7 +121,7 @@ public class DeliveryApiItemDetails
The Implementation of the `IDeliveryApiPropertyValueConverter` interface can be found in the following methods:

* `GetDeliveryApiPropertyCacheLevel()`: This method specifies the cache level used for our property representation in the Delivery API response.
* `GetDeliveryApiPropertyCacheLevelForExpansion()`: This method specifies the cache level used for our property representation in the Delivery API response when [property expansion](./property-expansion-and-limiting) is applied.
* `GetDeliveryApiPropertyCacheLevelForExpansion()`: This method specifies the cache level used for our property representation in the Delivery API response when [property expansion](./property-expansion-and-limiting.md) is applied.
* `GetDeliveryApiPropertyValueType()`: This method defines the value type of the custom property output for the Delivery API response.
* `ConvertIntermediateToDeliveryApiObject()`: This method converts the value from the property editor to the desired custom object in a headless context.

Expand Down
Loading