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.

Feature
Deployment Approach
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...
Published Date: May 9, 24, 6:57 PM
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...
Published Date: May 9, 24, 6:57 PM
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...
Published Date: May 9, 24, 6:57 PM
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...
Published Date: May 9, 24, 6:57 PM
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 ...
Published Date: May 9, 24, 6:57 PM
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....
Published Date: May 9, 24, 6:57 PM
Using the Fragments Toolkit
Using the Fragments Toolkit The Fragments Toolkit is deprecated as of Liferay 2024.Q1+/Portal 7.4 GA112+. See Alternatives for the Fragments Toolkit for more information. The Fragments Toolkit...
Published Date: May 9, 24, 6:57 PM
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...
Published Date: May 9, 24, 6:57 PM
Site Initializers
Site Initializers Liferay 2023.Q4+/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 reuse them...
Published Date: Oct 16, 24, 4:33 PM
Using Glowroot with Liferay
Using Glowroot with Liferay Liferay DXP 2023.Q4+/Portal 7.4 GA100+ Liferay bundles Glowroot, the open source Java application monitoring tool. The tool displays helpful statistics about your...
Published Date: May 9, 24, 6:59 PM
Liferay Performance Use Cases with Glowroot
Liferay Performance Use Cases with Glowroot Liferay DXP 2023.Q4+/Portal 7.4 GA100+ Use Glowroot to diagnose and inform you on making performance improvements to your Liferay installation. Here are...
Published Date: May 9, 24, 6:59 PM
Troubleshooting JVM Issues with Glowroot
Troubleshooting JVM Issues with Glowroot Liferay DXP 2023.Q4+/Portal 7.4 GA100+ Glowroot displays a dashboard for identifying system issues quickly. Click the Errors tab to see a list of tracked...
Published Date: May 9, 24, 6:59 PM
Troubleshooting Liferay Performance Issues with Glowroot
Troubleshooting Liferay Performance Issues with Glowroot Liferay DXP 2023.Q4+/Portal 7.4 GA100+ Use Glowroot to identify and diagnose performance issues in your Liferay installation. The following...
Published Date: May 9, 24, 6:59 PM
Developing Glowroot Plugins
Developing Glowroot Plugins Liferay DXP 2023.Q4+/Portal 7.4 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...
Published Date: May 9, 24, 6:59 PM
Troubleshooting Templates with Glowroot Freemarker Plugin
Troubleshooting Templates with Glowroot Freemarker Plugin Liferay DXP 2023.Q4+/Portal 7.4 GA100+ Glowroot can troubleshoot FreeMarker templates to pinpoint slow transactions. Configuring the...
Published Date: May 9, 24, 6:59 PM
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...
Published Date: May 9, 24, 6:59 PM
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...
Published Date: May 9, 24, 6:59 PM
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...
Published Date: May 9, 24, 6:59 PM
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:...
Published Date: May 9, 24, 6:59 PM
Developer Guide
Developer Guide Adding the UAD Framework Accounts API Basics Account Users and Roles APIs User Account API Basics Organizations API Basics Roles API Basics User Groups API Basics Countries...
Published Date: May 9, 24, 6:59 PM
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...
Published Date: May 9, 24, 6:59 PM
Accounts API Basics
Accounts API Basics Liferay DXP/Portal 7.4+ You can manage Accounts from the Applications menu, but you can also use Liferay's REST APIs. Call these services to create and manage accounts. Adding...
Published Date: May 9, 24, 6:59 PM
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....
Published Date: May 9, 24, 6:59 PM
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...
Published Date: May 9, 24, 6:59 PM
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. ...
Published Date: May 9, 24, 6:59 PM
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...
Published Date: May 9, 24, 6:59 PM
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...
Published Date: May 9, 24, 6:59 PM
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,...
Published Date: May 9, 24, 6:59 PM
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 ...
Published Date: May 9, 24, 6:59 PM
Enabling Glowroot on PaaS
Enabling Glowroot on PaaS Liferay DXP 2023.Q4+/Portal 7.4 GA100+ Glowroot is included with Liferay in the /opt/liferay/glowroot folder. If you're running Liferay in a clustered environment,...
Published Date: Aug 10, 24, 3:47 PM
Using a JavaScript Client Extension
Using a JavaScript Client Extension Liferay 7.4+ With a JavaScript (JS) client extension, you can run your own JavaScript on any page in Liferay without worrying about dependencies on Liferay code...
Published Date: May 9, 24, 6:54 PM
JavaScript YAML Configuration Reference
JavaScript YAML Configuration Reference You can define a JavaScript client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a JavaScript client...
Published Date: May 9, 24, 6:54 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
PortletMVC4Spring Annotations
PortletMVC4Spring Annotations PortletMVC4Spring provides several annotations for mapping requests to controller classes and controller methods. @RenderMapping Annotation Examples The following...
Published Date: Nov 22, 24, 10:50 PM
Using React
Using React Build your own solutions using Liferay and React.
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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 ...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
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...
Published Date: Nov 22, 24, 10:50 PM
Module Projects
Module Projects Liferay applications and customizations are OSGi modules: .jar files containing Java code and some extra configuration for publishing and consuming APIs. A module project comprises...
Published Date: Nov 22, 24, 10:50 PM
APIs as OSGi Services
APIs as OSGi Services After you've learned what a module is and how to deploy one, you can use modules to define APIs and implement them. Liferay APIs are OSGi services, defined by Java interfaces...
Published Date: Nov 22, 24, 10:50 PM
Semantic Versioning
Semantic Versioning Semantic Versioning is a three tiered versioning system for incrementing version numbers based on the degree of API change made in a releasable software component. It's a...
Published Date: Nov 22, 24, 10:50 PM
Finding Artifacts
Finding Artifacts To use external artifacts in your project, you must configure their dependencies in your build.gradle Gradle script. Before specifying an artifact as a dependency, you must first...
Published Date: Nov 22, 24, 10:50 PM
Importing Packages
Importing Packages You often find yourself in a position of needing functionality provided by another module. To access this functionality, you must import packages from other modules into your...
Published Date: Nov 22, 24, 10:50 PM
Resolving Third Party Library Package Dependencies
Resolving Third Party Library Package Dependencies An application can rely on multiple OSGi modules. Resolving their Java package dependencies can be challenging. In a perfect world, every package...
Published Date: Nov 22, 24, 10:50 PM
Specifying Dependencies
Specifying Dependencies You must satisfy all dependencies to compile and deploy a module successfully. After you find the dependency artifacts, add them as dependencies in your Gradle build file....
Published Date: Nov 22, 24, 10:50 PM
Exporting Packages
Exporting Packages In OSGi, packages are private by default. You must explicitly exporting a package so other modules can import and use them. Here's how to export packages: Open your bnd.bnd...
Published Date: Nov 22, 24, 10:50 PM
Configuring Dependencies
Configuring Dependencies Liferay provides a container where modules can publish and consume functionality through their Java packages. Modules can leverage packages from other modules or...
Published Date: Nov 22, 24, 10:50 PM
Portlet Level Configuration
Portlet Level Configuration With the configuration framework, you can set your application's configuration for different levels of scope. Where Instance and Site-scoped configurations use...
Published Date: Nov 22, 24, 10:50 PM
Completely Custom Configuration
Completely Custom Configuration A configuration UI is generated automatically when you create a configuration interface. But in some cases you want a completely custom UI for your configuration....
Published Date: Nov 22, 24, 10:50 PM

Capabilities

Product

Contact Us

Connect

Powered by Liferay
© 2024 Liferay Inc. All Rights Reserved • Privacy Policy