Skip to content

Commit f623172

Browse files
committed
Merge branch 'main' into cms/release-15.2
2 parents 8592fca + 99ed788 commit f623172

File tree

111 files changed

+877
-576
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+877
-576
lines changed

10/umbraco-cms/reference/configuration/nucachesettings.md

+35-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ description: "Information on the NuCache settings section"
44

55
# NuCache Settings
66

7-
This settings section allows you to specify the block size of the BTree used by NuCache. This is configured by default, so you don't need to configure this. However it is possible with something like:
7+
The NuCache settings allow you to configure different aspects of how cached content is stored and retrieved. Below are the details of the available settings and how they can be configured to optimize performance and compatibility with your project needs.
8+
9+
## BTreeBlockSize
810

911
```json
1012
"Umbraco": {
@@ -16,15 +18,42 @@ This settings section allows you to specify the block size of the BTree used by
1618
}
1719
```
1820

19-
This is how NuCache is configured by default. It is important to mention that the block size must be a power of two, at least 512, and at most 65536 (64K).
21+
{% hint style="info" %}
22+
The block size must be a power of two. It should be at least 512 and at most 65536 (64K).
23+
{% endhint %}
2024

21-
## Additional Settings
25+
## NuCacheSerializerType
26+
27+
The `NuCacheSerializerType` setting allows developers to specify the serialization format for NuCache content. This setting is particularly relevant for projects migrating from older versions of Umbraco that relied on JSON formats.
28+
29+
To use JSON serialization instead of the default MessagePack:
30+
31+
### Using 'Program.cs'
32+
33+
```csharp
34+
builder.Services.Configure<NuCacheSettings>(options =>
35+
{
36+
options.NuCacheSerializerType = NuCacheSerializerType.JSON;
37+
});
38+
```
2239

23-
It is possible to configure NuCache to work in memory only without reading/writing the NuCache database files.
40+
### Using 'appsettings.json'
2441

25-
Startup duration may increase for larger sites during a "warm boot" but smaller sites should see minimal impact.
42+
```csharp
43+
{
44+
"Umbraco": {
45+
"CMS": {
46+
"NuCache": {
47+
"NuCacheSerializerType": "JSON"
48+
}
49+
}
50+
}
51+
}
52+
```
53+
54+
## Additional Settings
2655

27-
The settings have not yet been exposed via the new configuration setup, instead you must configure with a composer.
56+
You can configure NuCache to work in memory only without reading/writing to the NuCache database files. Startup duration may increase for larger sites during a "warm boot" but smaller sites should see minimal impact. The settings have not yet been exposed via the new configuration setup, instead you must configure with a composer.
2857

2958
```csharp
3059
public class DisableNuCacheDatabaseComposer : IComposer

10/umbraco-forms/installation/install.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ Umbraco contains the **Forms** section, by default. You will see a similar inter
1515

1616
To install the Umbraco Forms package (**Umbraco.Forms**), follow these steps:
1717

18-
1. Run the following command on a command prompt of your choice:
18+
1. Identify the Umbraco CMS version your project is running.
19+
2. Find a compatible version of Umbraco Forms that matches your Umbraco CMS version. A list of Umbraco Forms versions can be found on [nuget.org](https://www.nuget.org/packages/Umbraco.Forms#versions-body-tab).
20+
3. Run the following command on a command prompt of your choice, replacing `<version_number>` with the appropriate version identified above:
1921

2022
```
21-
dotnet add package Umbraco.Forms
23+
dotnet add package Umbraco.Forms --version <version_number>
2224
```
23-
2. Restart the web application using the following command:
25+
4. Restart the web application using the following command:
2426
2527
```
2628
dotnet run

13/umbraco-cms/reference/configuration/nucachesettings.md

+36-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ description: Information on the NuCache settings section
44

55
# NuCache Settings
66

7-
This settings section allows you to specify the block size of the BTree used by NuCache. This is configured by default, so you don't need to configure this. However it is possible with something like:
7+
The NuCache settings allow you to configure different aspects of how cached content is stored and retrieved. Below are the details of the available settings and how they can be configured to optimize performance and compatibility with your project needs.
8+
9+
## BTreeBlockSize
810

911
```json
1012
"Umbraco": {
@@ -16,11 +18,13 @@ This settings section allows you to specify the block size of the BTree used by
1618
}
1719
```
1820

19-
This is how NuCache is configured by default. It is important to mention that the block size must be a power of two, at least 512, and at most 65536 (64K).
21+
{% hint style="info" %}
22+
The block size must be a power of two. It should be at least 512 and at most 65536 (64K).
23+
{% endhint %}
2024

2125
## UsePagedSqlQuery
2226

23-
Setting `UsePagedSqlQuery` to `False` your project will use the `Fetch` method instead of the `QueryPaged` method when rebuilding the NuCache files. This will increase performance on bigger Umbraco websites with a lot of content when rebuilding the NuCache.
27+
When `UsePagedSqlQuery` is set to `False`, the `Fetch` method is used instead of the `QueryPaged` method for rebuilding the NuCache files. This will increase performance on larger Umbraco websites with a lot of content when rebuilding the NuCache.
2428

2529
```json
2630
"Umbraco": {
@@ -33,13 +37,38 @@ Setting `UsePagedSqlQuery` to `False` your project will use the `Fetch` method
3337

3438
```
3539

