Capability

Development and Tooling

Liferay offers a comprehensive toolkit to extend or customize your digital experience. Build applications quickly with low-code/no-code features like Objects, or leverage developer tools like Liferay Workspace and Blade CLI for further customizations.

For users on PaaS or running Self-Hosted, Liferay also offers tools deploying customizations.

Feature
Deployment Approach
Enabling Glowroot on PaaS
Enabling Glowroot on PaaS Liferay DXP 2023.Q4+/Portal GA100+ Glowroot is included with Liferay in the /opt/liferay/glowroot folder. If you're running Liferay in a clustered environment, enable...
Published Date: Aug 10, 2024 3:47 PM
Using Client Extensions
Using Client Extensions Liferay DXP 2024.Q1+/Portal GA112+ Using client extensions, you can extend Liferay without using OSGi modules. Deploy them to any Liferay environment, whether you host it...
Published Date: May 9, 2024 6:45 PM
Checkout Step Client Extension Reference
Checkout Step Client Extension Reference Checkout Step Client Extension YAML Reference FieldValueDescription activetrueSpecifies that the checkout step is active....
Published Date: May 9, 2024 6:45 PM
Payment Integration Client Extension Reference
Payment Integration Client Extension Reference Payment Integration Client Extension YAML Reference FieldValueDescription keyliferay-sample-commerce-payment-integrationSpecifies the unique key for...
Published Date: May 9, 2024 6:45 PM
Shipping Engine Client Extension Reference
Shipping Engine Client Extension Reference Shipping Engine Client Extension YAML Reference FieldValueDescription keyliferay-sample-commerce-shipping-engineSpecifies the unique key for the shipping...
Published Date: May 9, 2024 6:45 PM
Using the Checkout Step Client Extension
Using the Checkout Step Client Extension Liferay DXP 2024.Q1+/Portal GA112+ You can use a client extension to create a new checkout step. This tutorial uses an example client extension from the...
Published Date: May 9, 2024 6:45 PM
Using the Payment Integration Client Extension
Using the Payment Integration Client Extension Liferay DXP 2024.Q1+/Portal GA112+ You can use a client extension to integrate with a new payment method in Liferay. This client extension from the...
Published Date: May 9, 2024 6:45 PM
Using the Shipping Engine Client Extension
Using the Shipping Engine Client Extension Liferay DXP 2024.Q1+/Portal GA112+ You can use a client extension to add a new shipping engine to Liferay. This client extension from the sample...
Published Date: May 9, 2024 6:45 PM
APIs as OSGi Services
APIs as OSGi Services After you've learned what a module is and how to deploy one, you can use modules to define APIs and implement them. Liferay APIs are OSGi services, defined by Java interfaces...
Published Date: Nov 22, 2024 10:50 PM
Fundamentals
Fundamentals Liferay development projects consist primarily of simple .jar files. These contain a few extra configuration files that make them OSGi modules, but they're easily understandable by...
Published Date: Jan 18, 2025 2:48 AM
Architecture
Architecture The Liferay DXP/Portal architecture has three parts: Core: Bootstraps DXP and its frameworks. The Core provides a runtime environment for managing services, UI components, and...
Published Date: May 9, 2024 6:55 PM
Deploying WARs (WAB Generator)
Deploying WARs (WAB Generator) You can create applications as Java EE-style Web Application ARchive (WAR) artifacts or as Java ARchive (JAR) OSGi bundle artifacts. Bean Portlets, PortletMVC4Spring...
Published Date: May 9, 2024 6:55 PM
Configuring Dependencies
Configuring Dependencies Liferay provides a container where modules can publish and consume functionality through their Java packages. Modules can leverage packages from other modules or...
Published Date: Nov 22, 2024 10:50 PM
Specifying Dependencies
Specifying Dependencies You must satisfy all dependencies to compile and deploy a module successfully. After you find the dependency artifacts, add them as dependencies in your Gradle build file....
Published Date: Nov 22, 2024 10:50 PM
Exporting Packages
Exporting Packages In OSGi, packages are private by default. You must explicitly exporting a package so other modules can import and use them. Here's how to export packages: Open your bnd.bnd...
Published Date: Nov 22, 2024 10:50 PM
Finding Artifacts
Finding Artifacts To use external artifacts in your project, you must configure their dependencies in your build.gradle Gradle script. Before specifying an artifact as a dependency, you must first...
Published Date: Nov 22, 2024 10:50 PM
Importing Packages
Importing Packages You often find yourself in a position of needing functionality provided by another module. To access this functionality, you must import packages from other modules into your...
Published Date: Nov 22, 2024 10:50 PM
JARs Excluded from WABs
JARs Excluded from WABs [Liferay-generated web application bundles (WABs) are stripped of third party JARs that contain packages that Liferay exports already. Deploying the same third party...
Published Date: May 9, 2024 6:55 PM
Creating Video Shortcut Providers
Creating Video Shortcut Providers Liferay DXP 7.4+ By default, Liferay's external video shortcuts support YouTube, Vimeo, Facebook, and Twitch. However, you can extend this feature to support...
Published Date: May 9, 2024 6:50 PM
Using the Gogo Shell
Using the Gogo Shell The Gogo shell provides a way to interact with the module framework. Among other things, you can Dynamically install/uninstall bundles (modules) Examine package...
Published Date: Nov 22, 2024 10:50 PM
Command Line Gogo Shell
Command Line Gogo Shell If you're in a development environment, you can interact with the module framework locally from the command line. Gogo shell should only be run from the command line in...
Published Date: Nov 22, 2024 10:50 PM
Semantic Versioning
Semantic Versioning Semantic Versioning is a three tiered versioning system for incrementing version numbers based on the degree of API change made in a releasable software component. It's a...
Published Date: Nov 22, 2024 10:50 PM
Module Projects
Module Projects Liferay applications and customizations are OSGi modules: .jar files containing Java code and some extra configuration for publishing and consuming APIs. A module project comprises...
Published Date: Nov 22, 2024 10:50 PM
Resolving Third Party Library Package Dependencies
Resolving Third Party Library Package Dependencies An application can rely on multiple OSGi modules. Resolving their Java package dependencies can be challenging. In a perfect world, every package...
Published Date: Nov 22, 2024 10:50 PM
Exported Third Party Packages
Exported Third Party Packages Liferay provides over one-hundred third party Java packages at run time. The com.liferay.portal.bootstrap module exports the packages by specifying individual packages...
Published Date: May 9, 2024 6:55 PM
Using an OSGi Service
Using an OSGi Service Liferay APIs are readily available as OSGi services. You can access a service by creating a field of that service type and annotating the field with @Reference, like this: ...
Published Date: Nov 22, 2024 10:50 PM
Gogo Shell Commands
Gogo Shell Commands The Gogo shell executes Felix Gogo basic commands and Liferay commands. The Gogo shell is accessible in the Control Panel (recommended) and from the command line. Here are some...
Published Date: Nov 22, 2024 10:50 PM
Workflow Definition Link API Basics
Workflow Definition Link API Basics Liferay DXP 2025.Q1+/Portal GA132+ You can manage workflow definition links from the Liferay UI or using Liferay's REST APIs. In Liferay, the Control Panel →...
Published Date: Feb 19, 2025 12:28 PM
Account Users and Roles APIs
Account Users and Roles APIs You can manage Account Users and Account Roles from the Applications menu, but you can also use Liferay's REST APIs. Call these services to create and manage account...
Published Date: May 9, 2024 6:59 PM
Account Groups API Basics
Account Groups API Basics Liferay DXP/Portal 7.4+ You can manage account groups from the Applications menu or use Liferay's REST APIs. Call these services to create and manage account groups. ...
Published Date: Feb 13, 2025 12:50 PM
Accounts API Basics
Accounts API Basics Liferay DXP/Portal 7.4+ You can manage accounts from the Applications menu or use Liferay's REST APIs. Call these services to create and manage accounts. Adding an Account ...
Published Date: Feb 12, 2025 1:01 PM
User Management APIs
User Management APIs You can use headless APIs to interface with important Liferay user management features, including user accounts, organizations, and roles. Here are resources to help you...
Published Date: May 9, 2024 6:59 PM
Adding the UAD Framework
Adding the UAD Framework You can manage and delete user data with Liferay's User Associated Data (UAD) management tool. The tool is available out-of-the-box for many of Liferay's applications (e.g....
Published Date: May 9, 2024 6:59 PM
Organizations API Basics
Organizations API Basics You can Create and Manage Organizations from the Application menu, but you can also use Liferay's REST APIs. Call these services to manage organizations. Adding an...
Published Date: May 9, 2024 6:59 PM
Countries API Basics
Countries API Basics Liferay 7.4 U24+ and GA24+ Use Liferay's Rest APIs to create and manage countries. Adding a Country Then, follow these steps: Download and unzip Countries API Basics. ...
Published Date: May 9, 2024 6:59 PM
User Groups API Basics
User Groups API Basics You can Create and Manage User Groups from the Application menu, but you can also use Liferay's REST APIs. Call these services to manage user groups. Adding a User Group ...
Published Date: May 9, 2024 6:59 PM
Postal Address API Basics
Postal Address API Basics Liferay DXP/Portal 7.4+ Use Liferay's REST APIs to manage postal addresses. Add Postal Address to Account Then, follow these steps: Download and unzip Postal Address...
Published Date: May 9, 2024 6:59 PM
Roles API Basics
Roles API Basics You can create and manage roles from the Application menu, but you can also use Liferay's REST APIs. Call these services to manage roles. Associate a User to a Regular Role Then,...
Published Date: May 9, 2024 6:59 PM
Regions API Basics
Regions API Basics Liferay 7.4 U24+ and GA24+ Use Liferay's REST APIs to create and manage regions. Adding a Region Then, follow these steps: Download and unzip Regions API Basics. curl...
Published Date: May 9, 2024 6:59 PM
User Account API Basics
User Account API Basics You can add and manage users from the Control Panel, but you can also use Liferay's REST APIs. You can call these services to add, edit, delete users. Start with adding a...
Published Date: Nov 22, 2024 10:53 PM
Creating the Role Change Request App
Creating the Role Change Request App Subscribers The Role Change Request App starts with the employee submitting a request form. Processing then proceeds to the Current Manager, then to the...
Published Date: May 9, 2024 6:55 PM
Creating the Role Change Request Object
Creating the Role Change Request Object Subscribers Consider a Human Resources application that collects employee requests to change Roles within the software engineering department: the Role...
Published Date: May 9, 2024 6:55 PM
Data Sets
Data Sets Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). Data sets are like virtual containers that help organize and manage related...
Published Date: May 9, 2024 6:54 PM
Creating Data Sets
Creating Data Sets Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). You can create data sets from different resources available through...
Published Date: May 9, 2024 6:54 PM
Managing Data Sets
Managing Data Sets Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). Once you create a data set, you can customize how users see it....
Published Date: May 9, 2024 6:54 PM
Using Data Set Actions
Using Data Set Actions Liferay DXP 2024.Q1/Portal GA112 Currently, this feature is behind a release feature flag (LPS-164563). Here are some examples for how to use data set actions and perform...
Published Date: May 9, 2024 6:54 PM
Data Set Visualization Modes
Data Set Visualization Modes Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). To customize the data display in your data set, use the...
Published Date: May 9, 2024 6:54 PM
Data Set Filters
Data Set Filters Liferay DXP 2024.Q1/Portal GA112 Currently, this feature is behind a release feature flag (LPS-164563). While managing data sets, you can define pre-applied filters to be used...
Published Date: May 9, 2024 6:54 PM
Data Set Actions
Data Set Actions Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). While managing data set, define actions to be used in the data set...
Published Date: May 9, 2024 6:54 PM
Data Set Sorting
Data Set Sorting Liferay DXP 2024.Q1/Portal GA112 Currently, this feature is behind a release feature flag (LPS-164563). While managing data sets, you can set default sorting rules for Data Sets...
Published Date: Nov 22, 2024 10:50 PM
Creating and Managing Objects
Creating and Managing Objects Liferay 7.4+ Liferay Objects provides a convenient UI for creating custom applications that meet your business needs without writing code. You can also use Objects to...
Published Date: May 9, 2024 6:54 PM
Defining Object Actions
Defining Object Actions Liferay 7.4 U60+/GA60+ Object actions define operations that you can run manually or automatically for object entry events. To add an action, Open the Global Menu (...
Published Date: May 9, 2024 6:54 PM
Actions
Actions Object actions define custom business logic that you can run manually or automatically for object entry events. Examples include delivering entry event data to a webhook URL, sending email...
Published Date: May 9, 2024 6:54 PM
Objects
Objects Liferay 7.4+ With Liferay Objects, you can build and deliver applications without having to write code or deploy modules. Each application built with Objects is integrated with Liferay's...
Published Date: May 9, 2024 6:54 PM
Using Manual Actions
Using Manual Actions Liferay 7.4 U60+/GA60+ When you use the standalone trigger for object actions, the actions become manual instead of automatic. Trigger these actions using these methods: ...
Published Date: May 9, 2024 6:54 PM
Understanding Action Types
Understanding Action Types Liferay 7.4 U60+/GA60+ Actions define custom operations triggered by object entry events. Liferay provides these action types: TypeDescription NotificationSend email or...
Published Date: May 9, 2024 6:54 PM
Activating and Deactivating Objects
Activating and Deactivating Objects Custom objects are activated when published. While active, you can use the object to create entries via the Liferay UI or dedicated REST APIs. If needed, you can...
Published Date: May 9, 2024 6:54 PM
Creating Objects
Creating Objects Liferay DXP 2023.Q4+/Portal GA102+ Liferay Objects provides development capabilities in the Liferay UI. Using Objects, you can build fully integrated Liferay applications without...
Published Date: May 9, 2024 6:54 PM
Exporting and Importing Object Definitions
Exporting and Importing Object Definitions Liferay 7.4 U68+/GA68+ You can export and import object definitions as .json files. These files include the definition's complete schema (e.g.,...
Published Date: May 9, 2024 6:54 PM
Extending System Objects
Extending System Objects Liferay 7.4 U86+/GA86+ With Liferay Objects, you can extend supported system services. Currently, only these services are integrated with the Objects framework: Account...
Published Date: May 9, 2024 6:54 PM