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.

カテゴリ
カテゴリ
Site Initializers
Site Initializers Liferay DXP 2023.Q4+/Portal GA100+ Site Initializers package pages, content, and configurations to help you jump-start a new site with much of the site already built. You can...
Batch YAML Configuration Reference
Batch YAML Configuration Reference Use a client-extension.yaml file to define a batch client extension. Usage Details This client-extension.yaml file defines a client extension of type batch: ...
Site Initializer YAML Configuration Reference
Site Initializer YAML Configuration Reference Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 Use a client-extension.yaml file to define a Site Initializer client extension. Usage...
Creating a Basic Custom Element
Creating a Basic Custom Element Liferay 7.4+ Custom element client extensions use Liferay's frontend infrastructure to register external, remote applications with the Liferay platform and render...
Using an IFrame Client Extension
Using an IFrame Client Extension Liferay 7.4+ IFrame client extensions use Liferay's frontend infrastructure to register external applications as HTML elements. They're added to Liferay pages as...
IFrame YAML Configuration Reference
IFrame YAML Configuration Reference You can define an IFrame client extension with a client-extension.yaml file. Data Usage This client-extension.yaml file defines an IFrame client extension: ...
Notification Type YAML Configuration Reference
Notification Type YAML Configuration Reference You can define a notification type client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a...
Object Action YAML Configuration Reference
Object Action YAML Configuration Reference You can define an object action client extension with a client-extension.yaml file. Usage Details This client-extension.yaml defines an object action and...
Using Routes with Custom Elements
Using Routes with Custom Elements Liferay 7.4+ Custom element client extensions use Liferay's frontend infrastructure to register external applications with the Liferay platform and render them as...
Integrating Microservices
Integrating Microservices Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 You can define microservice client extensions to run your own code in response to events in your Liferay...
CAPTCHA YAML Configuration Reference
CAPTCHA YAML Configuration Reference You can define a CAPTCHA client extension with a client-extension.yaml file. Usage Details This client-extnesion.yaml file defines a CAPTCHA client extension: ...
Using a CAPTCHA Client Extension
Using a CAPTCHA Client Extension Liferay DXP 2025.Q3+ CAPTCHA challenges are used on websites to verify a human user is accessing it, and not a bot or malicious code attacking the site. Liferay...
Using a Microservice Client Extension
Using a Microservice Client Extension A microservice client extension is a standalone server process that relies on OAuth 2 for communication with Liferay. The microservice is a resource server and...
Object Validation Rule YAML Configuration Reference
Object Validation Rule YAML Configuration Reference To define an Object Validation Rule client extension, add the objectValidationRule type to your client-extension.yaml file. Usage Details This...
Workflow Action YAML Configuration Reference
Workflow Action YAML Configuration Reference You can define a workflow action client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a workflow...
Blade CLI
Blade CLI Blade CLI can be installed through a command line interface or a graphical installer. If you're behind a proxy, once it's installed you can configure it to operate through the proxy....
Tooling
Tooling Liferay provides a variety of developer tools that include standard build scripting, lightweight CLI utilities, and full IDE based on Eclipse. This is to serve all developers, whether...
Generating Projects with Blade CLI
Generating Projects with Blade CLI Blade CLI exists to create, build, and deploy Liferay projects in Liferay Workspaces. Once created, these projects can be imported into an IDE or worked on...
Configuring a Liferay Docker Container
Configuring a Liferay Docker Container Creating and deploying containers is an important part of the modern developer workflow. Liferay Workspace makes it easy to use Docker containers both for...
Liferay Workspace
Liferay Workspace Liferay Workspace is a set of folders and Gradle scripts that represents the Liferay-opinionated way of handling a full development life cycle: Creating projects Building...
Troubleshooting Blade CLI
Troubleshooting Blade CLI If Blade CLI isn't working as expected, you may find answers here. The blade command is not available in my CLI The Blade CLI installer adds the blade command to your...
Configuring Liferay Workspace
Configuring Liferay Workspace Liferay Workspace is simple to use, and you can learn the basics by starting at the beginning. If you're happily creating projects, deploying code, or using a Docker...
Creating Deployment Environments
Creating Deployment Environments There comes a point when your code is ready to share. For that, you must build an environment. In the corporate world, there are usually three environments: ...
Creating Code with Liferay Workspace
Creating Code with Liferay Workspace Liferay Workspace is the developer's tool for creating and managing Liferay development projects. Creating Projects Blade CLI makes it easy to create projects...
Creating A Liferay Workspace
Creating A Liferay Workspace You can create a Liferay Workspace manually or with Blade CLI. Creating a Liferay Workspace Manually To create a Liferay Workspace manually, you must have Gradle...
Liferay CLI Tool
Liferay CLI Tool The Liferay CLI tool is deprecated as of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. The Liferay CLI tool makes it easy to create Angular, JavaScript,...
Other Tools (Deprecated)
Other Tools (Deprecated) These tools are deprecated as of Liferay 2024.Q4/Portal GA129, and they are planned for future removal. Modern browsers (and Liferay DXP) all support including JavaScript...
Liferay npm Bundler (Deprecated)
Liferay npm Bundler (Deprecated) The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal.
Bundler Migration Guide
Bundler Migration Guide The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal.
Migrating a Plain JavaScript, Billboard JS, JQuery, Metal JS, React, or Vue JS Project to Use Liferay npm Bundler 2.x
Migrating a Plain JavaScript, Billboard JS, JQuery, Metal JS, React, or Vue JS Project to Use Liferay npm Bundler 2.x The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and...
Migrating an Angular Project to Use Liferay npm Bundler 2.x
Migrating an Angular Project to Use Liferay npm Bundler 2.x The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. Follow these steps to...
Migrating Your Project to Use liferay-npm-bundler's New Mode
Migrating Your Project to Use liferay-npm-bundler's New Mode The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. Since issue #303, two...
Migrating a liferay-npm-bundler Project from 1.x to 2.x
Migrating a liferay-npm-bundler Project from 1.x to 2.x The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. liferay-npm-bundler 2.x offers...
Changes Between Bundler 1.x and 2.x
Changes Between Bundler 1.x and 2.x The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. This article outlines the key changes between...
How AMD Loader Configuration is Exported
How AMD Loader Configuration is Exported The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. If you don't understand how Liferay AMD...
Default Bundler Loaders
Default Bundler Loaders The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. Several loaders are available for the liferay-npm-bundler by...
How the Bundler Publishes npm Packages
How the Bundler Publishes npm Packages The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. When you deploy an OSGi bundle with the...
Tag Libraries
Tag Libraries You have access to a powerful set of taglibs for creating commonly used UI components in your apps, themes, and web content. The following taglibs are covered in this section: AUI:...
MVC Render Command
MVC Render Command MVC Render Commands are classes that handle which page to render. They are invoked by MVCPortlet render URLs and requests. If your render logic is simple you can implement all of...
MVC Resource Command
MVC Resource Command MVC Resource Command classes retrieve resources: images, XML, or any other kind of resource from a DXP/Portal instance without triggering any actions or renders. Requests or...
Portlet Preferences
Portlet Preferences You can give administrators and users a way to customize a portlet with portlet preferences. Portlet preferences can be added to any MVC Portlet to give users a UI to access and...
Rendering Views with MVC Portlet
Rendering Views with MVC Portlet If you want users to access your portlet's views, you must implement navigation to them. Portlet render URLs help you do this. Here you'll deploy an example...
Chart Tag Library
Chart Tag Library Lines, splines, bars, pies and more, the Chart tag Library provides everything you need to model data. Each taglib gives you access to the corresponding Clay component. These...
Alloy UI (AUI) Tag Library
Alloy UI (AUI) Tag Library The AUI tag library provides tags that implement commonly used UI components. These tags make your markup consistent, responsive, and accessible. You can find a list of...
Building Forms with AUI Tags
Building Forms with AUI Tags The AUI tag library provides all the components you need to build forms for your applications. AUI tags provide many benefits to standard form elements, such as custom...
Donut Charts
Donut Charts Donut charts are percentage-based. A donut chart is similar to a pie chart, but it has a hole in the center. Each data set must be defined as a new instance of the SingleValueColumn...
Geomap Chart
Geomap Chart A Geomap Chart shows data based on geography, given a specified color range---a lighter color representing a lower rank and a darker a higher rank usually. The default configuration...
Gauge Charts
Gauge Charts Gauge charts are percentage-based. A gauge chart shows where percentage-based data falls over a given range. Each data set must be defined as a new instance of the SingleValueColumn...
Pie Charts
Pie Charts Pie charts are percentage-based. A pie chart models percentage-based data as individual slices of pie. Each data set must be defined as a new instance of the SingleValueColumn object....
Combination Charts
Combination Charts Combination charts have minor differences from other charts. In a combination chart, you must define the representation type of each data set: AREA, AREA_SPLINE, AREA_STEP, BAR,...
Bar Charts
Bar Charts Bar charts contain multiple sets of data. A bar chart models the data in bars. Each data series (created with the addColumns() method) is defined with a new instance of the...
Line Charts
Line Charts Line charts contain multiple sets of data. A Line chart displays the data linearly. Each data series (created with the addColumns() method) is defined with a new instance of the ...
Predictive Charts
Predictive Charts Predictive charts let you visualize current data along with predicted/forecasted data within a given value range. Predicted/forecasted data is surrounded by a highlighted area of...
Refreshing Charts to Reflect Real Time Data
Refreshing Charts to Reflect Real Time Data The polling interval property is an optional property for all charts. It specifies the time in milliseconds for the chart's data to refresh. You can use...
Scatter Charts
Scatter Charts Scatter charts contain multiple sets of data. A scatter chart models the data as individual points. Each data series (created with the addColumns() method) is defined with a new...
Spline Charts
Spline Charts Spline charts contain multiple sets of data. A spline chart connects points of data with a smooth curve. Each data series (created with the addColumns() method) is defined with a new...
Step Charts
Step Charts Step charts contain multiple sets of data. A step chart steps between the points of data, resembling steps. Each data series (created with the addColumns() method) is defined with a new...
Clay Tag Library
Clay Tag Library The Liferay Clay tag library provides a set of tags for creating Clay UI components in your app. AUI taglibs are deprecated as of Liferay 7.1. We recommend that you use Clay...
Clay Alerts
Clay Alerts Clay alerts come in two types: embedded and stripe. Both types, along with several examples of each, are shown below. Embedded Alerts Embedded alerts are usually used inside forms. The...
Clay Badges
Clay Badges Badges help highlight important information such as notifications or new and unread messages. Badges have circular borders and are only used to specify a number. This covers the...