Client Extensions in Liferay

Explore more about Liferay Client Extensions

Client extensions enable organizations to extend Liferay’s functionalities such as changing the look and feel, adding custom elements, adding microservices, and changing the portal settings without changing the core behavior of the Liferay.

When using Liferay as a SAAS or cloud service, Liferay blocks users from deploying bundles, at that time client extensions perform a huge role in portal branding and customization for the specific needs of any organization.

There are mainly four types of client extensions available in the Liferay portal.

  • Frontend client extensions
  • Configuration client extensions
  • Configuration client extensions
  • Microservice client extensions

Types of Client Extensions

Frontend client extensions

Frontend client extensions such as custom elements, CSS, and JS are used to design the Liferay pages and provide branding for a website without deploying themes.

Liferay enables organizations to upload custom CSS files through the CSS client extensions and apply them on any pages or master pages.

Frontend client extensions are mostly used to provide static resources to the websites.

Configuration client extensions

These client extensions are mainly used with other client extensions like microservice client extensions.

This client extension provides a way to change the default portal settings.

Microservice client extensions

As all organizations want to switch their website architecture to the microservice architecture, with Liferay microservice client extensions we can build endpoints within liferay and run any functions outside of Liferay as a separate microservice.

Batch Client Extensions

Batch client extensions enable organizations to create initial data like objects, object entries, blogs, web content, documents, or any content.

Benefits of Client extensions

Separation of Concerns

Client extensions enable programmers to focus on the front end while largely not touching the back end. This division of responsibilities further results in cleaner and more manageable codebases.

Increased Customization and Flexibility

The look-and-feel of the portal can be changed by developers to match particular branding and/or business requirements using Liferay client extensions. Embellishing portal themes, pages, and layouts becomes more easier.

Faster Development

Sometimes when many client-side technologies such as HTML, CSS, and JavaScript are used, the development process becomes easier. Similarly, it is possible to make changes such as refreshing or replacing images without changing the server or redeploying it regularly.

Performance Benefits

By doing some of the infrequent but repetitive work on the client side instead of the server-side, you can reduce the amount of work to be done on the server and improve the performance of the portal

Easier Maintenance and Upgrades

Because client extensions are not integrated into the system core, it is easy to patch the core system or upgrade Liferay. In most cases, client extension changes do not influence the core functions of Liferay.

Customization Without Core Changes

You may expand or change the Liferay portal using client extensions without changing the core system. Maintaining the safety and smoothness of Liferay updates depends on this.

Cross-Platform Compatibility

By making your site more responsive and mobile-friendly, client-side modifications give users a better experience on all devices.

Modular Development

With Liferay, developers may design client-side extensions that are modular, allowing for the independent updating or replacement of widgets, themes, and JS components. Because the portal is modular, upgrades or modifications to one component won't affect the system as a whole

No Core Modification

Client extensions are developed and implemented without changing the Liferay portal's basic functionality, lowering the risk while the portal is being upgraded.