RELEASE NOTES

2023 Q4 Quarterly Release

Highlights

Sites

Elevate your Page-Building experience

We are thrilled to introduce a groundbreaking feature that gives our customers the power to leverage pre-built tools like the Page Editor and Content Pages to design and manage their business processes. This includes creating comprehensive data ingestion and management experiences for a variety of scenarios like onboarding, customer portals, supplier portals ticketing systems, and more. Thanks to this new capability, our customers can enhance their operations, boost efficiency, and enjoy a seamless, user-friendly experience like never before. But that is not all – we have also got your back when it comes to performance. Real-time feedback keeps you informed about potential performance implications as you are putting your pages together, ensuring that your publish runs smoothly the first time out.

Features added in this Release:

Richer Data Management experiences with the possibility to update Object entries from Display Pages

Aiming to provide a better way to manage Object entries, now Display Pages allow the creation of Object Edit experiences, using Forms Container and Fragments.

When using a Form Container in a Display Page, submitting it will now update the object entry being displayed.


This, combined with the possibility to use multiple display pages at the same time, and the new “Save as Draft” option for objects, enable a whole new set of possibilities for customers, such as creating multi-step processes out of the box.

Availability:
Release flag*
Flexibility to work with multiple Display Page Templates for the same entity at the same time

Now, if an asset type (for example, an Object definition) has several related Display Page Templates, and one of them is marked as Default, we allow to map links to any of the existing Display Page Templates for that Asset Type, in addition to the Default one.

This new possibility allows some interesting use cases for customers, such as:

  • Differentiated View Display Page and Edit Display Page for Object entries.
  • Multi-step processes (that need different step URLs) can be now created by using one Display Page per step.
Availability:
Release flag*

Easier performance debugging with new tool to prevent performance issues in content pages

Now the users can easily identify components that may cause performance issues in their Pages.

We have added a new tab on the Page Audit to show the users the back-end render times of the different components, as well as warnings to help identify specific components configurations that may lead to performance issues. Those warnings also appear on the Edit mode, so the user is aware of possible issues during the page creation.

 

Availability:
Beta*
More information:

Provide on-demand user access to review changes in Publications

Our new Temporary Access Collaboration will allow you to share your work for review without the need to create accounts or go through authentication for external users. You can now invite reviewers, such as legal experts and editors, with a simple URL. No need for complicated setups. This innovation streamlines the review process and maintains security by offering secure, temporary access.

Features added in this Release:

On-demand user access to review changes

Sometimes the changes added to a publication needs to be reviewed by someone who is not a member of the site. The goal here was to make unauthenticated users able to review changes within a publication. For this we implemented a mechanism to generate a code, which can be used to access the Review Changes screen of a certain publication. Also this link could be easily invalidated/generated anytime by authenticated Publication Reviewers.

Availability:
Beta*
More information:

Streamline content publication with enhanced flexibility

Publishing your content got a lot easier. We're excited to introduce a new feature that provides greater flexibility in how you publish your content. Say goodbye to the challenges of publishing partial sets of changes, especially during larger publications. With our latest enhancement, you can effortlessly move changes from one publication to another. No more delays or wasted efforts—your content management process is now more streamlined and efficient than ever.

Features added in this Release:

Allow users to move changes between Publications

The goal here is to make the users able to move changes between publications. This is needed because sometimes users do not want to publish an entire publication, but also do not want to revert the changes which will not be published actually. With this feature users can move changes from one publication to another, creating subsets of changes, and publish them separately. For readers with technical knowledge: this is similar to cherry-pick-ing a commit in git from one branch to another.

Availability:
Beta*
More information:

Visualize your apps better: manage data models in diagram views

Discover the model builder initiative – a game-changer for enhancing how you approach modeling objects. Unveil a panoramic view of your application, empowering you to effortlessly validate the accuracy of your platform models. With reduced modeling errors, seamless stakeholder validations, and an accelerated journey to market, this initiative is your key to an optimized and efficient development experience.

Features added in this Release:

Visualization of Object Model Structures

