Skip to content

Commit b928ed7

Browse files
Umbraco Commerce v15.1.0-rc release notes
1 parent 577c6ff commit b928ed7

File tree

7 files changed

+178
-0
lines changed

7 files changed

+178
-0
lines changed

15/umbraco-commerce/SUMMARY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
* [Update Cart](how-to-guides/update-cart.md)
3737
* [Delete item from Cart](how-to-guides/delete-item.md)
3838
* [Customizing Templates](how-to-guides/customizing-templates.md)
39+
* [Configuring Store Cleanup](how-to-guides/configuring-cart-cleanup.md)
3940

4041
## Key Concepts
4142

@@ -71,6 +72,7 @@
7172
* [UI Extensions](key-concepts/ui-extensions/README.md)
7273
* [Analytics Widgets](key-concepts/ui-extensions/analytics-widgets.md)
7374
* [Entity Quick Actions](key-concepts/ui-extensions/entity-quick-actions.md)
75+
* [Order Line Actions](key-concepts/ui-extensions/order-line-actions.md)
7476
* [Order Properties](key-concepts/ui-extensions/order-properties.md)
7577
* [Order Collection Properties](key-concepts/ui-extensions/order-collection-properties.md)
7678
* [Order Line Properties](key-concepts/ui-extensions/order-line-properties.md)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
description: Learn how to configure a cart cleanup routine.
3+
---
4+
5+
# Configuring Cart Cleanup
6+
7+
{% hint style="info" %}
8+
Available from Umbraco Commerce 15.1.0
9+
{% endhint %}
10+
11+
By default Umbraco Commerce will keep all created carts indefinately. Over time this can obviously become an issue. To assist with this is it possible to configure a cart cleanup routine to delete carts older than a pre-configured time interval.
12+
13+
This service can be enabled and configured in the `appSettings.json`
14+
15+
```json
16+
{
17+
"Umbraco" : {
18+
"Commerce": {
19+
"CartCleanupPolicy": {
20+
"EnableCleanup": true,
21+
"KeepCartsForDays": 800,
22+
// Below settings are optional
23+
"FirstRunTime": string; the time to first run the scheduled cleanup task, in crontab format
24+
"Period": string; how often to run the task, in timespan format
25+
// Configure diffrent policies per store
26+
"PerStorePolicies": {
27+
"StoreAlias": {
28+
"KeepCartsForDays": 800,
29+
}
30+
}
31+
}
32+
}
33+
}
34+
}
35+
```
36+
37+
## Cart Conversion Rates Widget
38+
39+
When enabling the cart cleanup service, it's important to know that this can affect the cart conversion rates widget in the analytics section. If the widget is configured to show a time period that exceeds the cleanup policies time frame then a warning will be displayed.
40+
41+
![Cart Conversion Rate date range exceeds the cart cleanup policy configuration warning](../media/v14/cart-conversion-rates-warning.png)
42+
43+
44+
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
description: Order Line Actions UI Extension for Umbraco Commerce
3+
---
4+
5+
# Order Line Actions
6+
7+
{% hint style="info" %}
8+
Available from Umbraco Commerce 15.1.0
9+
{% endhint %}
10+
11+
Order Line Actions allow you to display buttons against each order line of a cart / order allowing you to perform custom actions per order line.
12+
13+
![Custom Order Line Action](../../media/v14/order-line-action.png)
14+
15+
## Registering an Order Line Action
16+
17+
```typescript
18+
import { UcManifestOrderLineAction } from "@umbraco-commerce/backoffice";
19+
20+
export const manifests : UcManifestOrderLineAction[] = [
21+
{
22+
type: 'ucOrderLineAction',
23+
kind: 'default',
24+
alias: 'My.OrderLineAction.MyOrderLineAction',
25+
name: 'My Order Line Action',
26+
weight: 300,
27+
forEntityTypes: [ 'uc:cart', 'uc:order' ],
28+
api: () => import('./my-order-line-action.api.js'),
29+
meta: {
30+
label: "#orderLineActions_myOrderLineAction",
31+
icon: 'icon-star'
32+
}
33+
}
34+
];
35+
36+
extensionRegistry.register(manifests);
37+
```
38+
39+
Each entry must have a type of `ucOrderLineAction` along with a unique `alias` and `name`. Unless you wish to override the button, the `kind` key should be set to `default`. An `api` key should be defined that imports the implementation of the `UcOrderLineActionApi` interface.
40+
41+
A `meta` entry provides configuration options for order line actions:
42+
43+
| Name | Description |
44+
| -- | -- |
45+
| `label` | A label for this action (supports the `#` prefix localization string syntax) |
46+
| `icon` | In icon to display for the action |
47+
48+
## The Order Line Action API
49+
50+
In order to define the logic to perform when an order line action button is clicked, you'll need to implement the `UcOrderLineActionApi` interface. This interface is defined as
51+
52+
```typescript
53+
export interface UcOrderLineActionApi extends UmbApi {
54+
manifest: UcManifestOrderLineAction;
55+
storeId: string;
56+
orderId: string;
57+
orderLineId: string;
58+
execute(): Promise<void>;
59+
}
60+
```
61+
62+
This provides order line action implementations with access to the defined `manifest` and contextual information via the `storeId`, `orderId` and `orderLineId` properties and expects the implementation of an `execute` method to act.
63+
64+
An example implementation would be
65+
66+
```typescript
67+
// my-order-line-action.api.js
68+
69+
import { UcOrderLineActionApi, UcManifestOrderLineAction } from "@umbraco-commerce/backoffice";
70+
import { UmbControllerBase } from "@umbraco-cms/backoffice/class-api";
71+
72+
export default class MyOrderLineActionApi extends UmbControllerBase implements UcOrderLineActionApi {
73+
manifest!: UcManifestOrderLineAction;
74+
storeId!: string;
75+
orderId!: string;
76+
orderLineId!: string;
77+
async execute() {
78+
console.log(`You clicked ${this.manifest!.meta.label} for order line ${this.orderLineId}`);
79+
return Promise.resolve();
80+
}
81+
}
82+
```
43.6 KB
Loading
19.5 KB
Loading

