This article documents several possible solutions for updating plugins after a new fix pack has been installed. Specifically, customers have found that a plugin's libraries are not patched at the same time as the portal. Customers have also found that a customized plugin that modifies a certain file can clash with the patching tool's install commands.
Run the command patching-tool list-collisions
. This command lists all the differences (collisions) between installed patch files and the plugin's version of them. Currently only hooks and ext are supported, theme collisions are not detected.
As of Patching Tool 2.0.9, patching-tool list-collisions
lists only JSP file collisions in fragment bundles. Unfortunately, this feature introduced a bug that was later fixed on Patching Tool 2.0.11. For more information about the resolution, please see the Patching Tool 2.0.11 article.
Resolution
There are several possible solutions for updating plugins after a fix pack has been applied.
- After running command:
patching-tool.bat|sh install
to install fix packs and hotfixes, run the command:patching-tool.bat|sh update-plugins
. - The Patching Tool also allows for automatically updating plugins so that administrators do not have to run the
update-plugins
command all the time. Add the propertyauto.update.plugins=true
in the filedefault.properties
(if auto discovery is applicable).
Note: on startup in Liferay DXP, the console prints this message:
Deploy time dependency JARs will be updated on the DXP startup.
For more information, see the Additional Information section. - Administrators who do not want to use the Patching Tool can always re-deploy the plugin using either the hot deploy functionality or installing the
war
file.
Additional Information
See the following documentation about updating plugins and using the auto discovery
functionality:
CONFIGURATION In case "auto-discovery" is not applicable in your environment or you would like to use different configurations, you can add a configuration manually. Note: [O] indicates an optional property Create a text file with ".properties" extension in the Patching Tool's directory and add the following properties: patching.mode: "binary" or "source" mode can be used war.path: The path to the Liferay war file (original or unpacked depending on your app. server's deploying methodolgy) global.lib.path: The path to the application server's global lib directory (where portal-kernel.jar [portal-service.jar in Liferay 6] lives) [O]auto.update.plugins: Set to true to execute "update-plugins" command with "install" automatically [O]plugins.path: Specify the location where the plugins are located that will be used during the automatic plugin detection [O]patches.folder: Specify the location where you'll copy your patches. By default, this is ./patches. source.path: Specify the location of your Liferay source tree. This property is only valid if your patching.mode is source. liferay.home: Specify the location where by default the data, osgi, and tools folders reside.