oo

Client Extensions

Liferay Self-Hosted Liferay SaaS Liferay PaaS

Liferay 7.4

Client extensions extend Liferay without using OSGi modules. You can deploy client extensions to any Liferay environment, whether you host it yourself or on Liferay Cloud. They are also the primary way to customize Liferay with Liferay Cloud, together with built-in configurations like Liferay objects.

While other Liferay extensions like OSGi modules or themes modify or add functionality to Liferay itself, client extensions interface only with Liferay’s APIs. This loose coupling makes client extensions more flexible and easier to apply to environments after an upgrade, since they depend only on APIs, which rarely change between versions. You can also create client extensions using whatever programming languages or technologies you wish, because your client extensions run outside of Liferay and integrate with objects, with no extra code required to connect them.

Client extensions provide the key customization capabilities needed to meet specific business requirements, without modifying Liferay itself.

With client extensions, you can

Types of Client Extensions

You use Liferay Workspace to develop and deploy Client extensions. Client extensions communicate with Liferay via headless APIs.

These are the classifications of client extensions:

Batch Client Extensions

Dev Feature

Batch client extensions provide data entities to your Liferay instance, such as object definitions or workflow definitions. Create batch client extensions by exporting data via the batch engine framework.

See Batch Client Extensions for more information on this specific type.

Configuration Client Extensions

Configuration client extensions provide specific configurations to change functionality within your Liferay instance.

They can be used together with other client extensions, such as microservice client extensions. For example, you can use an OAuth user agent client extension to authenticate client extensions that work with user-triggered action events.

See Configuration Client Extensions for more information on the specific types.

Front-end Client Extensions

Front-end client extensions provide resources to display on specific pages. Theme resources or custom HTML elements can now be provided in client extensions. Most front-end client extensions provide static resources to your Liferay instance.

See Front-end Client Extensions for more information on the specific types.

Microservice Client Extensions

Microservice client extensions provide API endpoints to trigger within Liferay (e.g., object or workflow actions). Once those action events call your API, you can run any function you want outside of Liferay as a separate microservice.

See Microservice Client Extensions for more information on the specific types.