Capability

Development and Tooling

Liferay offers a comprehensive toolkit to extend or customize your digital experience. Build applications quickly with low-code/no-code features like Objects, or leverage developer tools like Liferay Workspace and Blade CLI for further customizations.

For users on PaaS or running Self-Hosted, Liferay also offers tools deploying customizations.

Feature
Deployment Approach
LayoutFriendlyURLsException Thrown on Upgrade to 7.3
Issue Upon upgrading to 7.3, a LayoutFriendlyURLsException was thrown on startup, even though no failures were present in the upgrade logs: WARN [Portal Dependency Manager Component...
After upgrading to stack v4, the portal shows the message "This server has not been activated with Liferay Connected Services"
Note: please note that Liferay has renamed its Liferay Experience Could offerings to Liferay SaaS (formerly LXC) and Liferay PaaS (formerly LXC-SM). Issue After upgrading to stack v4, the portal shows the message...
JavaScript Loader OSGI config settings don't appear to be applied following an upgrade to 7.2+
Issue When upgrading to DXP 7.3, we moved our previously modified OSGi .config files to the new bundle, but the settings from the JavaScript Loader .config file do not appear to be taking effect, as the default...
Changes to Tomcat classloading order as of Tomcat 8+
Issue In Tomcat 7 and earlier versions, class loading for EXT JAR files were done in alphabetical order. However, with Tomcat 8 and later, class loading has been changed to be decided by the underlying file system....
'Nested Applications temporarily unavailable' error
Issue After upgrading to DXP 7.2+, I see that some Nested Applications widgets are not displayed on my pages and instead show a Nested Applications temporarily unavailable error. Environment Upgrading from DXP 7.0 to DXP...
Jackson libraries are missing in Liferay 7.2
Issue I would like to use the Jackson libraries with the RestTemplate in Liferay 7.2 to convert messages to and from JSON, but receiving errors upon trying to use the MappingJackson2HttpMessageConverter. ...
Search Results Pagination uses IP Address instead of DNS Name when NGINX is configured
Issue NGINX load balancer is set up in my environment. All URLs in the portal redirect using friendly DNS name. This does not work for the Search Results widget. When navigating the Search Results widget, it uses the...
Unable to install .cfg file after updating or upgrading to DXP 7.3 Fix Pack 1
Issue When placing a *.cfg file in the LIFERAY_HOME/osgi/configs folder an error is generated in the log: Unable to install .cfg file "{cfg-file-name}", please use .config file instead. Files with the *.cfg extension...
How do I implement a JNDI database connection on Liferay PaaS
Note: please note that Liferay has renamed its Liferay Experience Could offerings to Liferay SaaS (formerly LXC) and Liferay PaaS (formerly LXC-SM). Issue Portal Administrators may require a connection to the...
Auto Upgrade in DXP 7.3 and Above
Issue Starting from Liferay 7.3, new upgrades for modules won't run automatically on startup by default. Resolution The following options are available to run the upgrades we may include in fix/service packs:...
ClassCastException in Xerces with JBoss EAP 7.3 and IBMJava
Issue When Liferay 7.3 is deployed on JBoss EAP 7.3 using IBMJava, the following exception is thrown at startup and the server fails to start: ERROR [ServerService Thread Pool --...
Groovy Script to truncate the data of UserTrackPath Table
Issue If you want to truncate the data from UserTrackPath Table Environment Liferay DXP 7.2 Resolution Below is the Groovy Script which might help to truncate the data from UserTrackPath table. import...
Upgrade to DXP 7.3 fails due to error about an already existing column
Issue When running the DB Upgrade Tool, the upgrade fails due to an error regarding a duplicate or already existing defaultvirtualHost column. (See examples of the error below) Upgrading Oracle DB Caused by:...
What Is The Property Layout.url?
Issue What is this property and how it is invoked by Liferay? layout.url=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}&p_v_l_s_g_id=${liferay:pvlsgid} Environment Liferay DXP 7.2 Resolution layout.url defines the...
Intermittent LDAP login failures due to LDAP response read time out
Issue With large LDAP directories, user login can sometimes fail if the LDAP query takes longer than the configured read timeout (default value is 500ms)  WARN [http-bio-exec][LDAPAuth:176] Failed to bind to the LDAP...
How to resolve an IllegalArgumentException when attempting to update a Destination Worker's Core Size and Maximum Size
Issue When attempting to update the Worker Core Size and Worker Maximum Size (for example, changing the liferay/background_task destination name to a core size of 5 and a max size of 10), though the update appears...
Delay when fetching data from headless-admin-user/v1.0/user-accounts for the first time after server restart
Issue When running a REST API call as below:...
Caching js_resolve_modules calls
Issue The load time and the amount of data that is requested from the server by caching resolved_modules should be reduced. Environment Liferay 7.2 with DXP-8 Resolution A hotfix has been provided and below is the...
Local development Liferay bundle will stop working with IllegalStateException: Send redirect after commit
Issue Portal developers running a local Liferay bundle with a developer Activation Key may suddenly be unable to use the server. The interface will redirect to /c/portal/license URL showing the License Server...
Unable to override lpkg files in hotfix
Issue I attempted to override an lpkg file in a hotfix through these steps: Create a customized .jar file and place the file in /osgi/marketplace/override Clear osgi/state and restart Liferay See that Liferay is unable...
Violation of PRIMARY KEY constraint on startup after DB upgrade
Issue After successfully upgrading your DB with the db-upgrade tool you might face a similar error to the following one on fresh startup:...
Is it possible to schedule LDAP imports for a specific time of day in Liferay DXP?
Issue In Liferay Portal 6.2, it was possible to create a cron trigger in the liferay-portlet.xml file to accomplish LDAP imports for a specific time of day without creating a customization. These types of scheduled...
Freemarker showing verbose exception
Issue Freemarker is showing verbose exception on site, even though RETHROW is set. Environment Liferay DXP 7.2 Resolution The Journal Article error template can be configured with the following steps: Navigate to...
After upgrading a staged environment from 6.2 to DXP, the tag function does not work properly
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...
Is It Possible To Change Deployed War Location?
Issue The default location of the deployed war is ${liferay.home}/osgi/war folder. Is it possible to change the location?   Environment Liferay DXP 7.0+   Resolution You can use the following property to change the...
I Can Not Access Exploded War With DXP 7.0+
Issue With Liferay DXP, all the deployable wars move from {LIFERAY_HOME}/deploy into {LIFERAY_HOME}/osgi/war/ directory as a war file. But in Liferay 6.2 it used to be deployed as an exploded content into...
Warnings get thrown while attempting to upgrade Lock_ table
Issue Several warnings get thrown, while the migration tool is trying to upgrade Lock_ table. WARN [main][UpgradeProcess:446] Attempting to upgrade table Lock_ by recreating the table due to: You have an...
dl.file.rank.enabled property in Liferay
Issue Details on disabling the "dl.file.rank.enabled" property with the below queries. 1) The usage of this property? 2) What would be the impact on the system if disable it? 3) Will there be any impact on the...
Upgrade from Liferay DXP 7.2 FP5 to Liferay DXP 7.3 GA1 fails
Issue When running the DB upgrade process from Liferay DXP 7.2 FP5 to Liferay DXP 7.3 GA1, it fails due to Duplicate column name 'defaultVirtualHost':...
Customising soy files in ext plugins
Issue 1) Create Ext-plugin by adding ext-files (SelectCategory.es.js and SelectCategory.soy). 2) Deploy through Gradle "deploy" Or place the jar to osgi/marketplace/override folder. 3) Deployed path should be:...
Unexpected URLs in Page Analytics
Issue The URL pattern of different pages in the page analytics is changed i.e., starting with 'https:///' such as 'https:///login'. Environment Liferay 7.2 Resolution This is certainly an invalid URL because, even...
Change to portal-ext.properties files not being reflected in node
Issue After making changes to different properties in the portal-ext.properties file, these changes are not being reflected in the environment when Liferay is being started up. Environment Liferay DXP 7.0 Resolution...
Disable Pragma: no-cache header
Issue Liferay adding a "Pragma: no-cache" to the response header, and this is preventing the app server, or the client from caching the data. Environment Liferay DXP 7.2 Resolution Set the browser.cache.disabled...
How do I remove the Speedwell theme from Liferay DXP 7.3?
This article is intentionally set as Internal Only Issue When not using Liferay Commerce in a DXP 7.3 environment, the Speedwell theme may remain as the default fall back theme when deploying a custom...
Why is .bc.googleusercontent shown when doing nslookup on Liferay Load Balancer IP?
Issue When running a nslookup command against the Load Balancer IP that can be seen at Network > Endpoints > Ingress endpoints, .bc.googleusercontent.com will be appended to the Load Balancer's IP: $ nslookup...
How to persist a Secret Environment Variable when deleting and redeploying a service
Note: please note that Liferay has renamed its Liferay Experience Could offerings to Liferay SaaS (formerly LXC) and Liferay PaaS (formerly LXC-SM). Issue For business reasons, we have a custom service that we...
Cache Override
Issue This article describes how to override the cache in 7.0 taking into account two different aspects: EhCache settings and Replication settings. The first one implies creating a new module, while the second is...
Enable BundleStartStopLogger debug log traces
Issue How to enable BundleStartStopLogger debug log traces to see module lifecycle events during startup. Environment Liferay DXP 7.0+ Resolution Stop the server. If it doesn't exist create a folder named log4j...
Portlet Management in a clustered Liferay DXP using WebLogic
Issue How can I manage portlets in a clustered Liferay DXP environment using WebLogic?    Environment Liferay DXP 7.x WebLogic   Resolution Since Liferay DXP 7.x, you will have no access to any modules deployed within the...
How to manually remove / delete a portlet
Issue How can I completely delete a portlet so that I can redeploy an older version? When I uninstall a portlet from the App Manager, it's only Blacklisted and not uninstalled. How do I remove a custom module in...