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
Clay Progress Bars
Clay Progress Bars You can add progress bars to your app with the clay:progressbar tag. These indicate the completion percentage of a task and come in three status styles: default (blue), warning...
Using Spring
Using Spring PortletMVC4Spring is a way to develop portlets using the Spring Framework and the Model View Controller (MVC) pattern. While the Spring Framework supports developing servlet-based web...
Using React
Using React Build your own solutions using Liferay and React.
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...
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 System Objects with Custom Objects
Using System Objects with Custom Objects
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...
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...
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...
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. ...
User Management APIs
User Management APIs You can use headless APIs to interface with important Liferay user management features, including user accounts, organizations, and roles. Here are resources to help you...
Clay Labels and Links
Clay Labels and Links Liferay Clay taglibs provide tags for creating labels and links in your app. Both of these elements are covered below. Labels The Liferay Clay taglibs provide a few different...
Using Liferay Util Param
Using Liferay Util Param The param tag lets you set a parameter for an included JSP page. This configuration requires two JSPs. JSP A, the main view of the app, includes JSP B and sets its...
Extending Liferay
Extending Liferay Liferay DXP/Portal is highly customizable. Its modular architecture contains components you can extend and override dynamically using APIs.
Customizing Localization
Customizing Localization Liferay ships with 55 translations, making it ideal for deployments all over the world. Sometimes, however, you must modify a translation or provide a new one. Here you can...
Clay Stickers
Clay Stickers Whereas badges display numbers and labels display short information, stickers are small visual indicators of the content (usually the content type). They can include a small label or...
Clay Navigation Bars
Clay Navigation Bars Similar to dropdown menus, navigation bars display a list of navigation items. The key difference is navigation bars are displayed in a horizontal bar with all navigation items...
Using Liferay Util Whitespace Remover
Using Liferay Util Whitespace Remover The whitespace remover tag removes line breaks and tabs from code blocks included between the opening and closing of the tag. Below is an example configuration...
PortletMVC4Spring Annotations
PortletMVC4Spring Annotations PortletMVC4Spring provides several annotations for mapping requests to controller classes and controller methods. @RenderMapping Annotation Examples The following...
Using Liferay Util Get URL
Using Liferay Util Get URL The get URL tag scrapes the URL provided by the url attribute. If a value is provided for the var attribute, the content from the screen scrape is scoped to that...
Using Liferay Util Dynamic Include
Using Liferay Util Dynamic Include The dynamic include tag lets you specify a point or points in a JSP or theme where a developer can inject additional HTML, resources, or functionality, using the...
Reference
Reference PortletMVC4Spring integrates Spring, the Spring Web Framework, and the MVC design pattern with portlet development. As such, it uses configuration files from each of these areas and...
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...
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...
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...
Client Extension Reference
Client Extension Reference Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 You can find code examples for all types of client extensions in liferay-portal Frontend Client Extensions ...
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...
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...
Building Applications
Building Applications For maximum compatibility with all of Liferay's deployment options, you can combine Liferay's Objects, Client Extensions, and other features and tools to build real-world...
Building a Custom Ticketing System
Building a Custom Ticketing System Liferay makes it easy for you to build digital solutions. For example, you can create a custom ticketing application with the styling and features needed for your...
Deploying a Custom Application
Deploying a Custom Application You can use a custom element client extension to render a JavaScript application as a widget on a Liferay site page. The application is served by Liferay and...
Client Extensions
Client Extensions Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 When you want to extend Liferay, either by modifying its look and feel or by calling functions outside of Liferay, you...
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...
Applying a Custom Theme
Applying a Custom Theme You can use different front-end client extensions to customize the look and feel of your site. Specifically, theme CSS type client extension can be used as an alternative to...
Implementing a Documentation Referral System
Implementing a Documentation Referral System The ticketing system can be further enhanced with a documentation referral system. The system searches automatically for relevant documentation based on...
Packaging Client Extensions
Packaging Client Extensions Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 Client extension projects are built as deployable archives called Liferay Universal File Format Archives...
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...
OAuth Headless Server YAML Configuration Reference
OAuth Headless Server YAML Configuration Reference You can define an OAuth headless server client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines...
Development
Development Liferay's development platform makes developers faster and more efficient by providing a baseline set of features to build upon. Rather than start from scratch, you can start instead...