Hook- vs Ext-plugin

Using Hooks you can:

  • provide a portal configuration (portal-ext.properties)
  • define new or modify existing language key (language.properties)
  • modify portal JSPs
  • define servlet filters
  • implement post indexers
  • override Liferay-Services (especially by implementing a ServiceWrapper, like for example UserServiceWrapper)


Using an ext-Plugin it is possible to:

  • override any class inside Liferay (classes inside portal-iml.jar or portal-util)
  • modify Liferay's core portlet's desciptors and configurations (like portelt.xml, liferay-portlet.xml,...)

Ext-plugins are more powerful than hook-plugins BUT ext-plugins are not hot-deployable, an can not be undeployed! If you want to undeploy an ext-plugin, it is recommended to start with a clean liferay instance!

Leave a Reply