Recently, Liferay has introduced its major version called Liferay Digital Experience Platform (DXP). Liferay has been revamped with substantial changes. Liferay DXP comes with unique major challenges for one who wish to upgrade/migrate to latest Liferay DXP from Liferay 6.x.
We have accumulated 9 essentials things to keep in mind while upgrading or migrating to Liferay DXP/7 as follow.
- Backup
- Legacy properties
- JDK
- Upgrade 6.2 plugins to DXP/7
- Database upgrade
- Configuring documents and media file store
- Elasticsearch
- Deployed application location has changed
- Upgrade themes
1. Backup
The first thing we should do is ensure a proper backup is in place for us in case of failures. Backup is a quite important thing to do before starting the process of an upgrade/migrate. You should have a synchronized backup of your database and file system for your document library before upgrading/migrating to Liferay DXP.
2. Legacy properties
There are some legacy properties have been changed in Liferay DXP/7 version. Keep in mind below properties that have been changed.
users.image.check.token=false
layout.set.prototype.propagate.logo=true
editor.wysiwyg.portal-web.docroot.html.taglib.ui.discussion.jsp=simple
web.server.servlet.check.image.gallery=true
blogs.trackback.enabled=true
discussion.comments.format=bbcode
discussion.max.comments=0
dl.file.entry.thumbnail.max.height=128
dl.file.entry.thumbnail.max.width=128
You can find a complete reference for what these properties mean by viewing the properties documentation.
3. JDK
The Liferay DXP/7 platform is now shifted on Java 8 as default Java Runtime. Java 8 was supported in most recent versions of Liferay 6.2 but not as JVM. Java has optimized features in JDK 8. Java 8 come up with improved Garbage collector algorithm G1GC. It has improved JVM performance. Largely, Java 7 built application can run on Java 8, as well. However, I will recommend to add one point “Every application must be ported and validated using Java8” in your Liferay DXP upgradation/migration plan.
4. Upgrade 6.2 plugins to DXP/7
Liferay DXP/7 being a modular platform, Liferay applications are now composed of one or more modules. A module doesn’t use the traditional Liferay application structure from previous versions. However, Liferay is still JSR-286 standards compliant portal. You can easily upgrade your 6.2 plugins to new DXP/7.0 APIs without converting them to modules. Liferay recommends that first migrate it to a Liferay Portal DXP/7.0 compatible WAR-style application. It is much easier to convert the application to modules after adapting to the new API and resolving breaking changes.
5. Database upgrade
Database comes first everywhere which you must require to migrate to make it compatible with the new version. Make sure all your database indexes have been applied correctly. A missing index can cause an upgrade to really slow down. Liferay also recommend to disable search indexing during this process.
You can find portal-tools-db-upgrade-client DB upgradation tool inside Liferay.home ? tools directory.
6. Configuring documents and media file store
Review your Documents and Media configuration. Look at “Document Library documentation” to see all the options in Liferay 7 before executing an upgrade process. There is, however, one important piece of configuration that has changed. The way you specify the location for the file store is no longer in the “portal-ext.properties” file.
7. Elasticsearch
Liferay has changed present search engine with Elasticsearch in Liferay DXP. Liferay DXP has switched from lucene to elasticsearch as the standard search provider. Elasticsearch is backed up by Lucene, which was used by Liferay Portal previously. However, you’ll need to run Elasticsearch as a standalone process for production server.
8. Deployed application location has changed
Liferay DXP store and deploy applications and modules within the OSGi framework container. Liferay DXP does not deploy applications in the application server’s deployment directory. Now, it deploys applications to a separate osgi directory which is located in Liferay’s home directory. Keep in mind when planning out deployment pipeline or troubleshooting classloader or namespace issues during migration.
9. Upgrade themes
Liferay has introduced set of new tools such for front-end developers. They are built using Node.js, yo and gulp. You can easily migrate existing theme to Liferay Workspace using the Blade tool. You have to rename all *.css to .sass. The SASS compilers will only compile files with the .scss file extension. Next, you will need to convert the CSS styles from Bootstrap 2 to Bootstrap 3. You will need npm package created by Liferay. Install it by running the following command.
npm install -g convert-bootstrap-2-to-3
You can run this against HTML files, CSS files, and SASS files. This tool won’t fix everything for you, but it will give you a great head start. The rest is up to you.
Summary
There are lots of significant changes that need to keep in mind while upgrading/migrating to Liferay DXP.
Please visit Liferay DXP Consulting Services to quickly connect with us.