Now, users are able to visually understand the structure of their objects and how they connect with each other to result in the platform model.

 

Availability:
Release flag*

Personalization

Increased flexibility to run A/B tests

Unlock the power of control with our enhanced A/B Testing feature. Now, you can conclude tests on your terms, gaining swift access to results and identifying the winning variant. No more waiting around—seize the opportunity to optimize your strategies and elevate your decision-making with ease. Your success, your way.

Features added in this Release:

Ability to declare a winner for terminated AB Tests

A common problem we have heard from our customers revolves around the time required to complete an AB Test. If a customer’s page receives limited traffic, the time to completion could be many weeks if not months.  Amidst the rapid changes in today's business landscape, this delay potentially negates the usefulness of test results. On top of this, if a user were to terminate the test prematurely, the insights they gathered from the test and the variant they created were lost.

In order to remedy this issue, we are now providing test results and the ability to publish a variant when an AB Test is terminated. Although these results cannot determine a winning variant with 100% confidence, they will give marketers a sense of how their variant was performing. Using this information, Marketers can now make educated decisions according to their specific time constraints.


It is important to remark that this feature is DXP-only, as it belongs to Analytics Cloud.

Availability:
Release flag*

Commerce

Configurable products

We have refined the concept of product bundles, enhancing their configurability and introducing flexible restriction rules. Now, customers can manage more intricate product configurations without relying on guidance from a sales representative. Edit bundles in your cart effortlessly, and explore product rules that empower you to decide which items can be combined or must remain separate. Your product configurations are simplified and more versatile than ever.

Features added in this Release:

Edit a product bundle from the mini-Cart

The ability for a buyer or sales agent to edit a product bundle directly from the mini-cart has now been added. Previously, if a change had to be made the bundle had to be deleted from the cart and added again. This allows for more speedy alterations to be made before proceeding with check out.

Availability:
Release flag*

Support for Collection Provider in option values

New extension point allows for external custom rules to be written to determine what SKU's can be linked to a product as Options. This is limited to dynamic pricing scenarios. Discounts can still be created to discount specific product combinations.

Availability:
GA
More information:

Units of measure & decimalized quantities

We are introducing the ability to define distinct units of measure, alongside support for decimalization, right within your product for SKUs, Inventory, and Pricing. This means more flexibility, control, and an enhanced shopping experience for you and your customers.

Features added in this Release:

Units of Measure

Sell and manage SKUs by adding different Units of Measure to the SKU. Configure the Unit of Measure to optionally allow for sales in decimal quantities. Units of Measure have their own pricing and inventory. Once configured, they add to the shopping experience of the buyer who can now purchase SKUs in different Units of measure.

Availability:
Release flag*
More information:

Cloud

Improved client extension Logging

We have integrated a powerful feature that aggregates and presents both Client Extensions and DXP logs on your Cloud Console, creating a unified log viewing experience for our LXC customers. This streamlined approach preserves the structural integrity and security of LXC while empowering users with comprehensive log insights. 

Features added in this Release:

Display DXP logs on LXC Cloud Console

Integrated Logging in Cloud Console for both Client Extension and DXP. Capabilities:

  1. Unified Logging View: Enables users to simultaneously view both Client Extension and DXP logs.
  2. Log Interactivity: Allows users to filter and sort logs based on parameters like timestamp and severity.

Benefits:

  1. Comprehensive Insight: Eliminates the need to toggle between separate log sources, offering a holistic log view.
  2. Efficient Troubleshooting: Enhanced filtering and sorting make it easier to pinpoint and address issues.
Availability:
GA

Enhanced Data Security and Speed with Private Service Connect and Cloud Interconnect

We are excited to introduce a significant improvement in the Liferay Cloud platform. With the integration of Private Service Connect and Cloud Interconnect, users now have secure and dedicated channels for seamless communication and data transfer between their on-premises systems and Liferay Cloud. This means enhanced data security, reduced delays, and consistent top-notch performance. Your data will travel safely and efficiently, improving your overall experience.

Features added in this Release:

