|
Tip
|
The 3.x versions are Spring Boot 4.1 compatible. |
|
Important
|
Requires Metadata Service 3.0.0 (Release Train 3.0.0) |
When a Product Characteristic is created, updated, or deleted, the Catalog Service now publishes a CharacteristicModifiedEvent message.
The Metadata Service consumes this event and automatically creates, updates, or deletes the corresponding Metadata Augmentations (under the catalog:products:update container) based on whether the characteristic has been flagged as "targetable in rule builders."
Supported characteristic value types (STRING, DECIMAL/NUMBER, INTEGER, ENUM, BOOLEAN) are automatically mapped to their respective Admin UI field types, with ENUM values being dynamically populated as select options.
Zero-Touch Automation: No manual creation or deployment of Metadata files to expose characteristics in rule-builders (e.g., target item rule builders for pricing, campaigns, or promotions).
Frictionless Syncing: Any changes to characteristic names, types, or enumeration values are automatically and dynamically synchronized with their corresponding Metadata Augmentations in near real-time.
Reduced Human Error: Eliminates the risk of misconfiguring JSON augmentation payloads or missing manual configuration steps during administrative updates.
This feature works out-of-the-box with zero required code changes or manual configurations.
* In the Admin Console: Simply enable the Targetable in Rule Builders option when creating or updating any Product Characteristic.
The Catalog and Metadata services will handle the rest in the background.
* Infrastructure Configuration: If you customize or override default messaging bindings, ensure that the Catalog Service output binding characteristicModifiedOutput and the Metadata Service input binding characteristicModifiedInputMetadata are both connected to the same messaging destination (defaults to characteristicModified).
Fixed various bugs with placeholder characteristics
Fixed a bug where CharacteristicValidator was not allowing empty values for placeholder characteristics
Removed the synchronizePlaceholderCharacteristics method and a variety of related specialized behavior for placeholder characteristics from DefaultProductHydrationService.
Fix property paths for ProductCharacteristic validations to ensure we are always targeting valid paths instead of relying on auto-grow-nested path behavior from Spring
Originally this behavior was intended to work around limitations of the admin frontend application, but had the consequence of corrupting certain fields.
The admin frontend has been updated to properly interpret and send placeholder characteristic values, so the incorrect backend workarounds have been removed.
Fixed a bug where Characteristic.id was using @JsonView(ResponseView.class), preventing the Characteristic ID from coming through on Product update calls even in a nested context.
As part of this, the characteristic update endpoint now sets the id on the submitted body from the path variable, so the path is always authoritative for which characteristic is updated.
Fixed a bug where policy validation would reject product update attempts if the API caller only had the UPDATE_PRODUCT permission, but a new product characteristic was being created as part of that request
Fixed a bug where inactive and date-expired catalog records were skipped by processes that do not run in a storefront request. The active-flag and active-date filters are now disabled when handling catalog entity deletion events, when running product bulk updates, and when reading variants for variant-based product type validation, so each of those processes sees every record it is meant to act on. Previously an inactive product could survive a deletion event and an inactive variant could be missed by product type validation.
Fixed the property paths reported in product validation errors for product characteristics.
Errors were previously reported against nested paths such as characteristics['<key>'].characteristic and characteristics['<key>'].value[0], which relied on Spring’s auto-grow-nested-path behavior and could fail to resolve.
Reference errors and cardinality errors are now reported against characteristics['<key>'], and cardinality errors on business-type characteristics against characteristics.
Clients that map validation messages to form fields using the field value in the error response need to be updated to the new paths.
Fixed issues with adding product options from Template Group