Preparing an Upgrade to Liferay DXP 7.0

Now that you’ve completed the pre-upgrade process of cleaning and normalizing your data, you’re ready to prepare your environment for upgrading to Liferay DXP 7.0. Here’s a summary of the preparation steps:

Step 1: Upgrade your Marketplace apps

Step 2: Publish all changes from the staged site to the live site

Step 3: Remove duplicate web content structure field names

Step 4: Synchronize a complete Liferay DXP backup

Step 5: Update your portal properties

Step 6: Configure your Documents and Media file store

Step 7: Install Liferay DXP 7.0 and the latest fix pack

Step 8: Disable indexing during the upgrade process

This tutorial describes these steps in detail.

Step 1: Upgrade Your Marketplace Apps

Upgrade each Marketplace app (Kaleo, Calendar, Notifications, etc.) that you’re using to its latest version for your installation. Before proceeding with the upgrade, troubleshoot any issues regarding these apps.

Step 2: Publish All Changes from the Staged Site to the Live Site

If you have local/remote staging enabled and have content or data saved on the staged site, you must publish it to the live site. If you skip this step, you must run a full publish (or manually publish changes) after the upgrade, since the system won’t know what content changed since the last publishing date.

Step 3: Remove Duplicate Web Content Structure Field Names

If you’ve used Web Content Management extensively, you might have structures whose field names aren’t unique. You must find and remove duplicate field names before upgrading. If you upgraded to Liferay Portal 6.2 previously and skipped doing this, you’ll encounter this error:

19:29:35,298 ERROR [main][VerifyProcessTrackerOSGiCommands:221] com.liferay.portal.verify.VerifyException:$MustNotDuplicateFieldName: The field name page cannot be defined more than once
com.liferay.portal.verify.VerifyException:$MustNotDuplicateFieldName: The field name page cannot be defined more than once

If this is the case, roll back to your previous backup of Liferay 6.2 and find and remove duplicate field names.

Step 4: Synchronize a Complete Backup Liferay DXP

Back up your Liferay DXP database, installation, and Document Library store.

Step 5: Update Your Portal Properties

It is likely that you have overridden portal properties to customize your installation to your requirements. If so, you must update the properties files (e.g., and files) to be compatible with Liferay DXP 7.0. As you do this, you should account for property changes in all versions of Liferay DXP since your current version up to and including Liferay DXP 7.0.

If you’re coming from a version prior to Liferay Portal 6.2, start with these property-related updates:

When a new version of Liferay DXP is released, there are often changes to default settings, and this release is no different. If you rely on the defaults from your old version, you’ll want to review the changes and decide whether you want to keep the defaults from your old version or accept the defaults of the new.

Here’s a list of the 6.2 properties that have changed in 7.0:


Properties in features that have been modularized have changed and must now be deployed separately in OSGi configuration files. The 7.0 portal properties reference docs provide property details and examples.

Step 6: Configuring Your Documents and Media File Store

It’s time to migrate and update your document store configuration to Liferay DXP 7.0. Here’s what’s changed for document stores:

  • Store implementation class package names changed from* in Liferay Portal 6.2 to* in Liferay DXP 7.0+. Make sure your sets the property one of these ways:
  • CMIS Store and JCR Store were deprecated as of Liferay DXP Digital Enterprise 7.0 Fix Pack 14 (SP3) and Liferay Portal CE 7.0 GA4. The Document Repository Configuration documentation describes other store options. Migrate your document data to one of the other store options before upgrading from your current Liferay version.

  • Since Liferay DXP 7.0, document store specific configuration (e.g., configurations specific to Simple File Store, Advanced File Store, S3, etc.) is done in the Control Panel at Configuration → System Settings → File Storage or done using OSGi configuration files (.config files).

    Note, general document store configuration (e.g.,[File Store Impl Class]) continues to be done using

    Here are steps, for example, that create a .config file that specifies an Advanced File Store’s root file location:

    1. Create a .config file named after the store implementation class (i.e., the class assigned to your property):
    2. Set the following property in the .config file and replace {document_library_path} with your file store’s path.

    3. Copy the .config file to your [Liferay Home]/osgi/configs folder

The Document Repository Configuration documentation provides more information.

Step 7: Install Liferay DXP 7.0

Next, install Liferay DXP on your application server or use Liferay DXP bundled with your application server of choice.

Then if you’re upgrading Liferay DXP, install the latest fix pack.

Important: Once you have installed Liferay DXP 7.0, DON’T START IT! In Liferay Portal 6.2 and earlier, once you prepared your system for an upgrade, the upgrade process ran when you started the new version for the first time. Now to streamline server startup, Liferay DXP ships with an upgrade tool (described in the next article) that you must use to upgrade your database.

Copy your custom portal properties files (e.g., that you updated in previous steps and your Documents and Media store into your new installation.

Step 8: Disable Indexing During the Upgrade Process

Before starting the upgrade process in your new installation, you must disable indexing to prevent upgrade process performance issues that arise when the indexer attempts to reindex content.

To disable indexing, create a file called in your [Liferay Home]/osgi/configs folder and add the following content:


After you complete the upgrade (described in the next article), re-enable indexing by removing the .config file or setting indexReadOnly="false".

Ready to upgrade? The next article shows you how.

« Pre upgrade - Speed up the processRunning the Upgrade Process »