Integration of Private Service Connect and Cloud Interconnect in Liferay Cloud

Capabilities:

  1. PSC Connection Support: Allows direct integration of specific Kubernetes services or namespaces via Private Service Connect.
  2. Tunneling Solutions: Provides a dedicated channel for GCP services or different GCP VPCs to connect securely within Liferay Cloud.
  3. API-Driven Provisioning: Enables users to automate and configure PSC connections programmatically.
  4. Combined Utility with Cloud Interconnect: Offers a mechanism to securely link on-premises data/systems with GKE or Google Cloud Storage.

Benefits:

  1. Enhanced Security: Bypassing the public internet ensures data protection during transmission.
  2. Reduced Latency: Direct connections speed up data transfer and interactions.
  3. Predictable Performance: Stable and consistent network performance between on-premises and Liferay Cloud.
  4. Flexibility & Automation: API-driven provisioning provides users with a more flexible setup and deployment process.
Availability:
GA

Liferay Cloud welcomes Azure Git Repos integration

We are excited to introduce a significant enhancement in Liferay Cloud—Azure Git Repos integration via Azure DevOps with Jenkins (CI) service.  By seamlessly merging DXP Cloud with Azure Git Repos, we're creating a robust development and deployment environment that fosters collaboration, automation, code quality, and security. 

Features added in this Release:

Capabilities:

  1. Azure DevOps Authentication: Supports integration of Azure Git repositories via Azure DevOps with Jenkins, including PAT generation for authentication.
  2. Jenkins Build Integration: Configure Jenkins to poll or check the Azure repository based on specific triggers.
  3. LCP.json Setup for CI Service: Define Azure DevOps as the SCM provider and specify details for Jenkins interaction.
  4. Deployment Configuration: Allows push from GitHub to Azure DevOps and deployment from Jenkins to the designated infra environment.

Benefits:

  1. Versatility: Users can leverage Azure DevOps as their Git repository provider while working within Liferay Cloud.
  2. Automated Updates: Automatic polling of the Azure repository every 5 minutes, ensuring timely builds upon detected changes.
  3. Security: Utilizes Personal Access Tokens for specific and secure authentication, combined with best practices for token management.
Availability:
GA

Search

Search without interruption: introducing high availability reindex modes

Reduce interruption for both users and site visitors, and improve operational and resource utilization efficiency with the new Concurrent and Sync reindex execution modes.  With these new modes, you can carry out searches while a reindex is seamlessly running in the background. Say goodbye to search downtime and explore content without missing a beat.

Features added in this Release:

Concurrent and Sync reindex execution modes with high availability

Reducing downtime, improving operational and resource utilization efficiency with the new Concurrent and Sync reindex execution modes providing high-availability in search capabilities while the operation is running.

Availability:
Beta*

Integration

Empowering seamless data sharing: customizing APIs through no-code [BETA]

We are dedicated to enhancing your experience, and our latest feature is here to simplify data management across your applications. Now, you can effortlessly manage different versions of your internal data without the need for complex coding. Gain the power to define API endpoints that expose custom data lists with ease.

Features added in this Release:

API Builder: an easy way to create API applications with Low Code/No Code

We have created a new application that helps developers to build APIs based on custom Objects in a Low Code/No Code UI. This new feature allows users to define the whole structure of the API, from the endpoint’s name to the data model of the request and response schemas.

And, because the persistence layer of the API Builder is Objects, all capabilities are available at the API layer and every object has its own CRUD API application created by default.

So, from the UI or from the API, now users can create custom API Applications from scratch.



The scope of this beta feature only covers the creation of GET methods to retrieve a collection of elements with the possibility of creating pre filters and sorts.

Availability:
Beta*
More information:

Definition of Filters and Actions for Datasets [BETA]

With our upgraded dataset manager, you're the master of your data's destiny. Now, you can shape your view of information effortlessly. Our low-code approach empowers you to set up filters, sorting options, and actions that perfectly match your workflow. Want to prioritize certain data? Done. Need to sort it differently? Easy. Want specific actions at your fingertips? Consider it done. Experience a data interaction that matches your unique needs.

