Ibexa DXP v4.5¶
Version number: v4.5
Release date: May 12, 2023
Release type: Fast Track
Update: v4.4.x to v4.5
Notable changes¶
All-new Ibexa Commerce packages ¶
This release brings new packages to complement the redesigned and reconstructed Commerce offering. You can use them to further enhance your e-commerce presence:
ibexa/order-management
ibexa/payment
ibexa/shipping
Modules can interact with each other, for example, to decrease stock as a result of a sale, or cancel shipments and payments when orders are cancelled, and so on.
Order management¶
With order management in place, it is now possible to create orders, configure and customize the order processing workflow, as well as manage orders by using the APIs.
New screens added to the Back Office user interface let Ibexa DXP users search for orders and filter search results. Users can also review order details and completion status, as well as cancel orders.
Payment¶
The all-new Payment module brings a possibility of tracking payment progress and defining a custom payment processing workflow. New Back Office screens allow users to search for payment methods and payments, as well as define, enable and disable offline payment methods.
Additionally, new APIs are available, which can be used for managing payment methods and payments.
Shipping¶
With the arrival of the Shipping module, it is now possible to define and manage shipping methods of different types, together with their related costs, on a dedicated Back Office screen, as well as configure and customize the shipment workflow.
New APIs enable managing shipping methods and payments, while an extension point can be used to expand the default list of shipping method types.
For more information, see Commerce.
New commerce page blocks ¶
This release introduces new page blocks:
- Bestsellers block displays a list of products from PIM that were recently a bestseller.
- React app block allows an editor to embed a preconfigured React application in a page. React app block requires configuration. For more information, see React App Block configuration.
Translation comparison¶
With this release, you can compare different versions of translations of a content item, including comparison between different languages.
You can now choose between two new options of the view:
- Split - default, side by side view to compare versions of the same or different languages
- Unified - single column view to compare versions of the same language
Now, when you compare different versions within the same language, the system highlights the changes using colors:
- yellow - content updated
- blue - content added
- red - content deleted
For more information, see Translation comparison.
Page Builder for B2B portals ¶
With this release, you will be able to use Page Builder to create custom Customer Portals for your clients. With new Sales rep page block and using all available blocks from the original Page Builder, you can create a unique experience for each customer group. Additionally, you can assign each customer group to a specific Customer Portal or create an availability hierarchy based on rules and configuration.
For more information, see backend configuration and user guide on how to create and edit Customer Portals.
Personalization improvements¶
New B2B models in Personalization engine¶
Personalization engine introduces two new types of models: last clicked and last purchased B2B, and B2B recurring purchase models, dedicated to B2B users. Built on the fly, and based on segment groups, the models return actual items clicked by users with the same segment ID and actual bought items. B2B recurring purchase model anticipates and predicts purchase of products that were bought recursively within the same segment ID.
Segment management¶
Now you can use segmentation logic with operators to build complex segment groups which enable precise filtering. With intuitive drag-and-drop interface, define rules, add logic operators and nest segments in segment groups to get the most accurate, precise and targeted recommendations for your customers.
For more information, see Segment management.
Other changes¶
Customer Data Platform (CDP) configuration¶
In this release, the CDP configuration becomes more generic
and allows supporting other transport types accepted by CDP.
Currently, only stream_file
transport is supported and can be initialized from the configuration.
Ibexa DXP v4.5 adds the abstraction that allows you to implement other transport types from third parties. For more information, see CDP configuration.
API improvements¶
REST API for company accounts ¶
This release adds new endpoints that allow you to manage companies in your platform with REST API:
- GET
/corporate/companies
- supports pagination and existing Content Criteria and Sort Clauses but via query parameters - POST
/corporate/companies
- creates a company - GET
/corporate/companies/{companyId}
- loads a company - DELETE
/corporate/companies/{companyId}
- deletes a company - PATCH
/corporate/companies/{companyId}
- updates company data - GET
/corporate/companies/{companyId}/members
- supports filtering, sorting, and pagination - POST
/corporate/companies/{companyId}/members
- creates new member in a company - GET
/corporate/companies/{companyId}/members/{memberId}
- loads a member from a company - DELETE
/corporate/companies/{companyId}/members/{memberId}
- deletes a member from a company - PATCH
/corporate/companies/{companyId}/members/{memberId}
- updates member data
PHP API for company accounts ¶
To create a company with proper structure and shipping address by using PHP API, we recommend new
\Ibexa\Contracts\CorporateAccount\Service\CorporateAccountService::createCompany
service instead of
\Ibexa\Contracts\CorporateAccount\Service\CompanyService::createCompany
.
REST API for order management ¶
This release adds new endpoints that allow you to manage orders by using REST API:
- GET
/orders/orders
- loads a list of orders - POST
/orders/orders
- creates an order - GET
/orders/order
- loads an order by its identifier - GET
/orders/order/{id}
- loads an order - POST
/orders/orders/{id}
- cancels an order - PATCH
/orders/orders/{id}
- updates an order
PHP API for order management ¶
The Order Management package provides the Ibexa\Contracts\OrderManagement\OrderServiceInterface
service, which is the entrypoint for calling the backend API for managing orders.
PHP API for shipping methods and shipments ¶
The Checkout package provides the following services that are entrypoints to the backend API:
Ibexa\Contracts\Shipping\ShipmentServiceInterface
for managing shipmentsIbexa\Contracts\Shipping\ShippingMethodServiceInterface
for managing shipment methods
PHP API for payment methods and payments ¶
The Payment package provides the following services that are entrypoints to the backend API:
Ibexa\Contracts\Payment\PaymentServiceInterface
for managing paymentsIbexa\Contracts\Payment\PaymentMethodServiceInterface
for managing payment methods
Category filter in product search¶
To help users search for products, products in the main catalog view can now be filtered by product category.
Product aggregations¶
Product search now supports aggregations, with the following aggregations available:
- Product attribute - based on product attribute values
- ProductAvailabilityTerm - based on product availability
- ProductPriceRange - based on product price
- ProductTypeTerm - based on product type
The new TaxonomyEntryIdAggregation aggregates results based on content taxonomy entries or product categories.
Tag identifiers¶
The taxonomy entry identifier uniqueness has been changed from globally unique to unique per taxonomy. It's no longer necessary to take other taxonomies into account when creating tags in a taxonomy.
Password security¶
You can now enhance password security with a setting that prevents using passwords that have been exposed in a public breach. To do it, the system checks the password against known password dumps by using the https://haveibeenpwned.com/ API.
See Breached passwords for more information.
Ibexa Connect¶
For list of changes in Ibexa Connect, see Ibexa app release notes.
Deprecations¶
ibexa/admin-ui
¶
Changes:
\Ibexa\PageBuilder\Siteaccess\SiteaccessService::resolveSiteAccessForContent
moved to\Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface
Deprecations:
\Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface::getSiteaccessesForLocation
replaced by\Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface::getSiteAccessesList
\Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface::getSiteaccesses
replaced by\Ibexa\AdminUi\Siteaccess\SiteaccessResolverInterface::getSiteAccessesListForLocation
Full changelog¶
Ibexa Content | Ibexa Experience | Ibexa Commerce |
---|---|---|
Ibexa Content v4.5 | Ibexa Experience v4.5 | Ibexa Commerce v4.5 |
v4.5.1¶
Product category tree filter¶
In the main catalog view, the tree of categories now has a search input to reduce the tree to matching categories.
Product stock criteria and aggregation¶
Product search now supports stock availability:
- ProductStock Criterion - searches for products with a stock compared to a given number
- ProductStockRange Criterion - searches for products with a stock in a given range
- ProductStockRangeAggregation - aggregates search results by products' stock ranges
X-Expected-User
REST request header¶
The X-Expected-User
header checks that the REST request is executed with the desired user (and not, for example, the Anonymous user because of an expired authentication).