This website uses cookies to ensure you get the best experience. Learn More.
Plugin Customization in Liferay
Plugin is the core of Liferay portal development in its various forms. “Plug-in” as the word enunciates is an add-on to perform additional features. It can be blended into an application to enhance primary capabilities. Liferay provides a wide variety of Out Of Box (OOB) features and ways of integration with external parties using its very own Marketplace plugins like:
• SAML2.0 Provider EE
• Calendar
• Wiki
The above instances of plugins are powerful tools which support multiple ways to extend the functionality of Liferay portal.
Customization and its necessity:
Liferay SDK is assorted with a number of functional portlets, hooks, themes, layout templates and web modules. In order to extend a specific functionality and its integration with business requirement the customization of plugins is essential.
Hence, extending Liferay with hook as a plugin type mitigates the Liferay portal to do almost anything. By extending a plugin, you can use all its features in your new plugin while keeping your changes/extensions separate from the existing plugin’s source code.
The below diagram depicts the flow of customizing plugins in Liferay:
Customizing hook plugin in Liferay:
The plugin customization is an implementation to create the "hook of Liferay plugin".
Here, we state the elaborated steps for customization of a Liferay OOB plugin.
NOTE : We have chosen SAML plugin to demonstrate the customization.
Make the following changes to build.xml inside the <project> tag to reference the original WAR .
<project>
Add the property name and value corresponding to original.war.file and the plugin name to be customized respectively.
Copy all the files from the original plugin (here : saml-portlet-6.2.10.3.war) to the new plugin project.
Run the “ant-merge” target.
Build services for the plugin which will give a plugin service.jar (SAMLPlugin-hook-service.jar) to be placed in the server lib directory based on the server type distinguished as follows :
Restart the server and deploy the war.
Tomcat installation
Jboss installation
Place the jar docroot\WEB-INF\lib\SAMLPlugin-hook-service.jar to the ext/lib in the tomcat structure.
Place the jar docroot\WEB-INF\lib\SAMLPlugin-hook-service.jar to /jboss/jboss-eap-6.1/modules/com/liferay/portal/main/SAMLPlugin-hook-service.jar
Add the below entry in module.xml
<resource-root path="SAMLPlugin-hook-service.jar" />
Benefits of plugin customization:
The plugin customization in Liferay gives us following advantages:
Conclusion :
Thus, plugin customization in Liferay makes it possible to embed the additional features while Liferay plugin integration to the application.