Features added in this Release:

Define default sorting for dataset views

Now admins can define the default sorting for a dataset view. You can select the field to sort by when users access the page with the data set view as well as the direction (ascending or descending). It is possible to add more than one field. In this case, results will be sorted following the order of the fields, so it will start sorting based on the first field, for elements with the same value for that field, it will continue sorting based on the second field and so on.


 

Availability:
Beta*

Multi-language support for dataset views configuration

Admins now can define views and select fields that are localized, so users will access the corresponding translation when visiting the page. Additionally, the names of the columns and filters are also localizable.



In order to use this feature it is needed to enable “Translation Support for Object Entries” in the Feature Flags menu before enabling “Data Set Manager” in the beta section of the Feature Flags menu.

Availability:
Beta*
More information:

Manage filters for dataset views

Admins can define filters to make them available for end users visiting pages with the dataset fragment. There are 3 types of filters available:

  • Date filters: compatible with fields of type date. Admins can provide a name to the filter as well as provide a “From” and “To” dates to be pre-applied if needed.
  • Selection filters: This filter allows admins to configure a picklist as the source of the options for the filter.
  • Client extension: This new client extension enables admins and developers to fully customize the filter experience and add new types of filters depending on their needs.

  • In order to use this feature enable “Data Set Manager” in the BETA section of the Feature Flags menu.
Availability:
Beta*

Manage link item actions for dataset views

Apart from exposing information in tables, with the Data Set Manager now admins will be able to define actions linked to each of the elements of the data set. For each action:

  • Admins can provide a localized label
  • Choose the icon to be used
  • Provide the URL to redirect the user to. In case you need to parametrize it so each row has a different URL, you can do it by adding it between brackets as part of the URL, for example myURL/{id}/editPage will look for “id” in the Headless response and substitute for the corresponding value in the URL.
  • With “Headless Action Key” admins can associate an action to a headless endpoint, which takes permissions into account, so the action will only be shown to the user if the corresponding headless action is present in the response. For example, you can link an “edit” action to the “update” Headless Key.
  • Provide an optional Confirmation Message if needed.

  • In order to use this feature enable “Data Set Manager” in the BETA section of the Feature Flags menu.
Availability:
Beta*

Enable business users to manage data migration [BETA]

Our latest update empowers you to manage data export and import tasks independently, eliminating the need to wait for IT assistance. Adapt to changing business requirements with ease and enhance operational efficiency, ensuring smooth operations and faster decision-making. Your data, your way. 

Features added in this Release:

Data Migration Center: a way to Export and Import elements

With the Data Migration Center, users can export and import, in a very easy way, Objects entries and Objects definitions from one instance to another using JSON files. The actions executed can be consulted later in a list when you can download the files generated every time is needed.

Availability:
Beta*
More information:

Additional New Features and Capabilities

Sites

Prevent page edition conflicts with the possibility to manage concurrent edition in Pages

Now we prevent content creators from generating page conflicts and errors by automatically locking pages when they are opened in Edit Mode, not allowing other users edit it at the same time. Beside that, a recurrent process reviews all locked pages to unblock them automatically if no activity is registered. Administrators can also unlock them manually if it’s needed.

Availability:
Release flag*
Improved import process for Fragments and Page Templates

The old import modal for Fragments and Page Templates is substituted by a new special import page, a new page with the import outcomes is added with the results of the process and last, but not least, the user is provided more import options for a better management of the already existing files: Overwrite Existing Entries, Overwrite Existing Items, Keep Both. A WARNINGS label is added as well to the fragments that were imported with warnings and that could cause malfunctions.

Availability:
GA
Improved review changes experience

In the portal, Site Administrators are able to create different User Experiences for Pages. Publications can publish these Experiences. However it can be confusing for Publication Reviewers that they can not review changes introduced in all the Experiences, which are going to be published. Here we added the ability to Publication Reviewers to view changes added in all the Experiences which are going to be published.

Availability:
GA
More information:
Improve the feedback provided to users when a conflict happens during Publications

