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
Upgrading to Liferay Portal 6.1 EE
With the release of Liferay 6.1 EE GA1, Liferay introduced the Seamless Upgrade feature. Seamless upgrades allow users to upgrade to the latest version of Liferay by simply pointing...
Liferay Information for Common Databases
The following article contains relevant information for connecting Liferay to some of the more common databases. Resolution   MySQL Oracle Commands http://dev.mysql.com/doc/refman/5.5/en/index.html...
Portal Best Practices
This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable. The...
Poor Performance in DB2 When Executing SQL Queries Over Big Tables Filtering by a Column With a Non-Unique Index
Liferay Support does not recommend or endorse specific third-party products over others. Liferay is not responsible for any instructions herein or referenced regarding these products. Any implementation of these...
Changing the Liferay Logs Directory
This article documents how to change the Liferay logs directory from the default [LIFERAY_HOME]/logs to another desired path.  Resolution Steps to Change the Liferay Logs Directory...
Upgrade Process properties are not needed anymore
Prior to Liferay Portal 6.1, the upgrade process required that "upgrade.process" property to be set in the portal-ext.properties. For example, consider an upgrade from Liferay Portal 5.2 to Liferay Portal 6.0...
Backslashes in Screen Name Are No Longer Valid After Upgrading to Liferay Portal 6.2
After upgrading from Liferay Portal version 5.2 EE SP4 to 6.2 EE, backslashes in the screen name are not allowed when using the liberal screen name validator. In Portal 5.2, backslashes were allowed in the screen name....
[Upgrade] Handling Quartz Data during Liferay Portal Upgrades
Quartz data is a unique type of data. If quartz data is part of the database upgrade, then there are some potential additional steps to take during the upgrade process. Resolution If there are not any publishing jobs,...
ConcurrentModificationException When Deploying Plugins on Liferay Portal 6.1 EE GA3
This article outlines a specific known issue that exists within Liferay Portal 6.1 EE GA3 SP3 and provides a link to follow its resolution. Resolution At the time of release, there is one known issue with Liferay...
Using JNDI Resources with Hibernate
If you are using Hibernate to connect to JNDI resources on Tomcat (or an application server that manages JNDI resources the same way), this tutorial is for you! As background, one way...
Using Portal Properties for Separate Liferay Instances
Much like the portal-ext.properties file, portal-${instance}.properties files override properties set in portal.properties and other files for a specific Liferay instance. This article...
Self-Diagnose the Structural Issues in Custom JAR
This article documents how to self-diagnose the structural issues in custom jars. There are different types of structural issues in custom jars, and this is a general guideline for developers to troubleshoot the structural...
Migrating properties which are set through Control Panel to portal-ext.properties file
Important Notification: Modifying the database is a risky operation! Always make a backup of your database before any modifications! If your custom portal properties are already set...
A 'ClassNotFoundException' Thrown by WebLogic 12c
This article documents a known issue that occurs when deploying portlets that use JNDI. Liferay Digital Experience Platform (DXP) isn't able to load Weblogic's JNDI classes by default, which often results in a...
Connecting WebDAV to Liferay Portal Running Behind a Web Server
This article documents how to connect to Liferay WebDAV folders and files from a WebDAV client if Liferay Portal is running behind a web server. Specifically, this issue was found using the IBM WebSphere application...
Setting Up Liferay Portal on Postgres 9
This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable.  This article will explain how to create a...
Session Variables / User Scoped Variables Development
This article documents how to use Session Variables / User Scoped Variables in conjunction with portlets. There is also an included example in the details to help demonstrate how this...
Copy File Error When Extracting a Liferay Bundle
This article describes a workaround for the following known issue that you may encounter when using Liferay Portal with operating system Windows XP and/or Windows 7. The error reads:...
IP Geocoder Temporarily Loss of Connectivity
Due to a recent CDN outage, the IP Geocoder module inside Liferay Digital Experience Platform (DXP) 7.0 temporarily lost Internet connectivity; the module requires an active connection to function. There is a console...
Liferay Portal Database Portal Properties
This article is intended to provide a list of all of the Liferay Portal Database properties that can be used to connect your portal to various databases. To use any of them, un-comment the block of...
Exporting Liferay's Database Schema on Oracle
In the course of investigating a Liferay platform issue, you may be instructed by Liferay Support to export your database schema in Oracle. The following article contains guidelines...
Autodeploying Plugins in WebSphere With Liferay 6.1 EE GA2
Starting with Liferay Portal 6.1 EE GA2, plugins can be autodeployed to WebSphere. As a part of the Liferay autodeploy process, the Liferay platform will call the Websphere's wsadmin script interface to deploy the...
Liferay's "Verify" Process
This article explains a few key facts surrounding the "verify" process in the Liferay Portal and steps that need to be taken to ensure the integrity of the database being used by the...
Liferay Upgrades: Updating Custom Plugins
The following article describes how to update plugins to be compatible with a new version of the Liferay platform. Resolution The Liferay API may change from release to release, causing issues when trying to port...
Internal Server Error after Upgrade
A common error is that sometimes when certain pages display an internal server error and there is no stacktrace. If there was a custom theme before the upgrade the page layouts will still reference them and if one has not...
Modifying Liferay Page Messages Through Language.Properties
In order to change out of the box page messages within Liferay, one must configure the properties of the language.properties located in the portal-impl.jar/content/language.properties...
Installing Portlets Within the Control Panel in 6.1 GA2
In Liferay Portal 6.1 EE GA2, administrators do not have the ability to deploy plugins from the control panel. In order to achieve the installation of portlets not within Liferay...
Setting Up Liferay Portal Using Oracle Databases
Liferay Support does not recommend or endorse specific third-party products over others. Liferay is not responsible for any instructions herein or referenced regarding these products. Any implementation of these...
Applying Fix Pack 37 Causes Duplicate Entry of 'com.liferay.rss.web.internal.util.RSSFeed' for Key 'IX_B27A301F'
This article documents a known issue when updating to Liferay DXP 7.0 Fix Pack 37 or higher. During the update process, the following error exists in the console: java.lang.RuntimeException:...
UDP Multicast Protocols and Firewalls
This article is designed to help system administrators troubleshoot a Liferay DXP instance deployed in a clustered environment. Some issues may arise because of too restrictive firewall settings (most, if not all, systems...
Setting Up and Configuring MySQL Database With Liferay Portal
This article will help users by providing instructions for setting up MySQL on your machine, creating a new database, and then connecting Liferay Portal to that database. Resolution...
Migrating Tag Sets During the Upgrade Process From Liferay Portal 5.2 to 6.0
This article outlines the changes to Tags and Tag Sets between Liferay Portal 5.2 to Liferay Portal 6.0, and later versions. Specifically: The changes to the Tags Navigation Portlet (Where Did Tag Sets Go?) How to...
Errors When Applying Support Driven Hotfixes Based on FP-41 or FP-42
This article documents a known issue when applying a Liferay Support Driven Hotfix built off either DXP 7.0 Fix Pack 41 or Fix Pack 42. Due to an error generating the release notes, the documentation.xml file in Fix...
JBoss EAP vs. JBoss AS
Liferay Support does not recommend or endorse specific third-party products over others. Liferay is not responsible for any instructions herein or referenced regarding these products....
Structures With Duplicate Element Names Fail DDM Verification When Upgrading
This article documents a known issue in which structures with duplicate element names fail Dynamic Data Mapping (DDM) verification when upgrading from Liferay Portal 6.1 to Liferay Portal 6.2 or Liferay Digital...
Upgrading to Liferay Portal 6.0 EE SP2
This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable. When upgrading to the latest Liferay...
DLFileRank Causes Deadlock or SQL Update Batch Errors
With DLFileRank enabled, Deadlock or SQL Update Batch Errors may happen due to DLFileRank updates. When using DLFileRank, unique constraints can be found due to the amount of writes...
Liferay DXP 7.1 Database Portal Properties
This article is intended to provide a list of all the Liferay DXP 7.1 database properties that can be used to connect your DXP 7.1 installation to various databases. To use any of them, uncomment the block of code you...
Deploying Xuggler on Windows 64 bit
Xuggler is a tool for users to encode and decode media files. Used in conjunction with Liferay Portal or Digital Enterprise 7.0, users can view media files on the Documents and Media...
Disabling Specific Built-In Portlets
Liferay comes equipped out-of-the-box with a variety of portlets that users may add to their page. For various reasons, however, an administrator may wish to remove some of these...
Before Opening a Portal Deployment Ticket
This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable. The following article outlines a short...
Changes in Enabling serviceLocator Calls in Liferay DXP 7.0
This article documents a change in where to define serviceLocator properties in Liferay platforms; both in Portal and Digital Experience Platform (DXP). Developers familiar with this functionality in Portal 6.2 can...
Declining One Event of a Repeating Event Declines Every Repeating Event
This article documents how declining one event of a Repeating Event declines every repeating event. For example, if there is a weekly repeating event and a user declines that event in...
Upgrading to Liferay Portal 6.1 EE GA1
When upgrading to the latest version of Liferay Portal, there are many things to take into account. This guide is designed to assist in the upgrading process. Please read and ensure...
SQL Exception Warnings Appear During DXP Upgrade Indicating 'Fallback to recreating the table'
This article documents a false negative warning message that can occur when upgrading your Liferay platform, and which has caused some confusion amongst our users. During the Liferay DXP upgrade process, several WARN...
Inputting Initial S3 Configuration Settings on DXP 7.0
This article serves as a reference for how to configure Liferay Digital Experience Platform (DXP) to use Amazon Web Services S3. DXP users can leverage Amazon S3 in two key areas; to serve as a file store repository,...
Fix Pack and Hotfix installation order on Liferay Portal EE
The order of fix pack and hotfix updates are determined by engineering in several ways. This order is hardcoded in the update. Environment Versions previous to Portal 6.2 SP11...
Apache Struts 1 Known Vulnerabilities
QUESTION: How are Liferay DXP 7.0 and 7.1, and Liferay Portal, affected by the following vulnerabilities? CVE-2016-1181: Arbitrary code execution, denial of service CVE-2016-1182: XSS and denial of service...
System-ext.properties Reference Guide
This article serves as a reference guide for how to set system wide properties through the system-ext.properties file. Similar to the relationship between the portal.properties and portal-ext.properties files,...
Update Manager gives plugin update reminders for up to date plugins
This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable. This article documents a known issue where...
Site Template Use Cases
A site template is a hierarchical set of pages and content that can be used as a template for creating new sites. Due to the power and many options of this feature, there is a large...
Setting up locales for use with Staging
This article describes how to successfully perform local-live staging with the use of language locales/translations. Resolution You will need to obtain hotfix-56 and apply it to your bundle. This fix removes an error that...
Slow Publishing and Import Time for Site When Permissions Are Included in the LAR file
When a site has many roles and permissions, publishing the site will be significantly slower when the permissions are included in the import. Please see the following steps to...
Liferay Faces: Features
This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable.  This...
Unable to Include 'form' Attribute in Alloy Editor for the Web Content Portlet
This article documents a known issue with the <form> attribute in Alloy Editor. When the <form> attribute is used for building submittable forms in HTML, Alloy Editor will convert <form> into <p> when added from HTML...
Social Office Upgrade
While Social Office was previously available as a separate application that could be installed on Liferay Portal EE, many of the components that were present in Social Office are now included within Liferay DXP 7.0. This...
Web Pages Do Not Load on Internet Explorer 9
This article documents a known issue with Internet Explorer 9 (IE9) when accessing the Liferay Digital Experience Platform 7.0. Upon accessing the browser page /web/guest/home, the page is blank (as shown in the image...
Storing Lucene Indexes in Various Ways
This article documents how to change where the indexes are stored. Resolution Please see the excerpt from the portal.properties file about the lucene.store.type property: Designate...
Patching Tool 1.0.24
The Patching Tool 1.0.24 is a maintenance release which includes fixes and minor updates.  Resolution Release Highlights Minor visual updates in the info command. Resolves a problem...
Roles and Permissions FAQ
This article documents some of the more complex use cases when granting permissions to a site. Who can be site members? I am having trouble adding user groups to a site; the user groups are not displaying. I don't want...