15/umbraco-commerce/release-notes/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ If you are upgrading to a new major version, check the breaking changes in the [
1717

1818
This section contains the release notes for Umbraco Commerce 14 including all changes for this version.
1919

20+
#### 15.1.0-rc1 (TBD)
21+
22+
Read the [v15.1.0-rc release post](./v15.1.0-rc.md) for further background on this release.
23+
24+
* Added cart cleanup service
25+
* Added order line actions UI extension point
26+
2027
#### 15.0.1 (5th Feb 2025)
2128

2229
* Fixed `TranslatedValue` erroring if the language key was `null`, instead of falling back to the default value.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
description: Umbraco Commerce v15.1.0-RC release notes.
3+
---
4+
5+
# v15.1.0-RC
6+
7+
## Key Takeaways
8+
9+
* [Cart Cleanup Service](v15.1.0-rc.md#cart-cleanup-service).
10+
* [Order Line Actions](v15.1.0-rc.md#order-line-actions)
11+
12+
## Cart Cleanup Service
13+
14+
The cart cleanup service is a new background service that periodically cleans up old abandoned carts. This service is off by default, but can be enabled via app settings.
15+
16+
```json
17+
{
18+
"Umbraco" : {
19+
"Commerce": {
20+
"CartCleanupPolicy": {
21+
"EnableCleanup": true,
22+
"KeepCartsForDays": 800
23+
}
24+
}
25+
}
26+
}
27+
```
28+
29+
See the [Configuring Cart Cleanup guide](../how-to-guides/configuring-cart-cleanup.md) for more details.
30+
31+
## Order Line Actions
32+
33+
Order line actions are a new UI extension point that lets you register custom buttons to display against each order line of a cart / order.
34+
35+
![Custom Order Line Action](../media/v14/order-line-action.png)
36+
37+
See the [Order Line Actions docs](../key-concepts/ui-extensions/order-line-actions.md) for more details.
38+
39+
## What to Test and How to Give Feedback
40+
41+
We welcome any feedback on installation or upgrade issues, as well as any bugs found in the sections mentioned above.
42+
43+
Issues can be raised on the Umbraco Commerce issue tracker at [https://github.com/umbraco/Umbraco.Commerce.Issues/issues](https://github.com/umbraco/Umbraco.Commerce.Issues/issues).

0 commit comments

Comments
 (0)