This functionality is now available OOTB. For more information on this feature, please check out the DXP 2023.Q3 Release Notes. |
Release Notes
Compatibility with IBM WebSphere application server has been deprecated as of Q4.2023. Please migrate to another application server on the Compatibility Matrix. WebSphere compatibility is expected to be removed at the end of 2024.
Compatibility with Java JDK 8 runtime has been deprecated as of Q4.2023. Java JDK 11 is now the recommended runtime environment. All Java Technical Compatibility Kit (TCK) compliant builds of Java 11 are certified. DXP source compile and runtime compatibility for a higher Java JDK is expected in 2024.
This feature adds read-only support for all object fields types, making sure users are not able to update those fields from both the UI or APIs, only the system can: through default values or actions, for example.
This feature allows users to delete fields from published objects that were added before the object got published, giving more flexibility to admin users.
Make it easier for suppliers to manage products and orders with an OTB account type supplier, and a Generic Supplier role, that grants them the ability to manage their own product catalog(s) and channel. With this, they will have the ability to create product bundles with SKUs from Supplier Catalogs.
New Account Type of Supplier. A Supplier can be linked to a catalog and to a channel to allow the supplier to manage their own products, price lists, promotions, catalogs, discounts, inventory and channel in order to be able to fulfill orders for their own products.
We have enabled the integration with ChatGPT so texts can be generated from the Web Content editor.
There is a new button on the CKEditor (web content editor) that triggers a modal where users can write a prompt (instructions for the bot) and add additional parameters such as tone and length.
A new application, named Data Set Manager (Data Sets in the Control Panel) allows admins to define through a UI data set views for the different headless resources available. Admins will be able to choose the data source, as well as configure the columns to be available and the pagination options for the different views.
To enable this feature:
- Add feature.flag.LPS-167253=true to your
portal-ext.properties - Go to Instance settings > Feature Flags and enable “Data set manager” in the Beta tab.
In addition to the data set manager, two additional components have been added to provide the full value to the users:
- A new fragment, so these views can be integrated in any content page. Content managers will select the data set view to display on each fragment.
- A new frontend client extension, Frontend Data Set Cell Renderer, that allows developers to customize how any field of the data set view is rendered, providing total control of the look and feel of any column.
Improves the overall usability of the application and also the ability to reorder and add items. Also improve the accessibility of functionality:
- Now it is possible to move the items in a navigation menu using the keyboard.
- There is more flexibility when adding items to the navigation menu since you can now select the place where you want to add them to.
Now, when creating pages and display pages to visualize object entries, users can easily display related object entries. To enable this, we have added:
- In a one-to-many or many-to-many object relationships scenario, new related item collection providers access information of the “many” side of a one-to-many and many-to-many relationships. For example: a Countries object, and a related “cities” object for cities in those countries. This new capability allows users to easily list the cities that belong to a country, and other data from each city, via a related item collection provider.
- In a one-to-many object relationship, if we are listing or displaying the items of the “many” side, information of the “one” side is available for direct mapping as well. For example: a “Countries” object, and a related object for cities in those countries. When listing the cities, this new capability allows to easily display the country which each city belongs to.
- Attachment field attributes (such as download URL and file size) are now available for direct mapping.
Improved navigation through the different tabs and pages in Knowledge Base in the manage toolbar, sidebar search, sidebar primary button, priority and general interactions.
Table View is displayed in the Knowledge Base.
Publications can take up quite a bit of space in the database. While some users need an extensive history, others do not.
With this new feature we can provide an optional clean up to remove older publications for those who do not need the history.
Users can preview the changes of a wiki page within a publication.
We have refactored Ongoing, Scheduled and History tabs to use dataset display, and added a configuration to speed up review changes screen.
Operating Liferay (on-prem!) with Elasticsearch 8 as a search engine leveraging its REST API compatibility mode through the bundled Elasticsearch 7 connector allowing Liferay deployments to upgrade the Elastic Stack to 8.x (opt-in), while also keeping compatibility with 7.x.
General Upgrade Instructions:
Please refer to the documentation for more details.
- No action is required for deployments already using and insisting to stay on Elasticsearch
7. - Moving to Elasticsearch
8may require a full reindex depending on the choice of the upgrade path:- Upgrading the current Elasticsearch
7.xcluster to8.xand connect DXP (Upgrade Elasticsearch | Elasticsearch Guide [8.10] | Elastic , recommended) → No reindex required - Setting-up a new Elasticsearch
8.xcluster, connect DXP → Reindex required!
- Upgrading the current Elasticsearch
This is not a new connector, but enhancements to the existing bundled Elasticsearch 7 connector and other Elasticsearch-only features (like Commerce, Workflow Metrics or Search Tuning) leveraging the REST API compatibility mode of Elasticsearch 8 servers.
Liferay Portal 7.4 CE GA78 and Liferay DXP 7.4 Update 78 Tomcat Bundles and Docker Images come with Elasticsearch 7.17.10 for Sidecar.
This new frontend client extension allows users to replace the existing theme spritemap without the need to redeploy a theme. The spritemap should include all icons needed for the scope where it is used.
The Control Panel still uses the admin spritemap.
After registering the client extension, in the page template or page you need to use it, configure it from the design options menu:
To enable this client extension, do it from the Feature Flags management UI:
This feature allows developers to create or update an object and its related elements in a single request, optimizing the requests performed to the server, thus improving the overall performance of your solution.
Provided the necessary data for the related elements (ExternalReferenceCode, Id, etc), if the element already exists, it will relate the two objects, if the related element does not exist, it will create the object and it will relate them.
It is also possible to remove related elements by just updating the parent without the elements that are not related anymore.
Now, developers will be able to filter Custom Object Entries using the field values of the related elements for a given Object entry.
It is possible to filter as many levels as needed. The format of the filter query needs to be: relationshipName1[/relationshipName(i)]*/fieldNameN. Being relationshipName1, relationshipName(i), etc the different relationship names that join Object 1 with Object i, and fieldNameN being the name of the field of the latest Object definition on which the user wants to filter.
In addition to this, our nesting capabilities have been enhanced, so now it is possible to retrieve data for an Object entry and its related elements, supporting several levels of nesting.
The names of the different relationships to retrieve need to be specified in the nestedFields parameter, separated by commas. Additionally, the nestedFieldsDepth parameter with the number of levels to retrieve needs to be specified in order to indicate to Liferay how many levels it is necessary to nest.
Now users can manage the tags and categories associated with the Objects entries from the REST APIs. When an Object has Categorization enabled, properties for tags and categories will be exposed in the Object entries schemas. Users can retrieve the information, set or update the tags and categories associated with the Object entries as well as use the information of these fields to filter information
Now it is possible to manage and check the permissions of the object entries directly from the headless APIs.
For each object definition, two new endpoints are available. One to retrieve the permissions that apply to that individual Object entry and another one that allows users to set/update the permissions that apply to that entry.
Now it is possible to use all query parameters available from the API explorer. Parameters such as fields, nestedFields or flatten are accessible and ready to use in your test queries.
The instance administrator can create email templates including the first name.
With this new feature, Instance Administrator can export audit data filtered by user as well as filtered by site. They can also store site data for audit events.
We display some additional messages to Site and Site template Administrators when there is a Friendly URL collision between Site page and Site template page.
Two new configuration options were added:
- The first one gives the users the chance to automate an existing feature, which improves performance.
- The other one is about displaying the Advanced Staging configuration screen to the users, improving usability.
This is the Staging related implementation of a bigger change. On the Staging side, the LXC Client extensions (Remote apps) could be handled. To make this feature completely working, LPS-182183: Export/Import of FrontEnd Client Extensions is also needed.
Adds support for creating custom client extension development profiles in the same project.
For example, when the user creates a file called client-extension.dev.yaml , a new task will be available to the user called deployDev.
In order to allow developers to exclude directories from the build, a new property has been added: liferay.workspace.dir.excludes.globs=
This feature introduces the ability to create and manage custom picklists for product specifications. Users can now define specific values for product attributes, improving data consistency and efficiency. The feature includes the option to create new picklists or add existing ones directly on the specification page.
Roles Managers can now define permissions for Object entries directly within the Roles UI. A new “Objects” main menu item has been added to the Define Permissions tab, listing all Custom Objects, allowing easier granular permission assignment.
Users can now set a display date for the documents so they can scheduled them to be published in the future, just for one document or when uploading multiple documents. |
Users can now create, update, delete, and retrieve information about document shortcuts in a programmatic way using headless API’s. |
Some upgrade processes may not consider the ctColectionId column which may generate inconsistencies for customers using Publications, especially for older versions.
Add changeTrackingEnabled to the standard rest-config.yaml so that services must specify Publications support. This will simplify the process of enabling change tracking for future Headless APIs.
Data Migration Center users should be sufficiently notified if actions can only be made in Production, since DMC does not support Publications yet. |
We introduced a new feature to streamline workflows with 1:1 relationships between objects! Now, users can create and update nested objects directly from the primary object's CRUD views, and enjoy seamless delete and view operations translated from the Data Set Manager (DSM). This update makes managing data smoother and more efficient.
Elasticsearch 8.15.x has been tested and added to the compatibility matrix to the corresponding Liferay versions.
Note: Compatibility with newer Elasticsearch minor versions is tested in two ways:
Latest-Latest: Testing the latest Liferay version with the latest available minor version of Elasticsearch → e.g.
Master/2024.Q3 + Elasticsearch 8.15Minimum-Latest: Testing the minimum Liferay version where Elasticsearch 8 compatibility was first made available with the latest minor version of Elasticsearch →
DXP 7.4 U81/DXP 7.3 U31 + Elasticsearch 8.15
This way Liferay can allow a broader deployment base to operate their stack with an up-to-date search engine version.
As Elasticsearch is usually releases a new Minor version roughly every two months, this is a recurring process and a planed activity in each quarter.
Per Elastic’s product lifecycle, Elasticsearch 7.17.x versions are supported and maintained until Elasticsearch version 9 is released. While Elastic does not provide specific release dates for future releases, for Elasticsearch 9.0.0, the new release is anticipated in early calendar year 2025.
Therefore, Liferay strongly recommends all customers with 7.17.x deployments to begin the planning phase for an upgrade project to the latest compatible Elasticsearch 8.x version.
Compatibility with Elasticsearch 8 is available on 7.4 U81+. → Operating Liferay 7.4 GA/Update 81+ with Elasticsearch 8 - Liferay
Note: The Elasticsearch 8.x compatibility is provided through the bundled Elasticsearch 7 connector and the REST API Compatibility of Elasticsearch 8.
Liferay ships with an updated Elasticsearch connector using 7.17.21 as the client version and also as version of Sidecar Elasticsearch server for development and testing purposes.