We have received multiple requests about users having difficulties resolving conflicts during a Publication process. We listened for these requests, and decided to improve the quality of feedback provided to users about conflicts. Making the resolution of these conflicts easier.

Availability:
GA
More information:
Make it easy to determine whether an application will save into a publication

Some applications do not support Publications. That situation can be really confusing when users try to use one of these applications, while inside a publication, and expect it to work together with Publications. We are aiming to make the user experience of the portal during publication as smooth as possible, so we decided to add a mechanism which provides the users with information if they start using one of these apps.

Availability:
GA
More information:
Improve performance when reviewing changes in a publication

Improving performance is one of the main elements in our product strategy. Here we worked on improving the performance of the Review Changes screen. We have already improved the performance of other screens, and in the future we keep improving the performance of the screens.

Availability:
Release flag*
More information:
Downloading analytics reports

Although Analytics Cloud provides valuable insights into the performance of content and pages, sharing this information within an organization has proven difficult for some users. To solve this problem, we are introducing a new feature that aims to enhance your sharing and reporting capabilities. With this feature, you can now effortlessly download PDFs of your dashboards and CSVs of lists (eg. segment membership), making it easier than ever to share critical insights with your stakeholders.

Key Benefits:

  1. Time and Effort Savings: Exporting your dashboards to PDF and lists to CSV is a breeze. Say goodbye to the time-consuming task of manually extracting this information and formatting. Our platform streamlines the process for you.

  2. Professional Reports: The PDF export feature ensures that your insights are presented in a polished and professional format, perfect for sharing with executives, clients, and colleagues.

To use this feature, simply click on the new Download button in the top right navigation bar. From there you can select the date range for the dashboards as well as the specific cards you wish to include in your report.

Availability:
GA
LXC Only
Flow analysis

Although Analytics Cloud provides valuable insights into the performance of content and pages, sharing this information within an organization has proven difficult for some users. To solve this problem, we are introducing a new feature that aims to enhance your sharing and reporting capabilities. With this feature, you can now effortlessly download PDFs of your dashboards and CSVs of lists (eg. segment membership), making it easier than ever to share critical insights with your stakeholders.

Key Benefits:

  1. Time and Effort Savings: Exporting your dashboards to PDF and lists to CSV is a breeze. Say goodbye to the time-consuming task of manually extracting this information and formatting. Our platform streamlines the process for you.

  2. Professional Reports: The PDF export feature ensures that your insights are presented in a polished and professional format, perfect for sharing with executives, clients, and colleagues.

To use this feature, simply click on the new Download button in the top right navigation bar. From there you can select the date range for the dashboards as well as the specific cards you wish to include in your report.

Availability:
GA
LXC Only
Analytics Mobile App

The Analytics mobile app allows users to access the main reports and dashboards on-the-go to stay on top of the most relevant metrics for the business.

Availability:
Beta*
LXC Only

Content Management

Better management of Web Content featured image

Now users can select any image from the Liferay repository directly from the Web Content edition page, creating a better experience and allowing creating a structure of featured images if it’s necessary.

Availability:
Release flag*
Content recommendations

We have enhanced our recommendation engine to provide two new recommendation algorithms: one focused on recommending content based on the user's browsing history on the website, and the other one providing recommendations based on most popular content. These recommendation strategies can be used by adding the matching content collections to any page. Experimentation and attribution is also possible by comparing them through an AB test that determines the best strategy to increase CRO. 

Availability:
Beta*
LXC Only
Spell Checker

To help content creators raise the quality of their content, now they have integrated in our rich-text editors a spell checker that will help them solve spelling and grammar errors. It supports multiple languages, including: Spanish, English, French, and German.


 

Availability:
Beta*
LXC Only

Personalization

Dynamic traffic allocation in AB Testing

Liferay AB Testing capabilities now helps customers save time by reassigning the traffic split based on the running test results. The dynamic traffic allocation ensures that the estimated winner variation gets more traffic, optimizing conversion in highly time-sensitive situations. 

Availability:
Beta*
LXC Only

