Liferay Upgrade Planner
Pick a source and target Liferay version to get an ordered, checkable upgrade plan — breaking changes, deprecated APIs, data-upgrade steps, and commands.
Choose your upgrade path
Liferay 6.2 → Liferay 7.0
(12 steps)Upgrade your running 6.2 to its latest GA / service pack before jumping to 7.0. Starting from a fully patched baseline avoids known migration bugs and gives the upgrade tool a clean schema.
Catalog all hook, ext, theme, layout, and portlet plugins. Each maps to a different OSGi extension point in 7.x, so this list becomes your migration backlog. Anything not on the list will silently stop working.
The Ant-based Plugins SDK is gone. Recreate your projects in a Liferay Workspace and build with Gradle/Blade. Use Blade CLI to scaffold modules and to convert existing plugins where possible.
blade init my-workspace cd my-workspace blade convert -s my-old-plugin
Hook and Ext plugins no longer exist. Each customization becomes an OSGi component at a specific extension point — ServiceWrapper, ModelListener, DynamicInclude, MVCActionCommand, OSGi Configuration, etc. Map each one before writing code.
Velocity (.vm) theme templates are deprecated; 7.x themes use FreeMarker (.ftl) with a new Node/Gulp build. Port portal_normal.vm and friends to .ftl and adopt the new theme structure.
The monolithic portal-service API was split into hundreds of app modules. Many com.liferay.portal.kernel.* classes moved to their owning module APIs. Expect to fix imports across the whole codebase and declare the new module dependencies.
*LocalServiceUtil facades still exist for compatibility, but in OSGi modules you should inject services with @Reference. Regenerate Service Builder code against 7.0 and review service.xml for changes.
Schema and data are migrated by the standalone Liferay Upgrade tool (portal-tools-db-upgrade-client). Configure it against a backup of your 6.2 database, run it, then start the portal and let module upgrade processes finish.
# Edit portal-upgrade-database.properties, then: ./db_upgrade.sh
After the DB tool runs, individual modules register their own upgrade processes. Check and execute any pending ones from the Gogo shell.
telnet localhost 11311 g! upgrade:list g! upgrade:execute <module>
Search moves to Elasticsearch. After the data upgrade, reindex every index from Control Panel → Search or via Gogo so content becomes searchable again.
Embedded Lucene is replaced by Elasticsearch. The embedded ES mode is for development only; production requires a separate Elasticsearch cluster configured via the OSGi search connector settings.
Liferay 7.0 requires JDK 8 and a current app server (e.g. Tomcat 8). Update your runtime and JVM before deploying.
Liferay 7.0 → Liferay 7.1
(4 steps)More configuration is exposed as typed OSGi configuration in System Settings / Instance Settings. Review portal-ext.properties for keys that are now managed in the UI or via .config files.
The Lexicon/Clay component set is the standard for 7.1 UI. AlloyUI is on the way out — start migrating custom widgets toward Clay markup and tags.
Compile your modules against 7.1 and address deprecation warnings now; several 7.0-deprecated methods are removed in later releases.
Take a database backup, deploy 7.1, and let the automatic upgrade processes run (or trigger pending ones from Gogo with upgrade:execute). Verify completion before going live.
g! upgrade:list g! upgrade:execute all
Tip: This is a representative checklist of the major steps for each version hop, ordered pre-flight → breaking → deprecated → data upgrade → tooling. Always take a full database and Document Library backup before each hop, and confirm exact requirements against the official Liferay upgrade docs for your edition.
Upgrading Liferay 6.2 to Liferay 7.1
This plan covers the full path from Liferay 6.2 to Liferay 7.1 — 2 version hops and 16 steps in total. Work through each numbered hop in order; every hop runs its own database and module upgrade processes, so they cannot be skipped. Take a full database and Document Library backup before starting each one.
Hops in this path
- Liferay 6.2 → Liferay 7.0 — 12 steps
- Liferay 7.0 → Liferay 7.1 — 4 steps
Before you start
- Back up the database and the Document Library, and test the upgrade on a copy of production first.
- Patch your current version to its latest fix pack before beginning.
- Confirm exact JDK, app server, and Elasticsearch requirements for Liferay 7.1 in the official docs.