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
6 changes: 5 additions & 1 deletion 13/umbraco-ui-builder/known-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Umbraco UI Builder tries its best to mimic the content pipeline as closely as po

## Property Editors

### Tags
### Tags

Whilst we have support for persisting the tag's value, we don't currently have the ability to write these tags to the `cmsTags` DB table. This is all handled via a `tagsRepository` which is internal so we currently can't save to it as core does.

Expand All @@ -19,3 +19,7 @@ When using a Multi-Node Tree Picker with an XPath filter, only filters starting
### RTE Macros

Macros in Rich Text Editors don't appear to work properly due to the preview mechanism. They save and run on the front end, but you'll get an error notification in the backoffice as it tries to render a preview.

### Block Editors

The Block Editors (Block List/Block Grid) are not supported due to an `undefined` error with `umbVariantContent` in the `$scope` chain.
5 changes: 5 additions & 0 deletions 13/umbraco-ui-builder/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ If you are upgrading to a new major version, check the breaking changes in the [

This section contains the release notes for Umbraco UI Builder 13 including all changes for this version.

#### [**13.2.0**](https://github.com/umbraco/Umbraco.UIBuilder.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.2.0) **(March 4th 2025)**

* Updated licensing engine.
* Fixed issue with import entity action for Umbraco Cloud websites [#92](https://github.com/umbraco/Umbraco.UIBuilder.Issues/issues/92)

#### [**13.1.7**](https://github.com/umbraco/Umbraco.UIBuilder.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F13.1.7) **(January 22nd 2025)**

* Added updates to the licensing engine.
Expand Down
35 changes: 27 additions & 8 deletions 15/umbraco-ui-builder/advanced/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ builder.CreateUmbracoBuilder()
Raised when the repository `Save` method is called and before the entity has been persisted. The notification contains an `Entity` property with `Before` and `After` inner properties. These properties provide access to a copy of the currently persisted entity (or null if a new entity) and the updated entity that´s saved.
Changes can be made to the `After` entity and they will be persisted as part of the save operation. If the `Cancel` property of the notification is set to `true` then the save operation will be canceled and no changes will be saved.

````csharp
```csharp
// Example
public class MyEntitySavingEventHandler : INotificationHandler<EntitySavingNotification> {

Expand Down Expand Up @@ -72,7 +72,7 @@ public class MyEntitySavedEventHandler : INotificationHandler<EntitySavedNotifi
}

}
````
```

### **EntityDeletingNotification**

Expand All @@ -97,7 +97,7 @@ public class MyEntityDeletingEventHandler : INotificationHandler<EntityDeleting

Raised when the repository `Delete` method is called and **after** the entity has been deleted. The notification contains an `Entity` property providing access to a copy of the entity that´s deleted.

````csharp
```csharp
// Example
public class MyEntityDeletedEventHandler : INotificationHandler<EntityDeletedNotification> {

Expand All @@ -110,13 +110,13 @@ public class MyEntityDeletedEventHandler : INotificationHandler<EntityDeletedNo
}

}
````
```

### **SqlQueryBuildingNotification**

Raised when the repository is **preparing** a SQL query. The notification contains the collection alias + type, the NPoco `Sql<ISqlContext>` object, and the where clause/order by clauses. These will be used to generate the SQL query.

````csharp
```csharp
// Example
public class MySqlQueryBuildingEventHandler : INotificationHandler<SqlQueryBuildingNotification> {

Expand All @@ -126,13 +126,13 @@ public class MySqlQueryBuildingEventHandler : INotificationHandler<SqlQueryBuil
}

}
````
```

### **SqlQueryBuiltNotification**

Raised when the repository has **repaired** a SQL query. The notification contains the collection alias + type, the NPoco `Sql<ISqlContext>` object and the where clause/order by clauses that was used to generate the SQL query.

````csharp
```csharp
// Example
public class MySqlQueryBuiltEventHandler : INotificationHandler<SqlQueryBuiltNotification> {

Expand All @@ -142,4 +142,23 @@ public class MySqlQueryBuiltEventHandler : INotificationHandler<SqlQueryBuiltNo
}

}
````
```

## Repository events validation

Starting with version `15.1.0`, complex server-side validation can be added to a collection by calling the `CancelOperation` method of the notification.

```csharp
// Example
public class MyEntitySavingEventHandler : INotificationHandler<EntitySavingNotification> {

public void Handle(EntitySavingNotification notification)
{
var person = notification.Entity.After as Person;
if (person != null && person.Age < 18) {
notification.CancelOperation(new EventMessage("ValidationError", "Custom validation error message raised from the notification handler"));
}
}

}
```
6 changes: 6 additions & 0 deletions 15/umbraco-ui-builder/known-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,9 @@ Umbraco UI Builder strives to closely mimic the content pipeline while adhering
### Tags

While Umbraco UI Builder supports persisting tag values, it currently does not write these tags to the `cmsTags` database table. This functionality is managed by the internal `tagsRepository`, which is not publicly accessible, preventing direct saving in the same manner as Umbraco Core.

### Block Editors

Block Editors (Block List/Block Grid) are not currently supported due to casting errors between the JSON string representation and collection property.

An implementation to address this is investigated and will be scheduled for a future major release.
9 changes: 9 additions & 0 deletions 15/umbraco-ui-builder/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,15 @@ If you are upgrading to a new major version, check the breaking changes in the [

Below are the release notes for Umbraco UI Builder 15, detailing all changes in this version.

#### [**15.1.0**](https://github.com/umbraco/Umbraco.UIBuilder.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F15.1.0) **(March 4th 2025)**

* Updated licensing engine.
* Fixed issue with import entity action for Umbraco Cloud websites [#92](https://github.com/umbraco/Umbraco.UIBuilder.Issues/issues/92).
* Added feature to allow server-side complex validation using [repository events](advanced/events.md).
* Enable sorting a list view based on the `Name` column.
* Fixed issue with `SetHeading` collection property.
* Fixed issue with setting a list view page size programmatically using `SetPageSize`.

#### [**15.0.3**](https://github.com/umbraco/Umbraco.UIBuilder.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F15.0.3) **(February 5th 2025)**

* Fixed an issue with filter input values persistence for filterable properties.
Expand Down