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.

カテゴリ
カテゴリ
Managing Objects with Headless APIs
Managing Objects with Headless APIs Liferay 7.4+ You can create and manage objects from the Applications menu, but you can also use Liferay's REST APIs. Call these services to create and manage...
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...
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...
Adding Field Validations
Adding Field Validations Liferay DXP 2023.Q3+/Portal GA92+ Validations set rules for determining valid field entries. Each validation has its own trigger, conditions, and error message, which you...
Accessing Accounts Data from Custom Objects
Accessing Accounts Data from Custom Objects Liferay 7.4 U35+/GA35+ In some use cases, you may want to access account data from a custom object. For example, if you're building a custom returns...
Using System Objects with Custom Objects
Using System Objects with Custom Objects
Restricting Access to Object Data by Account
Restricting Access to Object Data by Account Liferay 7.4 U58+/GA58+ In scenarios with multiple business accounts, you may want to restrict access to object entries by account. For example,...
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...
Using the Objects Model Builder
Using the Objects Model Builder [Liferay DXP 2023.Q4+/Portal GA102+](#model-builder-availability) For Liferay DXP 2023.Q4+/Portal GA102+, you must have Object Folder → View permissions to...
Managing Data from External Systems
Managing Data from External Systems [Release Feature](../../../security-and-administration/administration/configuring-liferay/feature-flags.md#release-feature-flags) Liferay Objects provides...
Deploying Object Widgets to Sites
Deploying Object Widgets to Sites Liferay 7.4+ When an Object is published, Liferay automatically generates a dedicated widget you can deploy to site pages. This includes both site-scoped and...
Expression Builder Validations Reference
Expression Builder Validations Reference Liferay 7.4 U67+/GA67+ You can create object field validations using Liferay's Expression Builder. This tool provides an integrated editor for quickly...
Displaying Object Entries with Collections
Displaying Object Entries with Collections Liferay 7.4 U77+/GA77+ When you publish an object definition, Liferay creates a collection provider for it. For site-scoped objects, you can also create...
Integrating Objects with Third Party Services
Integrating Objects with Third Party Services You can use Liferay Objects with popular data integration tools to create automated tasks for syncing Object data with external services. These tasks...
Validations
Validations Liferay 7.4+ Object validations set rules for determining valid field inputs. You can define validations with Groovy scripts, Liferay expressions, or a specified Composite Key...
Setting a Default Sorting
Setting a Default Sorting Liferay 7.4 U18+/GA18+ With custom views, you can set a default sorting for tables. Follow these steps: Begin editing the desired view and go to the Default Sort tab. ...
Designing Object Views
Designing Object Views Liferay 7.4+ Views define how entries appear in an object's application page. Though each published object has an autogenerated view, you can create your own. Design custom...
Renaming Table Columns
Renaming Table Columns Liferay 7.4 U21+/GA21+ With custom views, you can change and localize the display name for table columns so you can serve your global users and ensure the table's naming...
Views
Views Views define how entries appear in an object's application page. All published objects include an autogenerated table that displays all field columns alphabetically. However, you can design...
Adding Filters to Views
Adding Filters to Views Liferay 7.4 U49+/GA49+ When designing a custom view, you can determine which fields appear as filter facets. Also, you can set default filters that apply automatically to...
Using Objects with Salesforce
Using Objects with Salesforce [Release Feature](../../../../security-and-administration/administration/configuring-liferay/feature-flags.md#release-feature-flags) With Liferay, you can create...
Objects Application Permissions
Objects Application Permissions Liferay DXP 2023.Q4+/Portal GA102+ The Objects application is integrated with the permissions framework, so you can assign application and resource permissions to...
Understanding Object Integrations
Understanding Object Integrations Published custom objects are integrated with Liferay's core frameworks, so you can leverage Liferay's features to build unified experiences across the platform....
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...
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...
App Builder
App Builder Liferay CE/DXP 7.3 (deprecated and removed in 7.4) App Builder is a low-code application development solution for Liferay DXP. Build a data model, define the application's forms (for...
Creating a Workflow Powered Application
Creating a Workflow Powered Application Subscribers Workflow Powered Applications require data from multiple stakeholders. These process-driven applications can go through multiple stages before...
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...
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...
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...
Creating a Standard Application
Creating a Standard Application To create applications based on a custom object takes four steps: create the object, create at least one form view, create at least one table view, and deploy the...
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....
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...
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 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...
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,...
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.
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...
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...
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...
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...
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...
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...
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...
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 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 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...
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...
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.
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...
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 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...
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...
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...
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...
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...
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...