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
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...
Accessing Custom Fields With Expandos
Accessing Custom Fields With Expandos When you need additional fields in your application, you can always add them in your service model definition and re-run Service Builder. This adds new columns...
Message Bus
Message Bus The Message Bus provides a loosely coupled way to exchange messages. A class sending a message invokes the Message Bus to send the message to a destination, while other classes...
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...
Using Default Synchronous Messaging in Previous Versions
Using Default Synchronous Messaging in Previous Versions Liferay DXP 7.4 U48/Portal GA49 and Below In default synchronous messaging, the sender blocks while a Message Bus thread dispatches the...
Portlet IDs
Portlet IDs Below is a listing of the portlet IDs for the default portlets in Liferay DXP. You can use these IDs to embed portlets in your theme's sitemap. Collaboration PortletID...
Listening for Registration Events
Listening for Registration Events Liferay DXP 2023.Q3/Portal GA92 and Below The messaging API supports listening for destination and message listener registration events. Here are some reasons to...
Portlets
Portlets Liferay DXP started off as a portal server for Java-based web applications called portlets (see JSR 168, JSR-286, and JSR-362). Portlets process requests and generate responses like any...
Asset Framework
Asset Framework The asset framework is behind many of Liferay's most powerful features. It provides tools for displaying and interacting with any type of content and data. For example, if you build...
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...
Advanced Queries
Advanced Queries Service Builder doesn't limit you to elements in service.xml. If simple finders aren't sufficient for getting data out of your application, there are three other ways to make the...
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...
Defining Entities
Defining Entities Entities are the heart and soul of a service. They represent the map between the model objects in Java and your database fields and tables. Service Builder automatically maps your...
Defining Entity Finder Methods
Defining Entity Finder Methods Finder methods retrieve entity objects from the database based on specified parameters. For each finder defined, Service Builder generates several methods to fetch,...
Modifying Database Fields in Development
Modifying Database Fields in Development As you develop an application, you might need to add fields to your database. This is a normal process of iterative development: you get an idea for a new...
Configuring Global Service Options
Configuring Global Service Options A service's global options apply to all its entities. Here are the options: Dependency Injector Package path Multiversion concurrency control Namespace...
Defining Entity Columns
Defining Entity Columns An entity's columns represent its attributes. These attributes map table fields to Java object fields. Here you'll examine the sample project from Understanding and...
Sorting Entity Instances
Sorting Entity Instances Often, you want to retrieve multiple instances of a given entity and list them in a particular order. The service.xml file lets you specify the default order of your...
Generating Model, Persistence, and Service Code
Generating Model, Persistence, and Service Code Service Builder makes it easy to define models and generate model, persistence, and service code for them. You'll experience this by defining a model...
Adding Model Hints
Adding Model Hints Once you've used Service Builder to define model entities, you may want to refine how users enter that data. Model hints specify entity data restrictions and other formatting....