Digital Asset Management

Video Streaming Service

To help users enrich their content, Liferay provides a new LXC service to serve videos to a wide audience out of the box. Content creators will be able to upload videos directly to Liferay and the new service will take care of generating different versions with several resolutions to adapt to user’s connection capabilities, together with automatic subtitles and AI powered auto-tagging based on the video content. Content creators will also be able to add manual subtitles to the videos in case the automatic ones don't fit the need.

Availability:
Beta*
LXC Only

Search

Improved support for External Reference Code (ERC) in Blueprints for portability

Blueprints are referenced by their ERCs under-the-hood in the Blueprints Options widget and the Low-Level Search Options widget also supports a new attribute called search.experiences.blueprint.external.reference.code as the recommended way to configure a blueprint (preferred over the old attribute search.experiences.blueprint.id). In addition to that, when moving blueprints or elements between different environments using for example the Batch Client Extensions, entries will preserve their ERCs making portability easier. This way, when for example a search page is imported from a LAR, the Blueprints Options and Low-Level Search Options widget configurations can continue working thanks to the association being achieved via the ERC of the blueprint and not via its ID or other identifier that may be different on the new environment.

Lastly, users can now access and edit the ERC of blueprints and elements directly from the editors.



 

Availability:
Release flag*
More information:
Elasticsearch Sidecar and Client Updated to 7.17.14

Liferay Portal 7.4 CE GA101+ and Liferay DXP 7.4 Update 101+ and Liferay DXP 2024.Q1 are bundled with Elasticsearch 7.17.14 as the Sidecar server.

In addition, the Elasticsearch client libraries have also been upgraded to 7.17.14. Refer to the Breaking Changes notes below for more details how this may impact deployments.

Availability:
GA
More information:

Cloud

Anomaly detection

LXC now provides anomaly detection to identify disruptions in the expected website traffic. 

Anomalies in traffic volume are detected through a comparison with historical data, taking into account seasonality. Users can also create alerts based on custom events and schedule notifications when thresholds in metrics are exceeded.

Availability:
Beta*
LXC Only
More information:
For more information about other new features of Cloud, check out the Release Notes for Cloud in this link.

Security and Data Privacy

Secure access through WebDAV

Because WebDAV appears to be the only viable solution for remote documents access/editing for the moment and there is customer demand. WebDAV supports HTTP Basic and Digest auth. The latter requires us to store insecure hashes, because of protocol specifics.

Because we cannot change that nor remove WebDAV support, we will reduce the impact of a successful attack instead.

This is achieved by creating a separate strong password for Digest auth.

We achieve the “strong” characteristic through only allowing generation of passwords, based on UUIDs. This means when the hash is produced, it will also be stronger also, though not perfect.

Availability:
Release flag*
More information:

Platform

Support read-only fields in Objects framework

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.

Users can configure their fields between 3 options, read-only true, false, or conditional.

  • Read-only false: normal fields that support input from users through the UI or API.
  • Read-only true: fields that do not support inputs from users through the UI or API, only can be updated through the system, as actions and default value for example.
    • Read-only fields must be supported in views and layouts, in the layouts those read-only fields must be not editable.

  • Read-only conditional: fields that by definition are read-only false, but that will throw exceptions in case the condition is true and the user can’t update that field. In this case, in the UI, the logic should run before the field is loaded, in the headless API, this validation is only made when the user sends the request.
    • The condition is built using expression builder.
Availability:
GA
More information:
Configuration for redirecting users when accessing a different language

When users access a site in a language different from their user profile language, the following Information message is shown:

Now administrators can configure if this message will show up or not from System or Instance. Go to Instance Settings > Pages > Friendly URL Redirection and check/uncheck the “Show Alternative Layout Friendly URL Message” option for the appropriate value.

Availability:
GA
More information:
Support translations for Objects

This feature empowers users to create content use cases on top of objects framework, allowing admins to enable localization for objects' entries text fields.

Availability:
GA
More information:
Custom Object validation rule Client Extension

