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
Liferay CLI Tool
Liferay CLI Tool The Liferay CLI tool is deprecated as of Liferay 2024.Q4/7.4 GA129, and it's planned for future removal. The Liferay CLI tool makes it easy to create Angular, JavaScript, React,...
Published Date: May 9, 2024 6:55 PM
Bundler Migration Guide
Bundler Migration Guide The Liferay npm bundler is deprecated of Liferay 2024.Q4/7.4 GA129, and it's planned for future removal.
Published Date: May 9, 2024 6:55 PM
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/7.4 GA129, and it's planned for future removal. liferay-npm-bundler 2.x offers...
Published Date: May 9, 2024 6:55 PM
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/7.4 GA129, and it's planned for future removal. Follow these steps to migrate...
Published Date: May 9, 2024 6:55 PM
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/7.4 GA129, and it's...
Published Date: May 9, 2024 6:55 PM
How AMD Loader Configuration is Exported
How AMD Loader Configuration is Exported The Liferay npm bundler is deprecated of Liferay 2024.Q4/7.4 GA129, and it's planned for future removal. If you don't understand how Liferay AMD Loader...
Published Date: May 9, 2024 6:55 PM
How the Bundler Publishes npm Packages
How the Bundler Publishes npm Packages The Liferay npm bundler is deprecated of Liferay 2024.Q4/7.4 GA129, and it's planned for future removal. When you deploy an OSGi bundle with the specified...
Published Date: May 9, 2024 6:55 PM
How JavaScript Modules are Formatted for AMD
How JavaScript Modules are Formatted for AMD The Liferay npm bundler is deprecated of Liferay 2024.Q4/7.4 GA129, and it's planned for future removal. Liferay AMD Loader is based on the AMD...
Published Date: May 9, 2024 6:55 PM
Liferay npm Bundler
Liferay npm Bundler The Liferay npm bundler is deprecated of Liferay 2024.Q4/7.4 GA129, and it's planned for future removal. The liferay-npm-bundler is a bundler (like Webpack or Browserify) that...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
Poshi Layers
Poshi Layers
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
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...
Published Date: May 9, 2024 6:55 PM
Using Poshi Resources
Using Poshi Resources Once the Poshi resources jar file is loaded onto your Poshi project, you are now able to use Liferay's commonly used functions, paths, and macros. To distinguish between files...
Published Date: May 9, 2024 6:55 PM
Reference
Reference Node Version Information
Published Date: May 9, 2024 6:55 PM
7.2 Breaking Changes
7.2 Breaking Changes This document presents a chronological list of changes that break existing functionality, APIs, or contracts with third party Liferay developers or users. We try our best to...
Published Date: May 9, 2024 6:55 PM
7.3 Breaking Changes
7.3 Breaking Changes This document presents a chronological list of changes that break existing functionality, APIs, or contracts with third party Liferay developers or users. We try our best to...
Published Date: May 9, 2024 6:55 PM
7.4 Breaking Changes
7.4 Breaking Changes Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay 7.4, starting with the latest quarterly...
Published Date: May 9, 2024 6:55 PM
Developer Guide
Developer Guide
Published Date: May 9, 2024 6:59 PM
Aggregating Resource Bundles
Aggregating Resource Bundles When working with a module that shares localized messages, the bnd header must specify the resource bundles you want to associate with the module. Liferay provides a...
Published Date: Jan 18, 2025 2:48 AM
Sharing Localized Messages
Sharing Localized Messages As you work on an application you might have multiple modules, each of which with its own language keys. Instead of maintaining various language properties files in...
Published Date: May 9, 2024 6:53 PM
Implementing an Item Selector
Implementing an Item Selector Item selectors are pop-up dialogs for selecting assets, such as documents, videos, or users. By configuring the item selector's criteria and defining its usage, you...
Published Date: May 9, 2024 6:52 PM
Business Logic with Service Builder
Business Logic with Service Builder Once you've generated model, persistence, and service code with Service Builder, you can begin adding business logic. Entities generated by Service Builder...
Published Date: May 9, 2024 6:52 PM
Enabling Assets
Enabling Assets Many of Liferay's applications (e.g. Blogs, Documents and Media, Message Boards, etc.) are asset-enabled out of the box. You can publish assets with the Asset Publisher widget or...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:53 PM
Configuration as Code
Configuration as Code Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 Liferay instance configurations are deployable with client extensions. For example, you can deploy OAuth2...
Published Date: Nov 22, 2024 10:50 PM
Core Frameworks
Core Frameworks
Published Date: Nov 22, 2024 10:50 PM
Listening for Messages
Listening for Messages You can listen for messages sent to any registered Message Bus destination, whether it's built-in to DXP/Portal, defined by third-parties, or created by you. Messages sent to...
Published Date: May 9, 2024 6:53 PM
Using a CSS Client Extension
Using a CSS Client Extension Liferay 7.4+ CSS client extensions introduce new CSS styling to pages. A deployed CSS client extension on a page adds to the page's existing styling, including theme...
Published Date: May 9, 2024 6:54 PM
CSS YAML Configuration Reference
CSS YAML Configuration Reference You can define a CSS client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a CSS client extension definition: ...
Published Date: May 9, 2024 6:54 PM
Using a Theme CSS Client Extension
Using a Theme CSS Client Extension Liferay 7.4+ With a theme CSS client extension, you can override the current theme's CSS files (main.css and clay.css) to change the look and feel of a page....
Published Date: May 9, 2024 6:54 PM
Defining Object Relationships
Defining Object Relationships Liferay 7.4+ Relationships add fields and tables to object definitions for relating their entries to one another. Follow these steps to add relationships to object...
Published Date: May 9, 2024 6:54 PM
Relationships
Relationships Liferay 7.4 U47+/GA47+ Relationships add fields and tables to object definitions for relating their entries with one another. This provides access to entry data in different...
Published Date: May 9, 2024 6:54 PM
Removing Relationships
Removing Relationships Liferay 7.4 U26+/GA26+ You can remove relationships from both draft and published object definitions. Removing a relationship permanently deletes its field from the related...
Published Date: May 9, 2024 6:54 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
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
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
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
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 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
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...
Published Date: May 9, 2024 6:53 PM
Customizing Liferay's Look and Feel
Customizing Liferay's Look and Feel One of the easiest ways to get started developing on Liferay's platform is to modify its look and feel. You can change everything from its favicon to its entire...
Published Date: Jan 18, 2025 2:48 AM
Working with Client Extensions
Working with Client Extensions Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 Using client extensions, you can extend Liferay without deploying OSGi modules. Just like traditional...
Published Date: Jan 18, 2025 2:48 AM
Portlet Level Configuration
Portlet Level Configuration With the configuration framework, you can set your application's configuration for different levels of scope. Where Instance and Site-scoped configurations use...
Published Date: Nov 22, 2024 10:50 PM
Setting and Accessing Configurations
Setting and Accessing Configurations You can use Liferay's configuration framework to add a settings UI for a MVC Portlet. See the Example Portlet Then, follow these steps: Download and unzip...
Published Date: May 9, 2024 6:53 PM
Client Extensions UI Reference
Client Extensions UI Reference Liferay's widget client extensions (custom element and iframe) register applications with Liferay, adding them as widgets to site pages. Additionally, you can style...
Published Date: May 9, 2024 6:54 PM
Using a Frontend Data Set Filter Client Extension
Using a Frontend Data Set Filter Client Extension Liferay DXP 2024.Q2+/Portal GA120+ Frontend data set filter client extensions define JavaScript functions for creating customizable filter...
Published Date: Jun 6, 2024 3:55 PM
Using a JavaScript Client Extension
Using a JavaScript Client Extension Liferay 7.4+ With a JavaScript (JS) client extension, you can run your own JavaScript on any page in Liferay without worrying about dependencies on Liferay code...
Published Date: May 9, 2024 6:54 PM
JavaScript YAML Configuration Reference
JavaScript YAML Configuration Reference You can define a JavaScript client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a JavaScript client...
Published Date: May 9, 2024 6:54 PM
Theme CSS YAML Configuration Reference
Theme CSS YAML Configuration Reference You can define a theme CSS client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a theme CSS client...
Published Date: May 9, 2024 6:54 PM
Using an Editor Config Contributor Client Extension
Using an Editor Config Contributor Client Extension Liferay DXP 2024.Q1+/Portal GA112+ The translation status feature is currently behind a release feature flag (LPS-186870). Read Release Feature...
Published Date: May 9, 2024 6:54 PM
Editor Config Contributor YAML Configuration Reference
Editor Config Contributor YAML Configuration Reference Liferay DXP 2024.Q1+/Portal GA112+ This feature is currently behind a release feature flag (LPS-186870). Read Release Feature Flags for more...
Published Date: May 9, 2024 6:54 PM
Data Sets
Data Sets Liferay DXP 2024.Q1+/Portal GA112+ [Beta Feature](../system-administration/configuring-liferay/feature-flags.md#beta-feature-flags) Data sets are like virtual containers that help...
Published Date: May 9, 2024 6:54 PM

Capabilities

Product

Education

Contact Us

Connect

Powered by Liferay
© 2024 Liferay Inc. All Rights Reserved • Privacy Policy