Capability

Personalization

Liferay provides powerful out-of-the-box features for building and delivering personalized experiences to users. Personalization features empower you to deliver novel site experiences that differ based on defined user segments, design and execute A/B Tests, and more.

Feature
Deployment Approach
Layout permissions lost upgrading from 6.2 to 7.2
Issue After the upgrade from 6.2 to 7.2, several Layout permissions have been changed. Some pages restricted to the user Guest are accessible after the upgrade. There are rows in the ResourcePermission table with the...
Intermittent performance issues caused by Journal Articles Display
Issue After installing dxp-16, intermittent performance issues are being seen Thread dumps taken during the performance issue show a number of threads with a similar format: at...
StaleObjectStateException for RedirectNotFoundEntryImpl
Issue The StaleObjectStateException is appearing in logs for RedirectNotFoundEntryImpl. 2022-02-08 05:36:36.385 ERROR [https-jsse-nio-8443-exec-157][I18nFilter:62] org.hibernate.StaleObjectStateException: Row was...
Starting nodes concurrently can lead to incorrect module upgrades
Issue Module functionality seems to fail after moving to a newer fixpack. After executing a system:check unsatisfied dependencies like the following appear: Component with ID 58 is unavailable due to missing...
Some pages do not display properly when HTTP Strict Transport Security (HSTS) is configured.
Please be aware that the page you are viewing has been machine translated from Japanese into English and may contain some translation errors. If you observe any issues with the translation, please contact us. Issue...
'users.reminder.queries.enabled' portal property can be configurable from the UI on a per-instance basis
Issue Until now, the property 'users.reminder.queries.enabled' has been set to true or false per instance. However, after version DXP 7.3, the user is no longer able to do so (as the per-instance property file...
Buttons inside SAML Admin not working
Issue Add Identity Provider button of SAML Admin is not clickable. Environment Liferay DXP 7.0 Liferay DXP 7.1 Liferay DXP 7.2 Liferay DXP 7.3 Liferay DXP 7.4 Resolution DXP 7.0, 7.1, 7.2 and 7.3: Add below...
User should be re-directed to the custom page once the session expires
Issue Once the session expires, users should redirect to the custom page Environment Liferay DXP 7.0 Liferay DXP 7.1 Liferay DXP 7.2 Liferay DXP 7.3 Liferay DXP 7.4 Resolution To redirect the user to any...
Is it possible to keep the session between domains that are not subdomains of a parent?
Issue Is it possible to keep the session in Liferay when changing from one domain to another domain? In particular, is this possible when the domains are not subdomains of a parent domain? Environment Liferay DXP...
Interactive commands is not working properly in Gogo Shell
Issue Steps to reproduce: 1. Connect with Gogo Shell via command line. 2. Type 'disconnect' command. Expected Result: The following question must appear after typing the command                                  ...
NullPointerException/ElasticsearchConnectionNotInitializedException/ArrayIndexOutOfBoundsException when starting JBoss EAP server
Issue After deploying Liferay DXP 7.3/7.4 on JBoss EAP server, the server can not be started due to the following error: 10:17:20,354 INFO 2022-02-17 10:17:20.308 ERROR [Framework Event Dispatcher: Equinox Container:...
Error using Service Builder when an entity has a BLOB field
Issue We define the following sample entity for Service Builder <entity name="Documentos" remote-service="false" local-service="true" uuid="false" table ="REAJ_GESTION_DOCUMENTO" data-source="extDataSource">...
NullPointerException when starting JBoss EAP server
Issue After manually deploying Liferay on JBoss EAP, the JBoss EAP server can not be started due to the following ERROR [0m[31m08:50:29,397 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 80) MSC000001:...
Establish an external data source using JDBC
Issue This article outlines how to set up a connection between Liferay and an external database using JDBC properties. Environment Liferay DXP 7.3 Liferay DXP 7.4 MySQL database Resolution There are two ways to...
What does expires header with "Thu, 01 Jan 1970 00:00:00 GMT" value means?
Issue When retrieving HTML content the following header/value can be found: Expires: Thu, 01 Jan 1970 00:00:00 GMT  Along with the Expires header the following ones are also sent in the response: Cache-Control:...
How to include the gradle dependency of a module into another module project?
Issue How to include the Gradle dependency of a module (Workspace A) into another module (Workspace B) project? Environment Liferay DXP 7.2 Resolution Please Note: Please choose to follow your appropriate discretion...
Webcontent Images is getting removed after Patch Upgrade
Issue Steps to Reproduce: Start the 7.1GA1. Create a structure add text, image, and number fields, and save. Create a template. Select the newly created structure and select the structure fields from the left sidebar...
JS and CSS files are loading only after page refresh
Issue JS and CSS files in portlet are loaded only after refreshing a page Environment Liferay DXP 7.2 Resolution Certain elements of the page may require regular navigation to work properly. In these cases,...
Extracting Database structure of Liferay
Issue User needs to extract complete database structure of Liferay. Environment Liferay DXP 7.0 Liferay DXP 7.1 Liferay DXP 7.2 Resolution Liferay does not have any OOTB functionality for extracting the DB...
java.sql.SQLException: Connection is closed error is continuously written to the log file.
Issue The error "java.sql.SQLException: Connection is closed" is continuously written to the log file. Caused by: java.sql.SQLException: Connection is closed  at...
"log4j:configuration" must match
Issue Why does the warning "log4j: configuration must match" trigger? 2021-08-12 23:34:41.354 INFO  [main][ModuleFrameworkImpl:1587] Starting initial bundles log4j:WARN Continuable parsing error 33 and column 23...
FreeMarker template com.sun.proxy.$Proxy975.getLatestArticle(long) error triggers
Issue Below "FreeMarker template com.sun.proxy.$Proxy975.getLatestArticle(long)" error triggers and this gets resolved after clearing the  server cache from server administration. The property...
What is the alternate way to avoid clearing browser cache each time to reflect the Metal SOY module changes?
Issue What is the alternate way to avoid clearing browser cache each time to reflect the Metal SOY module changes? Environment Liferay DXP 7.2 Resolution First, clearing the cache is required as the browser stores...
Apache Felix Webconsole JS and CSS resources not loaded
Issue Apache Felix Webconsole JS and CSS resources not loaded with 'org.eclipse.equinox.http.servlet' Steps to reproduce: 1. Start the server. 2. Download this: org.apache.felix.webconsole-4.6.4-all.jar from here:...
Upgrade fails after installing dxp-24 because of deprecated constructor
Issue When running the upgrade tool after installing dxp-24, the upgrade can fail with the following error appearing in the upgrade logs: 2021-12-23 15:07:39.034 ERROR [Start Level: Equinox Container:...
Custom captcha validation using CaptchaUtil fails with error "Captcha Validation Failed"
Issue Custom captcha validation using CaptchaUtil API fails giving "Captcha Validation Failed" error in logs when having below code in jsp file: <liferay-captcha:captcha url="<%= captchaResourceURL %>"/>   ...
How to View Highlighted Changes for Pages in a Publication
Issue When reviewing changes for a page within a Publication, it is not immediately clear how to view the highlighted differences (additions/deletions) in a unified view, similar to the functionality available...
Liferay Server Fails to Start Due to OutOfMemoryError: unable to create new native thread
Issue The Liferay DXP server fails to start. The log files contain the following error message: ERROR [...][...] failure submitting task to thread pool java.lang.OutOfMemoryError: unable to create new native thread...
Account Roles Are Not Visible After a LAR File Import
Issue After exporting roles via a LAR file and importing them into a new environment, Account Roles are not visible under the Account Roles tab in Control Panel > Users > Roles Regular Roles and Site Roles from the...
How do you edit robots.txt for virtual host public pages?
Issue We are trying to edit the robots.txt file through public pages, but we are getting the following message: 'Please set the virtual host before you set the robots.txt'. We are using one instance with two sites and...
Rating does not work on the Asset Publisher
Issue I have an issue with the Asset Rating. I create web content or any asset that can be rated. I place an Asset Publisher on a page to display the content. I enable the ratings on the Asset Publisher. When I rate...
Will page comments be deleted after time or when reaching a storage limit?
Issue Are there any settings that regulate retention of comments? In other words, how many comments can be stored for a page before they are deleted automatically? Environment DXP 7.2 Resolution There is no automated...
Client Extensions not working on Non-Primary Virtual Instances on PaaS
Issue When deploying Client Extensions (CX) to a Liferay PaaS environment with multiple virtual instances, the CSS and JavaScript files for extensions on non-primary instances fail to load. This results...
This version of MySQL doesn't yet support 'existing primary key drop without adding a new primary key
Issue We are upgrading from liferay-dxp-tomcat-2023.q4.4 to liferay-dxp-tomcat-2025.q1.15-lts. Currently we are using Mysql 8.0.41-azure on our server which is compatible with liferay-dxp-tomcat-2025.q1.15-lts.   Liferay...
How to Migrate from Advanced File System Store to Google Cloud Storage
Issue When using the Advanced File System Store for the Document Library, what is the correct procedure to migrate to Google Cloud Storage (GCS)? This includes understanding if the migration is a direct...
Is it Possible to Require an Administrator to Enter Their Password When Changing a User's Password?
Issue When I want to updates a user's password as an administrator, the system does not require to re-enter my own password for authentication. This is inconsistent with other actions, such as updating a screen...
Field groups in Web Content Structures become Field Sets after Import or Modification
Issue When a web content structure containing a field group is imported via a LAR or JSON file, the field group is converted into an uneditable, referenced field set. This issue also occurs when...
Is it possible to configure a custom page for the 403 error using Utility Pages?
Issue I am trying to add a new Utility Page for a 403 (Forbidden) error, but the only options available are for 404 (Not Found) and 500 (Internal Server Error). I would like to know if it is possible to create a...
User ID's and Emails populating due to SSTI vulnerability
Issue We've found an undesirable behvavior when using new widget templates on a page. When using the expandoColumnLocalService.CTPersistence.openNewSession(null) function, the the direct SQL query execution within...
SCIM Support for Microsoft Entra ID
Issue Is there complete out-of-the-box SCIM support for Microsoft Entra ID in Liferay DXP? Environment Versions before 2025.Q2.0. Resolution Full support for Microsoft Entra ID with Liferay's SCIM functionality was...
Publication shareable link and email link do not automatically select the publication that needs work/review
Issue When using publications and collaborating with other users. The link shared via publication email does not select the publication that needs reviewing/collaboration. The user needs to manually select the...
Error 'A folder already exists with name image.default.company.logo' during startup after Upgrade
Issue After upgrading from a previous version of Liferay DXP, the server fails to start up correctly and throws a DuplicateFolderNameException in the logs. The error indicates that a folder named...
Chart Taglib is Unavailable in Liferay DXP 2025.Q1 and Later
Issue After upgrading to Liferay DXP 2025.Q1, custom modules that use the Liferay Chart Taglib fail to build or deploy. The build process may fail with an error indicating the chart library cannot be found: Could...
Personalized Experience Not Displayed when using "AND" with IP Geocoder Country
Issue When creating a segmentation using the IP Geocoder Country property in combination with another condition (e.g. a user property), the personalized experience configured for this segment is not displayed for a...
Why did Cache-Control change from 'public to 'private'?
Issue Prior to 7.4 U84, Cache-Control was set to 'public', and after upgrading to 7.4 U84 or above (including any Quarterly Release version), Cache-Control is now set to 'private'. Due to this, CDNs may have issue caching...
No theme found During Startup When a Theme is Not Yet Deployed
Issue The server logs show the following messages before the theme is fully deployed: 2025-07-09 06:25:20.463 WARN [https-jsse-nio-8443-exec-14][ThemeLocalServiceImpl:220] No theme found for specified...
Configuring Product Visibility Across Channels with Headless API in Liferay Commerce
Issue Is it possible to manage (assign/ remove) product visibility per channel using the Headless API?  Environment Liferay DXP 2024.Q4 Resolution By default, products are visible across all channels. This...
"module java.base does not 'opens java.lang.invoke'" Error Prevents Elasticsearch Sidecar Startup
Issue I'm unable to get the Elasticsearch Sidecar to start after upgrading to a quarterly release of Liferay DXP. When checking the server logs, I see the following error message:...
Analytics option not shown at site level
Issue The Analytics option is not available at site level and you cannot configure it. Environment 2024.Q4.0+ Resolution Go to Instance Configuration > Analytics Configure the name of the provider (in this case...
Asset Publisher Back Button Redirects to a Blank Page Instead of the Previous Page
Issue When using an Asset Publisher to display a list of assets, clicking on an asset correctly navigates to a detail page. However, when clicking the 'back' arrow provided by the Asset Publisher on the...
Empty searches return no results using a Text Match Over Multiple Fields blueprint element
Issue When a Blueprint is configured with the Text Match Over Multiple Fields element, performing an empty search yields no results. Environment Liferay DXP 7.4 U5+ Liferay DXP Quarterly Releases Resolution Text...
How to Add a Custom Element as a Control Panel or Site Administration Widget
Issue Is it possible to add a Custom Element, created via a Client Extension, as a widget in the Control Panel or Site Administration menu? Environment Liferay DXP 2025.Q1 Resolution Yes, it is possible to add custom...
Paginator Elements Are Not Translated to the Site's Language
Issue When using a paginator component on a site, the links to the different pages (e.g., "Page 1", "Page 2") are displayed in English. These labels do not get translated even when the site's language is...
"reserved-article-url-title" does not return the localized URL Title in Freemarker templates
Issue When using the .vars['reserved-article-url-title'].data variable in a Freemarker template, it only provides the URL title for the default language. Environment Liferay DXP 2024.Q1+ Resolution This is the...
Sharepoint configuration
Issue While configuring Sharepoint integration following this documentation, we are facing the following HTTP 500 internal server error, and found that we have multiple versions of the connector installed....
Headless Batch Import: Attachment Field with URL Creates Duplicate Empty File
Issue When using the Headless Batch Engine to import Object Entries with an attachment field using a file URL, following the documentation here, we see that it creates duplicate empty files. Environment Liferay DXP...
Time-Based Authenticator QR Code Not Populating
Issue When trying to set up the QR Code for MFA settings, following this documentation Multi-Factor Authentication Checkers, we've found that the QR code doesn't populate. It should be populating under "Shared...
Despite the fix "Relay state exceeds 80 bytes" error and redirections to IDP
Issue Despite the fix "Relay state exceeds 80 bytes" error and redirections to IDP We found this article and had a hotfix with LPS-76246 We found that the fix is not applied correctly. Environment Liferay DXP 7.3...
Unable to Trigger Object Action Notifications for Site Role Users
Issue When an Object action is configured to send a notification to a site role, the notification fails to send to the users with that role. The following NoSuchRoleException is thrown in the logs: 2025-05-30...
Entry Sequence Not Reflected in Collection Fragment Using Custom Fragment
Issue When using a Collection Fragment with a Custom Fragment to display entries from a Liferay Object, the sequence of the entries is not reflected correctly on the page. The order of the entries appears to be...