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.

カテゴリ
カテゴリ
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...
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...
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: ...
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...
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: ...
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...
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...
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...
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...
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...
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...
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...
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....
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...
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...
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...
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...
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...
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 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...
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.
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.
How JavaScript Modules are Formatted for AMD
How JavaScript Modules are Formatted for AMD The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. Liferay AMD Loader is based on the AMD...
Liferay npm Bundler
Liferay npm Bundler The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. The liferay-npm-bundler is a bundler (like Webpack or Browserify)...
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...
OSGi Bundles and npm Package Structure
OSGi Bundles and npm Package Structure The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. To deploy JavaScript modules, you must create an...
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...
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...
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 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...
Understanding the npmbundlerrc Structure
Understanding the npmbundlerrc Structure The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. The liferay-npm-bundler is configured via a...
Understanding Bundler Configuration Presets
Understanding Bundler Configuration Presets The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. The liferay-npm-bundler comes with a...
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...
Creating a Macro File
Creating a Macro File Test Scenario Write your first macro file using the test scenario below: You would like to test that your name does not appear on any learn.liferay.com article. The steps you...
Understanding the Liferay npm Bundler Loader
Understanding the Liferay npm Bundler Loader The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. liferay-npm-bundler's mechanism is...
Poshi Test Automation
Poshi Test Automation Poshi is a test automation framework that is simple, easy to understand, and does not require prior development experience to get started. Poshi tests can be written to...
Getting Started
Getting Started Previously, Poshi tests could only be executed by downloading and creating the test files within the Liferay source code. The Poshi Standalone gradle project enables you to use...
Understanding Test Results and Debugging Tests
Understanding Test Results and Debugging Tests Poshi tests are run on the terminal or command line. When a test run is completed there are multiple ways to view the test results and diagnose test...
Macros
Macros A macro is a set of functions that perform a task. Macros are where locators (paths) and functions are brought together to script interactions that a user performs on the system being...
Creating the Testcase File
Creating the Testcase File Test Scenario Write your first testcase file using the test scenario below: You would like to test that your name does not appear on any learn.liferay.com article. The...
Poshi Advantages
Poshi Advantages Simplified Syntax To make it easier for less technical testers to read and write test automation, Poshi uses a simplified Groovy-like script syntax. It is less wordy than most...
Poshi Layers
Poshi Layers
Syntax Validation
Syntax Validation The Poshi Standalone grade projects includes a validation task that can be used to check your code for syntax errors before running your test. To use this, simply run ./gradlew...
Functions
Functions In Poshi, Functions handle extra WebDriver commands that an element might require to interact with a page object or element. Functions combine the basic methods defined in the...
Setup
Setup Prerequisites A supported version of Java. Google Chrome. Gradle or Gradle Wrapper 6.6.1 or higher. Setting up the Poshi Standalone Gradle Project Create a new directory, example...
Poshi Basics
Poshi Basics New features, improvements, and system upgrades can sometimes introduce unexpected behaviors and bugs. Running suites of automated tests is an advantageous method of identifying issues...
Creating A Path File
Creating A Path File Test Scenario Write your first path file using the test scenario below: You would like to test that your name does not appear on any learn.liferay.com article. The steps you...
Running a Test
Running a Test Open the poshi-ext.properties file on your poshi-standalone directory and add the following line, replacing the TestCaseFileName#TestCaseName with the one you created in Creating A...
Paths
Paths A path is an element on a page that a test will interact with. An element can be a button, text field, link, image, paragraph, or just about anything you would need to assert, click, or type...
Testcases
Testcases A testcase file in Poshi is a collection of test scenarios grouped in blocks of code called test blocks. The three main test blocks: setUp, test, and tearDown, are made up of multiple...
Using Variables
Using Variables Though not a Poshi layer, variables are a large part of Poshi tests. Variables, like in other programming languages, are used to store data which can be referenced and reused in...
Configuration
Configuration In order to give test writers easy access to commonly used functions, paths, or macros, Poshi resources were created to store existing Poshi files as dependencies. These resources can...
Poshi Resources
Poshi Resources To give Poshi test writers easy access to commonly used functions or other files, Poshi resources were created to store existing Poshi files as dependencies that can be loaded apart...
DDM Form Annotations
DDM Form Annotations The auto-generated configuration interface UI may be too simplistic for some configurations. You can use the Dynamic Data Mapping (DDM) form annotations to customize your...
Field Options Provider
Field Options Provider You can populate a drop-down list manually in the @Meta.AD annotation of the configuration interface. But you can also populate the option labels and values automatically...
Reference
Reference Node Version Information
Traditional Java-Based Development
Traditional Java-Based Development Liferay is a complex open-source platform built on several key technologies and architectural principles. Liferay is written mostly in Java and built on the OSGi...