This feature allows customers, who need more capabilities than what the out of the box Expression Builder provides, to add their custom validations in Objects framework without running their data through an external microservice.

Availability:
GA
More information:
Save Object entries in draft mode to finish the submission later

Now, users are able to fill out object entries in parts, allowing them to save data as draft and return at their convenience to complete.

Availability:
Release flag*
Define the output field of Objects validations

Evolving the user experience when object validations fail specifying which information field end-users need to update.

 

Availability:
GA
Send email notifications separately or with in one single notification with multiple emails in copy

This feature allows admin users to configure whether to send one email with everyone in copy or many emails individually to each email address.

Availability:
GA
More information:
Defining computed fields

Enabling this feature will allow users to dynamically populate fields using expressions with information created from data filled and provided by other fields.

Availability:
Release flag*
More information:
Release Feature Flags to better manage features sunset

Traditionally in Liferay, it has been hard to manage features deprecation because customers kept using the old features even if we announced deprecation and eventual replacements.

Now, we are able to better manage deprecation processes with the following changes:

  • Features deprecation notice is increased from 6 months to 12 months. It applies to the Intended Functionality, as described in our Support Policy.
  • Now, deprecated features might be kept inside a Deprecation Feature Flag during the deprecation period. These feature flags work as follows:
    • For upgrades, Deprecation Flags are active by default, therefore customers still see the deprecated feature. No disruption is perceived.
    • For new instances created, Deprecation Flag is inactive by default, therefore, the deprecated feature is hidden and it requires activation to be used. It prevents users from unconsciously using a deprecated feature.
  • Deprecated features are identified in DXP with a new deprecation badge.

Availability:
GA
Expanding permission with "Invite Users"

When “Manage Users” permission is added to an Account Admin, the Admin can invite, assign and create Users. We separated the “Invite User” permission so it can be used without providing the other permissions to the User.

Availability:
Release flag*
More information:
Enhancing the inactive user handling

Before this feature when somebody wanted to activate/deactivate a User they needed to have “Delete” permission. We created two new permissions called “Activate” and “Deactivate”. Users with “Delete” permission still able to activate/deactivate users.

We also created two new Headless-API endpoint:

/headless-admin-user/v1.0/user-accounts/by-status/${status}

Status can be either "active" or "inactive," allowing you to fetch users by their status.

 /headless-admin-user/v1.0/user-accounts/by-email-address/${emailAddress}

This endpoint lets you retrieve a user by their email address, regardless of their current status.

Availability:
Release flag*
More information:
Creating the possibility to remove entries from the User invitation form

This feature addresses the inconvenience of not being able to remove specific entries from user invitation forms, enhancing the user experience for admin users who create these forms. It solves the problem of inefficient form management, allowing users to remove entries without starting over.

The feature enables users to remove entries from the invitation form by clicking a designated removal button, with a confirmation modal to prevent accidental removal.

Availability:
Release flag*
More information:
Audit Log - role actions and impersonation

We extended the Audit Log info on IMPERSONATION actions , ASSIGN/UNASSIGN events involving the role assignment of individual users and ASSIGN/UNASSIGN Role Assignment of Organizations/User Groups/Sites.

Availability:
Release flag*
More information:
Expanding the Headless Admin User API

We have expanded our Headless Admin User API to include POST, PUT, DELETE, and PATCH endpoints for managing postal addresses associated with user accounts. This development aims to provide more comprehensive functionality and greater flexibility for our users. Additionally, we've made crucial changes to the UserAccount schema and related methods to allow users to manage user status efficiently.

Availability:
Release flag*
More information:
Setting expiration on “set new password” link

It is now possible to set an expiration on the “set new password” link.

Availability:
Release flag*
More information:
Export/Import of FrontEnd client extensions

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.

Availability:
GA
More information:

Dev Tools

Liferay Workspace: enable customers to use up-to-date JDK versions with an upgrade to Gradle 7

In order to use supported JDK versions, we are upgrading to Gradle 7 to use newer JDK.

Availability:
GA
More information:

Feature Status Changes

Feature

Feature Status

Description

