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
Auto-Deploying Fragments
Auto-Deploying Fragments Liferay Portal 7.3 GA1+ or Liferay DXP 7.3+ If you're developing page fragments with your own tooling, you can deploy them by packaging them in ZIP files for importing via...
Developing Page Fragments
Developing Page Fragments Page fragments are the building blocks for content pages. They're made from the three components of web pages: CSS, HTML, and JavaScript. To create a page you combine...
Best Practices for Using Fragment Configurations
Best Practices for Using Fragment Configurations When you are creating page fragments for your site with your own configurations, it's your responsibility to use them in their HTML presentation...
Applying Styles to Fragments
Applying Styles to Fragments When you add a fragment to a page, you can use the sidebar menu to configure the fragment, including the Styles configuration tab. Use the Styles tab in the sidebar...
Creating Form Fragments
Creating Form Fragments Liferay 7.4 U45+/GA45+ The form components fragments are for building your object's forms in a content page. If Liferay's form fragments don't satisfy your use case, create...
Validating Fragment Configurations
Validating Fragment Configurations When defining fragment configuration options, you can add validation properties to text type fields that determine rules for valid entries. Determine what type of...
Using the Fragments Editor
Using the Fragments Editor Liferay DXP includes a built-in editor for developing content page fragments. To access the editor, open the Site Menu ( Site Menu ) and navigate to Design → Fragments....
Using Custom Fields in Page Fragments
Using Custom Fields in Page Fragments If you've added custom fields to Liferay's users or pages, you can access them in fragments. To get the value of a page custom field, use ...
Including Default Resources in Fragments
Including Default Resources in Fragments You can include images files (e.g. .gif, .jpg, .jpeg, or .png) direct in your fragment sets. Keeping images with your fragments, rather than in other...
Defining Fragment Drop Zones
Defining Fragment Drop Zones Drop zones are integral to building your content pages. With them, you can create unique page layouts and dynamic displays by defining areas within fragments where...
Fragments Toolkit Command Reference
Fragments Toolkit Command Reference The Fragments Toolkit is deprecated as of Liferay 2024.Q1+/Portal GA112+. See Alternatives for the Fragments Toolkit for more information. The Fragments...
Using the Fragments Toolkit
Using the Fragments Toolkit The Fragments Toolkit is deprecated as of Liferay 2024.Q1+/Portal GA112+. See Alternatives for the Fragments Toolkit for more information. The Fragments Toolkit helps...
Developing Page Fragments Reference
Developing Page Fragments Reference The Developing Fragments Reference provides essential information on key aspects of fragment development in Liferay. It covers command references, configuration...
Adding Configuration Options to Fragments
Adding Configuration Options to Fragments Liferay DXP 7.2 SP1 Configurable options make your fragments flexible, minimizing the maintenance of similar fragments. For example, instead of creating...
Creating a Contributed Fragment Set
Creating a Contributed Fragment Set Contributed fragment sets are deployable modules containing page fragments. Fragments in a contributed set can be used like regular fragments, but aren't...
Setting the Order of Elements in a Fragment
Setting the Order of Elements in a Fragment Liferay 7.4+ The Slider or Tab fragments are typically used to show different areas of information. Sliders present this information in a carousel of...
Page Fragment Editor Interface Reference
Page Fragment Editor Interface Reference The page fragment editor's interface is organized into two tabs: Code Editor Configuration The sections below cover how to use these portions of the...
Fragment Specific Tags and Attributes Reference
Fragment Specific Tags and Attributes Reference Along with standard HTML, CSS, and JavaScript, you can use Liferay-specific tags and attributes to define editable sections, embed widgets, and more....
Fragment Configuration Types Reference
Fragment Configuration Types Reference Below are the available configuration types for fragments. See Adding Configuration Options to Fragments for more on how to make a fragment configurable. ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
Postal Address API Basics
Postal Address API Basics Liferay DXP/Portal 7.4+ Use Liferay's REST APIs to manage postal addresses. Add Postal Address to Account Then, follow these steps: Download and unzip Postal Address...
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...
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...
Account Users and Roles APIs
Account Users and Roles APIs You can manage Account Users and Account Roles from the Applications menu, but you can also use Liferay's REST APIs. Call these services to create and manage account...
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. ...
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 ...
Roles API Basics
Roles API Basics You can create and manage roles from the Application menu, but you can also use Liferay's REST APIs. Call these services to manage roles. Associate a User to a Regular Role Then,...
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....
Site Initializers
Site Initializers Liferay DXP 2023.Q4+/Portal GA100+ Site Initializers package pages, content, and configurations to help you jump-start a new site with much of the site already built. You can...
Site Initializer YAML Configuration Reference
Site Initializer YAML Configuration Reference Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 Use a client-extension.yaml file to define a Site Initializer client extension. Usage...
Using a Site Initializer Client Extension
Using a Site Initializer Client Extension Liferay DXP 2023.Q4+/Portal GA100+ Site Initializer client extensions can quickly create or update a site, complete with configurations and content. Start...
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...
Core Frameworks
Core Frameworks
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...
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...
PortletMVC4Spring Annotations
PortletMVC4Spring Annotations PortletMVC4Spring provides several annotations for mapping requests to controller classes and controller methods. @RenderMapping Annotation Examples The following...
PortletMVC4Spring Project Anatomy
PortletMVC4Spring Project Anatomy PortletMVC4Spring portlets are packaged in WARs. Liferay provides Maven archetypes for creating projects configured to use JSP/JSPX and Thymeleaf templates. Their...
Instance Settings YAML Configuration Reference
Instance Settings YAML Configuration Reference You can use an instance settings client extension to configure a wide variety of Liferay configurations. Each configuration is referenced by its PID...
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...
Using Object Data with React Charts
Using Object Data with React Charts Here you'll use Objects, Headless APIs, and custom element remote applications to create a dynamic chart for data dashboards. First, you'll set up a new DXP...
Using Localized Messages in an MVC Portlet
Using Localized Messages in an MVC Portlet Liferay's localization framework is for creating localized messages in your MVC portlet. Deploy the Sample Code Then, follow these steps: Download...
PortletMVC4Spring Configuration Files
PortletMVC4Spring Configuration Files A PortletMVC4Spring application has these descriptors, Spring contexts, and properties files in its WEB-INF folder: web.xml → Web application descriptor ...
Remote Applications with Headless APIs
Remote Applications with Headless APIs Available 7.4+ After creating and publishing objects, headless REST APIs are automatically generated. Here you'll see how to integrate these endpoints to...
Using React
Using React Build your own solutions using Liferay and React.
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...
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...
Categorizing a Configuration
Categorizing a Configuration When you register a configuration interface, the UI for your application is generated in System Settings → Platform → Third Party. If you prefer a different section and...
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...
OAuth User Agent YAML Configuration Reference
OAuth User Agent YAML Configuration Reference You can define an OAuth user agent client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines an OAuth...
Configuration Framework
Configuration Framework Setting and Accessing Configurations Categorizing a Configuration Scoping Configurations Portlet Level Configuration Configuration Form Renderer DDM Form Annotations ...