-
Type:
Bug
-
Status: Verified
-
Resolution: Unresolved
-
Affects Version/s: 6.2.2 CE GA3
-
Fix Version/s: None
-
Component/s: DM > Upgrade
-
Labels:None
-
Fix Priority:3
The Document Library Data Migration administrative portlet (under Control Panel -> Configuration -> Server Administration -> Data Migration), provides a list of dl.hook.impl classes that can be selected from a select box. The idea is that the document library data can be migrated from the current dl.hook implementation to the target hook by choosing the value from the select box. This, in itself, works.
But the problem is that if there is a new implementation of the dl.hook.impl, say in a Liferay Hook, then that can easily be deployed and used, but the Data Migration portlet will not show that value in the select box, as these values are hard coded in the com.liferay.portal.convert.ConvertDocumentLibrary class. Further, the abstract class com.liferay.portal.convert.ConvertProcess, is present in portal-impl and cannot effectively be extended in a Hook (even though the hook dtd has the convert.processes property available).
The simplest fix for this would be to remove the hard coded values for the "_HOOKS" variable in the com.liferay.portal.convert.ConvertDocumentLibrary class and replace that with a hookable portal property, which by default, has the comma separated list of the existing ootb dl.hook.impl classes. This way, anyone implementing a new dl.hook will also add this property in the hook to ensure that the data migration can happen seamlessly.