Liferay has documentation on Migration or Upgrade from one version to another version. We did Liferay migration or upgrade for one of our client from Liferay version 5.2.3 to 6.1.2. It’s very challenging task to convert entire data from one version to another.
I want to share few steps which I faced difficulties during migration and which are not mentioned in Liferay documentation, since each portal environment is unique with their content and other data. With our portal content below are the steps I added to perform complete migration,
- Convert of Liferay Algorithm before starting Migration.
- Check document library File System and Table.
- Modify calEevnt table during migration from 6.0.6 to 6.1.2.
- Remove bookmarks entries and Bookmarks folder data. (Restore after upgrade)
- Steps to Perform after Upgrade.
Conversion of Liferay Algorithm
It’s very important to convert Liferay algorithm during Liferay upgrade from one version to other. If your current Liferay version is running with Algorithm 2 then we should convert Algorithm before we start migration/upgrade.
Current Liferay Algorithm is 6, so if your current version (in my case its 5.2.3 version) is using lower version of algorithm (less than 5) then this is the time to convert algorithm first. Follow below steps to convert algorithm,
- Navigate to Control Panel Server Administration
- Navigate to Data Migration Tab window
- Select check box Convert Legacy permission algorithm. Then click on execute button.
- After clicking on Execute button then Liferay will convert from Legacy version (Algorithm 2) to Permission Algorithm 5.
Check document library File System and Table
Sometimes its might possible wrong map between Actual File System data and lportal table data. We faced some significant properties during upgrade due to wrong map of file system and lportal tables. So we collected all the information of missing data by comparing lportal dlFileEntry and dlFolder tables. Then we removed records in associated tables which are not available at File System end and performed same process vice versa.
This will help to continue migration or upgrade without any errors. As you know Liferay upgrade will stop if it find more wrong mapped data. So we should take consideration on missing data before start upgrade.
We need to remove wrong map data from associated file entry tables such as dlFileVersion, dlFileRank, dlFileShortcut etc…
Modify calEevnt table during upgrade from 6.0.6 to 6.1.2
We know Lifeay upgrade will be perform in 2 different steps if our current version is more legacy such as 4.x and 5.x. First we need to upgrade Liferay to 6.x then need to convert to 6.1.2. During Lifeay upgrade from 6.0.6 to 6.1.2 we face a situation where migration process stop without resume again.
Actual problem is with column Resource of the table calEvent. Few rows contains empty values (without null value) makes problem to continue migration process. So we updated table data by replacing null value where rows are filled with empty values.
Remove bookmarks entries and Bookmarks folder data
During upgrade from Liferay 6.x to 6.1.2 we found another issue with Bookmark and Bookmark folder assets. During Bookmarks upgrade process stopped with some errors and never resumed again. Might be Liferay having bug with this asset upgrade, we taken backup of Bookmarks and Bookmarks folder table data then removed data from respective tables. After upgrade we placed same data (take latest lportal table schema to insert data by modifying .sql file) after migration. It worked for us as expected.
Steps to take after Upgrade
Few steps need to take after completion of upgrade process.
Change permission Algorithm to 6 by selecting option legacy migration in Control Panel.
Convert Wiki format wiki_classic to Creole using migration tool in Liferay control panel. Since latest version of Lifeay doesn’t support Classic version Wiki. If we continue with the same version we should get exception during reindex and it will never resume.
- Add below properties to –ext properties file verify.processes=com.liferay.portal.verify.VerifyWikiCreole verify.frequency=-1.
- Later restart server then Liferay will convert all old Wiki classic format to latest Creole format.
Before you are starting server keep below property to avoid Portal registration again.
- setup .wizard.enabled=false