This feature adds workflow support for Root Models. Child object definitions which are part of a root context will inherit the workflow configurations of the root parent. This simplifies the administration of objects which are part of root model applications.
FriendlyURL support for Object Entries Personalization Low/No-Code
Friendly URLs, also known as clean URLs or pretty URLs, are web addresses that are human-readable and search engine-friendly. They typically use descriptive keywords instead of cryptic file names or query strings. Users can define a friendly URL for entries, making them more human readable and search engine friendly.
Enhanced Batch Deletion Flexibility with External Reference Support at Site Scoped entities Integration
New improvement to make easier the way to promote content among environments. Liferay expands the capabilities of the Batch Engine by introducing a powerful tool for site scoped entities:
Batch Delete by External Reference Code( Site Scoped entities ) – Users can now delete items using external reference codes instead of internal IDs, making batch deletions simpler and more consistent across environments.
Now, covering all scopes, the way teams manage bulk deletions is more simple and safe because it is based on the use of external identifiers so the consistent data maintenance across staging, production, and other instances is possible without changing between environments
Key Business Benefits
More reliable environment synchronization: External Reference Codes allow you to delete the same entities across different environments without depending on internal IDs, reducing risk of mismatches.
Simplified bulk deletion workflows: Deleting large sets of data is now easier, with fewer manual steps and lower chance of errors.
Greater control over delete operations: Choose whether the process should stop on errors or complete fully—helping teams tailor the behavior to fit their operational needs.
Increased resilience and fault tolerance: Deletion jobs are less likely to fail entirely due to minor issues, ensuring smoother maintenance processes.
Consistent support across entities: These enhancements are available for all entity types supported by the batch engine, making them broadly applicable across different use cases.
Context: Both features are part of the “Promote content among environments” strategic initiative.
RESTBuilder generates Jakarta compatible code Integration
Describe the feature:
With the migration to Jakarta, RESTBuilder needed to adapt to be able to generate the classes with the right namespace.
Use the javaEEPackage property to define whether to use javax as namespace (for pre-Jakarta versions of Liferay) or set the value to “jakarta” for newer versions.
Upgrade /siteId and /by-external-reference-code path patterns Integration
In our headless APIs, we have many endpoints with /siteId/{siteId}/ as part of the path for many entities. Now, siteId not only accepts the siteName or the siteId as value, but also the External Reference Code of the site can be used.
Delete Application Data Before Importing in Staging Personalization Integration
Until now, when executing a staging import, users could choose, prior to the import, to delete all existing information in the destination environment. This option has been deprecated due to its low usage (verified directly with clients and partners) and the high risk it entails, as deletion affects not only the elements already in the import but also their related entities. This could lead to the loss of necessary information or the possibility of some entities becoming disconnected from the rest, making both the import and error resolution extremely complicated due to the lack of a list of affected elements. There will not be a substitution, so the alternative will be to delete the elements manually, either from the UI, API or directly in the database before performing the import.
Copy as new update data strategy in Staging Personalization Integration
When executing a staging import, users could choose different strategies to update the data. ”Copy as new” was one of the option, that allow the importer to create new items if they were already in the system. This could lead to create more elements than expecting that later on the user would need to clean. We are deprecating this feature in order to simplify the UI and avoid users to do mistakes.
Extension point for integrating custom CAPTCHA solution/service Security
The Captcha extension point allows customers to integrate custom or third-party CAPTCHA solutions into their system, enabling greater flexibility and control
Key benefits
Removes restrictions on supported CAPTCHA providers
Empowers customers to choose and configure CAPTCHA solutions that best suit their needs
Enhances extensibility and adaptability for diverse use cases and compliance requirements
Just-in-Time (JiT) user provisioning for OIDC and SAML enables automatic synchronization of user data, including user groups at every authentication event. This ensures that user profiles are always up to date
Key benefits
Ensures real-time synchronization of user attributes and group memberships
Reduces administrative overhead by eliminating the need for pre-provisioning
Enhances security and compliance with up-to-date access control
Improves user experience by streamlining access without delays
In order to assist users in the migration to Jakarta EE required for 2025.Q3 and beyond, Blade and Workspace users now have a command to automatically convert their source code from Java EE to Jakarta EE for DXP-provided libraries.
Benefits
This tool simplifies the process for users migrating custom code to Jakarta. Providing:
In-place source code transformation from javax to jakarta for custom development projects using DXP-provided libraries
Liferay-specific dependency mapping
Portlet 4.0 conversion
Integration into Liferay Workspace
Supports source code conversion regardless of deployment method (e.g. JAR or WAR)
This tool is supported by Liferay to convert source code for compatibility with the Jakarta libraries provided by Liferay DXP.
Translation Status for Web Content Fields Content Management System (CMS)
We have implemented a new translation status feature in the web content editor, labeled "Translating," which provides information about the number of translated fields and those still requiring translation. This feature helps users to quickly identify areas needing translation. Additionally, all translatable fields, including metadata, are now conveniently displayed on the left side of the screen, reducing the likelihood of overlooking them.
Easily identify private content Content Management System (CMS)
Users can readily spot content that is not visible to Guest users through an icon, whether it's in list or table view or within the web content editor. Additionally, this feature is accessible in the item selector, empowering users to discern which content is not viewable by Guest users.
You can now have access to the event’s details when selecting a calendar event and be redirected to the already existing details page of that particular event. It is also possible to map a Calendar Event’s specific URL, along with some other fields, in order to use it in emails so the recipient can click on it and be redirected to the Event’s details.
Improved Web Content “Mine” and “Recent” Filters Content Management System (CMS)
Now it is possible to easily identify the content you have created and any recent content you generated. This enhancement streamlines and optimizes this workflow.
Make URLs configurable for Asset types Content Management System (CMS)
Easily configure the friendly URLs for the different asset types, updating URL separators. In addition to that, now users are able to set categories within a blog’s friendly URL and easily identify by the URL what is the main topic of the page they are visiting.
Update AC Usage Metrics to Reflect Policy Changes Personalization
This feature aims to refine the Analytics Cloud Usage Page. Alongside UI enhancements for a better user experience, we focused on enhancing data accuracy and real-time precision. Our efforts aimed to eliminate data discrepancies and prioritize transparency for the users.
Key Changes:
To promote pricing transparency, we removed the outdated prices from the Workspace settings and implemented a clear message prompting users to reach out to their Customer Success Manager for information on upgrading their plan.
Aiming to simplify the interface and highlight pertinent subscription details, some changes were made to the UI of the Subscription and Usage menu, focusing on displaying relevant information to the customer related to their current plan.
Enhanced Script Loading Options for JS Client Extensions Sites
We're introducing advanced script loading options for JavaScript Client Extensions in Liferay, providing developers more control over how JavaScript is applied to pages. This update allows the specification of async and defer attributes directly in the extension's configuration, optimizing the loading process and improving page performance. Benefits for users:
Improved Page Load Performance: by setting async or defer attributes, scripts can be loaded non-blocking, enhancing page responsiveness.
Enhanced Control: developers can pre-set these attributes in the YAML configuration or through the UI, ensuring scripts behave consistently across all pages without further adjustment.
Streamlined Configuration: once set, these attributes are locked at the extension level, eliminating discrepancies and simplifying script management.
Allow developers to specify additional attributes to the <script> tag when deploying in with the JS Client Extension.
Or, developers can configure the attributes via the create Client Extension UI too:
When configuring a JS CX on a page and async/deferBoolean attributes are present in the CX (set in the yaml / defined through the UI), the following behaviors apply in regards to the Load type options:
The attribute set in the CX will be used and the ability to change it when applying it on a page will be disabled.
When both attributes are set in the CX, asyncwill be applied.
When async or defer is set to false in the CS, the related option will be removed from the Load selector. (e.g. if defer: false the load options available for the user will be default and async).
Support for SugarCRM connector for Proxy Objects Sites
This feature introduces the capability to connect Liferay Objects with SugarCRM Objects, empowering users to synchronize and store their data efficiently between the two platforms. By bridging these systems, users can streamline their workflows, enhance data consistency, and leverage the robust features of both Liferay and SugarCRM.
Users can now, with low effort, connect their Liferay and SugarCRM environments, eliminating the need for manual data transfers and reducing the risk of errors. This enhancement not only simplifies data management but also enhances the overall user experience by providing a cohesive and integrated ecosystem for managing customer data.
Allow users to publish child pages without their parents Sites
We have improved the behaviour of an existing configuration to be able to properly publish a child page in a Staging process to Live site without its parent(s). This also improves the performance of publishing changes.
It is now possible to select Date Times as a product option type, configuring purchase options for products based on date, times, time zones, and durations, allowing for the sale of time slots.
CAPTCHA check added to Server Administration pages Security
The Server Administration interface provides powerful tools for controlling the server. As an added layer of security, CAPTCHA is now required for actions in Server Administration pages and the Gogo Shell page. Due to the sensitive nature of these controls, the system will still enforce CAPTCHA on these pages, even if the “Maximum Challenges” configuration is set to a negative number.
Forgot Password and Create Account portlet creation Security
To create Sign In, Forgot Password, and Create Account utility pages, it's necessary for these three views of the Login portlet (i.e., Sign In widget) to be available as individual widgets, which can be placed on pages separately. As a result, Sign In, Forgot Password, and Create Account are now accessible as separate widgets.
It's worth noting that the Sign In widget retains its previous functionality.
Manage complex fields in dataset views Low/No-Code
It allows users to map fields on the first level of related elements or any hierarchical structure through a tree view which is searchable and expandable.
In addition, it is possible to map leaf fields, the common use case, but alsoparent fields which include all the children data to be rendered through a Client Extension.
Define list and cards visualization modes for dataset Low/No-Code
Until now the Data Set was always rendered as a table with one column for each mapped field. From now on, the admin user can define up to three different visualization modesfor the same data: Table, List and Cards.
These visualization modes share the configurations about: filters, actions, sorting and pagination. However, each visualization mode can have different mapped fields decided by the admin users.
Also, a new Settings tab to select the default mode has been added.
Final users will be able to view the visualization modes created by Admin Users and they will be able to change between them to discover the data in the way they want.
Manage additional actions for dataset displays Low/No-Code
The Data Set for actions has been improved to provide new capabilities to the users:
For the Item Actions: now there are 4 new available types available on top of the link Action: Async, Headless, Modal orSide Panel. It allows Admin Users to connect items to new functionalities and use cases.
Creation Actions: this optionhas been created in order to allow Admin Users to create new data or direct their users to a place where they can create it.
The autocomplete attribute grants the user agent permission to provide automated assistance in filling out form fields. This feature can significantly speed up the form-filling process, especially for repetitive or standard information like names, addresses, and email addresses. This also allows screen readers which use standard attributes such as autocomplete to assist users navigating websites.
Incorporating the HTML autocomplete attribute into your forms is a simple yet powerful way to enhance user experience. By leveraging autocomplete suggestions, you can streamline the form-filling process, reduce errors, and ultimately create a more user-friendly environment. Experiment with different values, test across browsers, and watch as your users appreciate the improved efficiency of your forms.
When publications go out of date, they are completely useless and all changes made to them can not be leveraged in any capacity. The changes in this feature allow publications users to move changes from an out of date publication to another publication. This allows users to salvage changes after an upgrade.
This feature prevents portal from being unusable when a change-tracked entity being modified in a publication is removed from production. If an entity is being modified in a publication, it cannot be removed from production. If a deleted entity in a publication is being modified in another publication, the publication with the deletion cannot be published.
Notify and provide additional context to editors when a publication has failed to publish Publications
If a conflict appears between the scheduled publication and Production before or during publishing stage, we have added a functionality to provide more information inside Liferay notifications when this situation occurs.
This features creates a reviewer role that has read-only (and no update) permissions. It grants permission to review the draft of a content page, or the pages that are submitted through a workflow and are still pending approval and publication.
Manage Permissions of Different Group of Pages Page Permissions
Page Creator now can efficiently manage permissions for their website, distinguishing between public and restricted pages. Key functionalities, such as unique designs and restricted access, are incorporated seamlessly.
Requirements include easy identification of page visibility, bulk permission management, and configuration options for both individual pages and entire branches.
Provide the option at Instance and Site settings to the XML sitemap to allow customers to customize the inclusion or exclusion of content according to the SEO technical requirements.
When the User reaches Control Panel → Instance Settings, a new menu item (SEO), under Platform,will be shown. By accessing this menu, the user will be able to include/exclude different content.