Integration of ChatGPT with Web Content editor
GA

The integration of ChatGPT with our Web Content editor is now available OOTB.

Mapping and triggering standalone Object Actions from page builder
GA

The ability to map and trigger standalone Object Actions from the Page Builder is now available OOTB.

Page Builder support for displaying Object Relationships
GA

This functionality is now available OOTB. For more information on this feature, please check out the DXP 2023.Q3 Release Notes.

Extend Icons with frontend client extensions
GA
Now the “Theme SVG Spritemap” frontend client extensions is enabled by default.
Manage common JS dependencies for client extensions
GA
Now the “JS Import Maps Entry” frontend client extensions is enabled by default.
Deprecating DDL to be replaced by Objects
Deprecated

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.

IBM WebSphere application server compatibility
Deprecated
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.
Java JDK 8 compatibility
Deprecated
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.

Breaking Changes

This section contains information about breaking changes in out-of-the-box DXP features and capabilities. For breaking changes on internal code, please visit this link.

AB Testing now only supports 1 variant

Previously our AB Testing feature supported multivariate testing. With the addition of multiple variants, the time to completion and the calculations required would increase exponentially. This caused many issues for our customers. As such we have decided to pare back this functionality to provide a higher quality experience for our users. Now our AB Testing feature only supports 1 variant, in addition to the control. This makes our feature truly an AB Test rather than a Multivariate Test. There is the possibility of re-enabling multivariate testing in the future, but that will depend on the needs from our customers.

Better default configuration of the Menu Display widget when placed on a Page Template

We changed the default configuration such that if a Menu Display widget is placed on a Page Template, the default configuration for it will be "Pages Hierarchy" (unless there are no Pages at all on the Site). It will display as "Pages Hierarchy" even if Private Pages are enabled. If Private Pages are enabled, an alert will appear on the Page Template letting the user know that the Menu Display may appear different if the inherited page has the opposite privateLayout value to the menu currently being rendered.


When a Page inherits this Page Template, the alert message does not display on the Page, and the Navigation Menu will be configured for either Public Pages Hierarchy or Private Pages Hierarchy depending on whether the page is public.

Private Cache-Control header for DM file download with guest permissions

Current options in System Settings > Documents and Media > Cache Control are:

  • Public
  • Private

And Private is the default option.

From now on, we are adding a new option No Cache that will allow configure this option to “private, no-cache, no-store, must-revalidate" and it will be used as default value, so it changes current default behavior:


 

More information:

This is related with a bug fix described in this ticket: LPS-174415 - Private Cache-Control header for DM file download

Minimum Compatible Elasticsearch Version Changes from 7.16 to 7.17

With the upgrade of the client libraries, the minimum compatible Elasticsearch minor version shits to 7.17.x.

When the server is lower than the expected version, the DXP won't start-up, but fail with an error in the DXP console:

10-22 10:45:22.619 ERROR [main][ElasticsearchSearchEngine:375] Elasticsearch node es-node-1 does not meet the minimum version requirement of 7.17
 

ModelSearchRegistrarHelper SPI removed and replaced with ModelSearchConfigurator

The self bootstraping style *SearchRegistrar has been changed to service collecting of ModelSearchConfigurator.

Indexer registration code for custom entities has to be adjusted to become an OSGi service of type ModelSearchConfiguratorand to move all previous ModelSearchConfigurator setter call parameter as corresponding ModelSearchConfigurator getter return value.

Example:

More Info

Analytics Cloud

Click here to view the Liferay Analytics Cloud Announcements and Changelog.

Cloud

Click here to view the Liferay Cloud Announcements and Changelog.

Known Issues

Click here to view the full list of DXP 2023.Q4 known issues.

*Notes

Beta Features are features, functionality or capabilities made available by Liferay within Liferay DXP software that are tagged with a “Beta” flag. These features are not supported, but we welcome validation and feedback. Please refer to this article for more information.

Release flags: officially released and supported features - can be activated with Release Feature Flag. Please refer to this article for more information.

© 2023 Liferay Inc. All Rights Reserved