36-
## Additional Settings
40+
## NuCacheSerializerType
41+
42+
The `NuCacheSerializerType` setting allows developers to specify the serialization format for NuCache content. This setting is particularly relevant for projects migrating from older versions of Umbraco that relied on JSON formats.
43+
44+
To use JSON serialization instead of the default MessagePack:
45+
46+
### Using 'Program.cs'
47+
48+
```csharp
49+
builder.Services.Configure<NuCacheSettings>(options =>
50+
{
51+
options.NuCacheSerializerType = NuCacheSerializerType.JSON;
52+
});
53+
```
3754

38-
It is possible to configure NuCache to work in memory only without reading/writing the NuCache database files.
55+
### Using 'appsettings.json'
3956

40-
Startup duration may increase for larger sites during a "warm boot" but smaller sites should see minimal impact.
57+
```csharp
58+
{
59+
"Umbraco": {
60+
"CMS": {
61+
"NuCache": {
62+
"NuCacheSerializerType": "JSON"
63+
}
64+
}
65+
}
66+
}
67+
```
68+
69+
## Additional Settings
4170

42-
The settings have not yet been exposed via the new configuration setup, instead you must configure with a composer.
71+
You can configure NuCache to work in memory only without reading/writing to the NuCache database files. Startup duration may increase for larger sites during a "warm boot" but smaller sites should see minimal impact. The settings have not yet been exposed via the new configuration setup, instead you must configure with a composer.
4372

4473
```csharp
4574
public class DisableNuCacheDatabaseComposer : IComposer

13/umbraco-cms/reference/security/external-login-providers.md

+11-6
Original file line numberDiff line numberDiff line change
@@ -255,14 +255,19 @@ public class ProviderBackOfficeExternalLoginProviderOptions : IConfigureNamedOpt
255255
// Choose to automatically redirect to the external login provider
256256
// effectively removing the login button.
257257
options.AutoRedirectLoginToExternalProvider = false;
258+
259+
// [OPTIONAL]
260+
// Set the button color and look.
261+
options.ButtonColor = UuiButtonColor.Positive;
262+
options.ButtonLook = UuiButtonLook.Primary;
258263
}
259264
}
260265
```
261266
{% endcode %}
262267

263268
**Icons**
264269

265-
If you want to use a custom icon for the login button, you need to add the icon to the Umbraco backoffice. You can do this by adding the icon to the `~/App_Plugins/MyPlugin/BackOffice/Icons` folder. The icon should be a SVG file. The icon should be named the same as the icon name you specify in the `options.Icon` property.
270+
If you want to use a custom icon for the login button, you need to add the icon to the Umbraco backoffice. You can do this by adding the icon to the `~/App_Plugins/MyPlugin/BackOffice/Icons` folder. The icon should be an SVG file. The icon should be named the same as the icon name you specify in the `options.Icon` property.
266271

267272
{% hint style="info" %}
268273
You can use the [Umbraco Icon Picker](../../fundamentals/data/defining-content/README.md#adding-icons-to-the-document-type) to see available icons.
@@ -362,7 +367,7 @@ The `CustomBackofficeView` allows for specifying a JavaScript module to render a
362367
* You want to display something different where external login providers are listed: in the login screen vs the backoffice panel vs on the logged-out screen. This same view will render in all of these cases but you can use the current route parameters to customize what is shown.
363368
* You want to change how the button interacts with the external login provider. For example, instead of having the site redirect on button-click, you want to open a popup window to load the external login provider.
364369

365-
The path to the custom view is a virtual path, like this example: `"~/App_Plugins/MyPlugin/BackOffice/my-external-login.js"`.
370+
The path to the custom view is a virtual path, like this example: `"/App_Plugins/MyPlugin/BackOffice/my-external-login.js"`.
366371

367372
When a custom view is specified it is 100% up to this module to perform all required logic.
368373

@@ -374,7 +379,7 @@ The module should define a Custom Element and export it as default. The Custom E
374379
* `userViewState`: The current view state of the user. This can be one of the following values:
375380
* `loggingIn`: The user is on the login screen.
376381
* `loggedIn`: The user is on the backoffice panel.
377-
* `loggedOut`: The user clicked the logout button and is on the logged-out screen.
382+
* `loggedOut`: The user clicks the logout button and is on the logged-out screen.
378383
* `timedOut`: The user's session has timed out and they are on the timed-out screen.
379384

380385
**TypeScript**
@@ -396,7 +401,7 @@ interface IExternalLoginCustomViewElement {
396401

397402
**Examples**
398403

399-
The Custom Element can be implemented in a number of ways with many different libraries or frameworks. The following examples show how to make a button appear and redirect to the external login provider. You will learn how to use the `externalLoginUrl` property to redirect to the external login provider. The login form should look like this when you open Umbraco:
404+
The Custom Element can be implemented in several ways with many different libraries or frameworks. The following examples show how to make a button appear and redirect to the external login provider. You will learn how to use the `externalLoginUrl` property to redirect to the external login provider. The login form should look like this when you open Umbraco:
400405

401406
![Login form with custom external login button](./images/external-login-provider-javascript.png)
402407

@@ -475,7 +480,7 @@ class MyLitView extends LitElement {
475480
providerName: { type: String },
476481
displayName: { type: String },
477482
externalLoginUrl: { type: String },
478-
userViewState: { type: String }
483+
userViewState: { type: String, state: true }
479484
};
480485
}
481486

@@ -514,7 +519,7 @@ export default MyLitView;
514519

515520
### Static extension class
516521

517-
The extension class is required to extend on the default authentication implementation in Umbraco CMS. A generic example of such extension class can be seen below.
522+
The extension class is required to extend the default authentication implementation in Umbraco CMS. A generic example of such an extension class can be seen below.
518523

519524
{% tabs %}
520525
{% tab title="User Authentication" %}
Loading

0 commit comments

Comments
 (0)