Now users can export the Frontend Client Extensions that have been registered through the UI and import them in other instances. The system will generate a JSON file with all the information needed.
Release Notes
Now users can export the Frontend Client Extensions that have been registered through the UI and import them in other instances. The system will generate a JSON file with all the information needed.
In order to use supported JDK versions, we are upgrading to Gradle 7 to use newer JDK.
The integration of ChatGPT with our Web Content editor is now available OOTB.
The ability to map and trigger standalone Object Actions from the Page Builder is now available OOTB. |
Now the “Theme SVG Spritemap” frontend client extensions is enabled by default.
Dynamic Data Lists is deprecated and replaced by Objects. DDL has been deprecated as of 7.3, and the Deprecation flag was added to prevent new integrations using DDL (customers that upgrade will still see it).
DDL is planned to be removed in 2024, please migrate your data to Objects before then.
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 a new field type “Date and Time”. A Datetime value stores a year, month, day, time, and time zone. With this field, users will also be able to create time ranges, manage priorities and order entries well, and to give more context and assertiveness to the data.
This feature empowers users to create content use cases on top of objects framework, allowing admins to enable localization for objects' entries text fields.
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.
In order to make it easier for users to configure certain accessibility properties to their liking or needs, we have created our Accessibility Menu.
The Accessibility Menu allows each user to customize certain accessibility settings in a specific way, so that DXP has a custom accessibility setup based on the needs of that user. It can be accessed via keyboard navigation using Tabulation, right after the “Skip to Content” option.
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:
portal-ext.propertiesIn addition to the data set manager, two additional components have been added to provide the full value to the users:
This feature applies the GDPR rules to the object entries. When the admin chooses to delete User's Personal Data, the object entries related to that user will also be deleted.
This feature allows developers to add email notifications directly into the notifications queue. It is useful when the email notification templates do not support a necessary custom logic that the template requires without requiring customers to re-write the entire email engine logic.
As it was done with 404 feature, now this feature is enabling our customers to fully adapt their users' experience providing an OOTB 500 error page fully customizable and allowing creation of new ones from scratch.
Improves the overall usability of the application and also the ability to reorder and add items. Also improve the accessibility of functionality:
Fragments now provide editable types to map Link to Page field types that can be found in structures.
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 order to improve the information we display at the Content Dashboard, we have added a new column with the Review Date value. With this new column, users have an easy way to view all contents where the review is needed. In addition, we have developed a new Filter to give the capability to show only the contents to be reviewed.
Note: This change will require a full reindex to work, so the new field can be propagated.
Filter by Review Date:
Traditionally, it has been complex and tedious to configure the necessary permissions that would make the Control Menu not visible for logged-in users. As soon as one permission was not configured properly, the Control Menu would be visible for these users.
This was previously managed by a specific logic inside the Theme, but now, we have made it easier to control and configure with a new setting.
Now, customers can easily control visibility of the Control Menu per role, within Site Settings >> Site Configuration >> Menu Access.
This feature adds a HTML template that provides more context for the email notifications users get when Message Added Email and Message Updated Email are triggered on Message Boards.
For this, three new terms were added:
Users can set different permissions for download and for viewing documents.
Option of rating added to Folders and the endpoints for Documents rated by me, Folders rated by me have been created.
Ability to set expiration and review dates for articles, and to view which articles are pending expiration.
Improved navigation through the different tabs and pages in Knowledge Base in the manage toolbar, sidebar search, sidebar primary button, priority and general interactions.
The list of working in progress for Publishing features can be found at Publications update 2023/06/13. We have improved performance, while also making the wiki pages change tracked. It has also been implemented a mechanism to remove publications that are more than 6 months old.
This new feature allows content editors to view the only publications that included modifications to a particular asset.
With this new feature an admin should be able to help preconfigure a publication to help facilitate their unique workflows.
Publication templates can be leveraged to provide naming patterns to any created publication. Tokens are provided to allow each publication to have unique names.
Admins can also assign roles to users immediately during publication creation.
Support for Object displays pages in the search results, aggregating (via Custom Facet widget), filtering (Custom Filter widget) and sorting (Sort widget) using Object fields that are indexed as Nested Fields in Elasticsearch, similar to Web Content Structure (DDM) fields.
Automatically register a collection provider for each search blueprint. By displaying the blueprint's results in a collection display fragment, you can leverage search to return your assets dynamically, and reap the benefits of the fragments toolbox to lay out the page.
Search the company index for matching content through a single endpoint and build custom search experiences. Supports facets with translated display terms and also custom searching, filtering, aggregation and sorting through Search Blueprints (DXP ONLY)
Liferay Portal 7.4 CE GA88, Liferay DXP 7.4 Update 88 bundled with the latest available version of Elasticsearch 7.x for Sidecar (7.17.12, as of Aug 7, 2023).
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.
The batch engine API allows developers to export/import data, but it requires developers to provide a configuration with multiple parameters. With the new auto-generated endpoints, it is easier to perform export operations in the portal. The export endpoints are asynchronous, so it will provide a taskId in order to retrieve/download the records requested.
The endpoints follow this format:
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.
When the users are authenticated through SSO and IdP, it is possible to remove the ability of the end users to add or edit their passwords.
As an Instance Administrator, you are able to configure if the users have the option to give their password at registration and you can remove the whole password block from editing user data, if the password is not changeable by the password policy of the user.
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.
From now on, users can view the summary of failed staging processes, which can help them to solve the issue(s) which caused the staging process to fail.
Using LAR files for export/import in the portal are stored in DM. These LAR files can increase the size of the DM significantly. We have changed this, so the LARs are not kept in the DM after the export/import process.
Before the Import process starts, users are now asked via a confirmation dialog if the user is sure about deleting application data . Also, we have improved the error message for Staging related references.
As a Site Template Administrator: template propagations are run completely in the background and background tasks are executed in a sequence. The LAR from the Site Template export is cached, so different Sites can reuse it.
LayoutSetPrototypeMergeBackgroundTaskExecutor always uses the latest Template version for the propagation.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.
upgrade.log.context.name. Now all upgrade related log lines are automatically tagged with the key upgrade.component, which provides more meaningful information.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.
Kaleo Forms was already in maintenance mode. It is now being moved to deprecated, so it can be removed at the same time as DDL in about a year. This solution is being replaced by Objects, Workflow, and Form Container Fragments.
These modules are obsolete ones and are no longer being used. They have been moved to deprecate and later it will be removed.
A new out-of-the-box (OOTB) email notification template based on Objects. This template will be automatically sent to the order creator when an order status changes to 'pending'.
The notification includes:
Order number
Order date
Account name
Shipping address
Order item summary
Order total
We will move away from Commerce notifications and deprecate them and we will use Objects for the new ones.
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.
Enhance your checkout experience by offering customers accurate UPS shipping costs based on their order details. Easily integrate this feature into your online store with our client extension available for purchase on the Marketplace.
Enhance Your Online Store with Adyen Payment Connector.
Liferay DXP now offers seamless integration with Adyen, a leading global payment platform. This powerful combination empowers businesses to accept a wide range of payment methods, reduce fraud, and optimize checkout processes. By simplifying payment management, Liferay DXP with Adyen helps you focus on growing your business.
The main change in this initiative is the new capability to control Analytics Cloud (AC) tracking through the cookie manager. We have updated the description of the Explicit Cookie Consent Mode to clarify that enabling this configuration via Preference Handling will disable Analytics Cloud tracking and other features. Now, if the Explicit Cookie Consent Mode is enabled, no cookies are set until the user agrees to their usage; otherwise, all cookies are set until the user opts out of them.
We have also introduced a new Utility Page, named Cookies List, which serves as a central hub for all cookies supported by Liferay. This page lists all four categories of cookies (strictly necessary, functional, performance, and personalization) and provides detailed information on each specific cookie, including its purpose and expiration date. For that, we have created new system objects to facilitate the management of cookies. If customers use additional third-party cookies, they can easily add new entries for these cookies, and they will automatically be displayed on the Utility Page.
Additionally, once a user is suppressed, their data is completely anonymized, making it impossible to trace any data back to a specific individual.
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 readily spot documents & media that is not visible to Guest users through an icon, whether it's in list, card or table view or within the document editor. Additionally, this feature is accessible in the item selector, empowering users to discern which documents are not viewable by Guest users.
Users can now create, update, delete, and retrieve information about document shortcuts in a programmatic way using headless API’s. |
Since Publications provides a final end point for users to review changes, it would benefit content editors tremendously if they could also review their workflow changes.
There is an unacceptable decrease in performance observed within large Publications. With publications housing a large number of individual changes, the current system struggles to maintain acceptable performance levels, especially during conflict checking and publishing publications. These two phases leverage handwritten SQL queries to perform those tasks that allow Publications a shortcut through our persistence layer to maximize performance in small publications. In large publications though, further considerations must be taken to ensure consistent performance.
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.