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.

Category
Category
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...
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...
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...
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. ...
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....
Liferay Performance Use Cases with Glowroot
Liferay Performance Use Cases with Glowroot Liferay DXP 2023.Q4+/Portal GA100+ Use Glowroot to diagnose and inform you on making performance improvements to your Liferay installation. Here are a...
Developing Glowroot Plugins
Developing Glowroot Plugins Liferay DXP 2023.Q4+/Portal GA100+ Glowroot provides various out-of-the-box plugins. You can also build your own with the use of their plugin API. Here are some tips...
Troubleshooting JVM Issues with Glowroot
Troubleshooting JVM Issues with Glowroot Liferay DXP 2023.Q4+/Portal GA100+ Glowroot displays a dashboard for identifying system issues quickly. Click the Errors tab to see a list of tracked...
Using Glowroot with Liferay
Using Glowroot with Liferay Liferay DXP 2023.Q4+/Portal GA100+ Liferay bundles Glowroot, the open source Java application monitoring tool. The tool displays helpful statistics about your system...
Script Examples
Script Examples Here are some examples to help you use scripts in DXP. Most of the examples originated from the Liferay blog post 5 Tips to Improve Usage of the Liferay Script Console. Example 1:...
Running Scripts From the Script Console
Running Scripts From the Script Console The Script Console provides a single view for executing Groovy scripts and printing their output. It has predefined variables that facilitate working with...
Troubleshooting Liferay Performance Issues with Glowroot
Troubleshooting Liferay Performance Issues with Glowroot Liferay DXP 2023.Q4+/Portal GA100+ Use Glowroot to identify and diagnose performance issues in your Liferay installation. The following...
Using the Script Engine
Using the Script Engine Liferay provides a robust script engine for executing Groovy scripts. You can execute scripts to perform maintenance tasks involving data cleanup, user maintenance...
Invoking Liferay Services From Scripts
Invoking Liferay Services From Scripts Many scripting scenarios require invoking Liferay services. Liferay *ServiceUtil classes are the fastest and most convenient way to invoke Liferay services in...
Troubleshooting Templates with Glowroot Freemarker Plugin
Troubleshooting Templates with Glowroot Freemarker Plugin Liferay DXP 2023.Q4+/Portal GA100+ Glowroot can troubleshoot FreeMarker templates to pinpoint slow transactions. Configuring the...
Portal Developer Properties
Portal Developer Properties There are Portal Properties that facilitate development. Liferay's portal-developer.properties file includes all of them. The portal-developer.properties file is enabled...
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...
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...
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...
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...
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 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...
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...
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....
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...
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...
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...
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...
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...
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...
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...
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...
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: ...
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 (...
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...
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...
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.,...
Auditing Object Events
Auditing Object Events Liferay 7.4 U72+/GA72+ You can use Liferay's audit framework to track events for custom object definitions and their entries. To track entry events, you must enable entry...
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...
Deleting Objects
Deleting Objects Liferay 7.4 U26+/GA26+ You can delete draft and published object definitions. Deleting a definition removes its associated data, including the stored entries for published...
Extending Unmodifiable System Objects
Extending Unmodifiable System Objects Liferay 7.4 U86+/GA86+ With Liferay Objects, you can extend supported system services. These services are integrated with the Objects framework as...
Fields
Fields Liferay DXP 2023.Q4+/Portal GA102+ Object fields are data definitions that represent database columns and store different types of values. All objects include default system fields, but you...
Aggregation Fields
Aggregation Fields Liferay 7.4 U47+/GA47+ Aggregation fields perform basic calculations on the entries from a relationship table and display the resulting values. Available aggregation functions...
Adding Fields to Objects
Adding Fields to Objects Liferay DXP 2023.Q4+/Portal GA102+ Fields are data definitions that represent database columns and store different types of values. By default, all objects include these...
Adding and Managing Custom States
Adding and Managing Custom States Liferay 7.4+ Some use cases may require assigning multiple states to an object entry at the same time. For example, when building an Order application, you may...
Attachment Fields
Attachment Fields Attachment fields are for uploading files to your instance's Document Library. When uploaded, the file is linked to the entry's attachment field. Each field can only be linked to...
Assignee Fields
Assignee Fields Liferay DXP 2025.Q4+/Portal 2026.Q1+ Assignee fields are for selecting existing users or roles in the object entry. Assigned users can edit the entry with no manual permission...
Formula Fields
Formula Fields Liferay DXP 2023.Q4+/Portal GA102+ Formula fields store read-only values calculated using numeric fields in the object definition. Example use cases include calculating an...
Auto-Increment Fields
Auto-Increment Fields DXP 2024.Q1+/Portal GA112+ Auto-Increment fields are configurable read-only fields for uniquely identifying object entries in a human-readable format. For example, an IT...
Encrypted Fields
Encrypted Fields Self-Hosted and PaaS Only Liferay 7.4 U72+/GA72+ Liferay provides the encrypted field type for storing sensitive user data. To use encrypted fields, first add an encryption...
Picklist Fields
Picklist Fields Liferay 7.4 U72+/GA72+ Picklists define lists of text values usable as single select or multi-select fields in object definitions. By default, single select fields appear as...
Using Read-Only Fields
Using Read-Only Fields Some use cases may require data fields to be read-only. For example, data integrity may require some field values to remain immutable, or you may need to prevent unauthorized...
Layouts
Layouts Liferay 7.4+ Object layouts define how fields and relationships appear when creating and editing entries. All published objects include an autogenerated layout with a single tab that lists...
Localizing Object Definitions and Entries
Localizing Object Definitions and Entries Liferay DXP 2023.Q3+/Portal GA92+ Liferay objects are integrated with the localization framework, so you can add translations for definition labels, and...
Adding Categorization to Fields Tabs
Adding Categorization to Fields Tabs Liferay 7.4 U31+/GA31+ You can add categorization blocks to fields tabs so end users can apply tags and categories to object entries. Follow these steps: ...
Organizing Objects with Folders
Organizing Objects with Folders By default, object definitions are grouped in the Uncategorized folder, but you can add object folders to organize data models and manage access to definitions. ...
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 Object Inheritance
Using Object Inheritance [Release Feature (LPD-34594)](../../../../security-and-administration/administration/configuring-liferay/feature-flags.md#release-feature-flags) Liferay DXP...
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...
Scheduling and Subscription
Scheduling and Subscription [Beta Feature](../../../security-and-administration/administration/configuring-liferay/feature-flags.md#beta-feature-flags) (LPD-17564) Liferay DXP 2025.Q4+/Portal...