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
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
Defining a Custom Data Schema
Defining a Custom Data Schema The ticketing application requires custom data fields and selections. You use Liferay objects and picklists to define a custom data schema. Creating Custom Picklists...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 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, 2024 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, 2024 10:50 PM
Ticket Management with Cron Jobs
Ticket Management with Cron Jobs Use Cron jobs to automate managing tickets. For example, have a job to run at a regular schedule to delete any tickets that have a resolution type of duplicate or...
Published Date: May 9, 2024 6:52 PM
Building a Time Off Requester
Building a Time Off Requester Liferay 7.4+ With Liferay Objects, you can build entire applications without writing code or deploying modules. Here, create a Time Off Request application using...
Published Date: May 9, 2024 6:52 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, 2024 10:50 PM
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 ...
Published Date: Jun 21, 2024 3:41 PM
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...
Published Date: Jan 18, 2025 2:48 AM
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, 2024 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, 2024 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, 2024 10:50 PM
Language Client Extensions
Language Client Extensions Liferay DXP 2025.Q1+/Portal GA132+ A language client extension adds new language keys or overrides existing keys and their translations. For example, you can translate...
Published Date: Feb 12, 2025 12:57 PM
Bundling Resources in a JavaScript Import Map Entry Client Extension
Bundling Resources in a JavaScript Import Map Entry Client Extension Liferay DXP 2023.Q1+/Portal GA92+ JavaScript import map entry client extensions make JavaScript code or resources available to...
Published Date: Sep 14, 2024 3:48 PM
JavaScript Import Map Entry YAML Configuration Reference
JavaScript Import Map Entry YAML Configuration Reference Usage Details This client-extension.yaml file defines a JavaScript import map entry client extension: assemble: - from: build/static ...
Published Date: Sep 14, 2024 3:48 PM
Client Extensions UI Reference
Client Extensions UI Reference Liferay's widget client extensions (custom element and iframe) register applications with Liferay, adding them as widgets to site pages. Additionally, you can style...
Published Date: May 9, 2024 6:54 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, 2024 10:50 PM
Customizing Liferay's Look and Feel
Customizing Liferay's Look and Feel One of the easiest ways to get started developing on Liferay's platform is to modify its look and feel. You can change everything from its favicon to its entire...
Published Date: Jan 18, 2025 2:48 AM
Micro Frontends
Micro Frontends Micro frontends extend the concept of microservices to the frontend side of development. You can build a fully-featured and powerful browser application that uses a microservice...
Published Date: Nov 22, 2024 10:50 PM
Using a CSS Client Extension
Using a CSS Client Extension Liferay 7.4+ CSS client extensions introduce new CSS styling to pages. A deployed CSS client extension on a page adds to the page's existing styling, including theme...
Published Date: May 9, 2024 6:54 PM
CSS YAML Configuration Reference
CSS YAML Configuration Reference You can define a CSS client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a CSS client extension definition: ...
Published Date: May 9, 2024 6:54 PM
Using a Frontend Data Set Cell Renderer Client Extension
Using a Frontend Data Set Cell Renderer Client Extension Liferay 7.4+ You can use Frontend Data Set (FDS) cell renderer client extensions to customize the display for your data set. Use this type...
Published Date: Aug 15, 2024 3:42 PM
Using a Frontend Data Set Filter Client Extension
Using a Frontend Data Set Filter Client Extension Liferay DXP 2024.Q2+/Portal GA120+ Frontend data set filter client extensions define JavaScript functions for creating customizable filter...
Published Date: Jun 6, 2024 3:55 PM
Frontend Data Set Cell Renderer YAML Reference
Frontend Data Set Cell Renderer YAML Reference You can define a Frontend Data Set cell renderer client extension with a client-extension.yaml file. Usage Details The client-extension.yaml file...
Published Date: Aug 15, 2024 3:42 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, 2024 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, 2024 6:54 PM
Theme CSS YAML Configuration Reference
Theme CSS YAML Configuration Reference You can define a theme CSS client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a theme CSS client...
Published Date: May 9, 2024 6:54 PM
Using a Theme CSS Client Extension
Using a Theme CSS Client Extension Liferay 7.4+ With a theme CSS client extension, you can override the current theme's CSS files (main.css and clay.css) to change the look and feel of a page....
Published Date: May 9, 2024 6:54 PM
Using a Theme Favicon Client Extension
Using a Theme Favicon Client Extension Liferay 7.4+ With a theme favicon client extension, you can override the theme's favicon on the selected page. Start with the sample workspace to build and...
Published Date: May 9, 2024 6:54 PM
Using a Theme Sprite Map Client Extension
Using a Theme Sprite Map Client Extension Liferay DXP 2023.Q4+/Portal GA100+ With a theme sprite map client extension, you can override the default Clay sprite map used for icons on a page. Start...
Published Date: May 9, 2024 6:54 PM
Theme Favicon YAML Configuration Reference
Theme Favicon YAML Configuration Reference You can define a theme favicon client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a theme favicon...
Published Date: May 9, 2024 6:54 PM
Editor Config Contributor YAML Configuration Reference
Editor Config Contributor YAML Configuration Reference Liferay DXP 2024.Q1+/Portal GA112+ This feature is currently behind a release feature flag (LPS-186870). Read Release Feature Flags for more...
Published Date: May 9, 2024 6:54 PM
Theme Sprite Map YAML Configuration Reference
Theme Sprite Map YAML Configuration Reference You can define a theme sprite map client extension with a client-extension.yaml file. Usage Details This client-extension.yaml defines a theme sprite...
Published Date: May 9, 2024 6:54 PM
Using an Editor Config Contributor Client Extension
Using an Editor Config Contributor Client Extension Liferay DXP 2024.Q2+/Portal GA120+ Editor Config Contributor client extensions override existing CKEditor configuration in a...
Published Date: May 9, 2024 6:54 PM
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...
Published Date: May 9, 2024 6:57 PM
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...
Published Date: May 9, 2024 6:57 PM
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...
Published Date: May 9, 2024 6:57 PM
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...
Published Date: May 9, 2024 6:57 PM
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...
Published Date: May 9, 2024 6:57 PM
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...
Published Date: May 9, 2024 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, 2024 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, 2024 6:57 PM
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...
Published Date: May 9, 2024 6:57 PM
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....
Published Date: May 9, 2024 6:57 PM
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. ...
Published Date: May 9, 2024 6:57 PM
Fragment Specific Tags and Attributes Reference for Liferay 7.3 and Earlier Versions
Fragment Specific Tags and Attributes Reference for Liferay 7.3 and Earlier Versions Along with standard HTML, CSS, and JavaScript, you can use Liferay-specific tags and attributes to define...
Published Date: Nov 22, 2024 10:52 PM
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...
Published Date: May 9, 2024 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, 2024 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, 2024 6:57 PM
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...
Published Date: May 9, 2024 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, 2024 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, 2024 6:57 PM
Importing/Exporting Data
Importing/Exporting Data Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 If you want to import or export data from Liferay, you use batch client extensions. Use and reuse your data...
Published Date: May 9, 2024 6:54 PM
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...
Published Date: May 9, 2024 6:57 PM
Batch YAML Configuration Reference
Batch YAML Configuration Reference Use a client-extension.yaml file to define a batch client extension. Usage Details This client-extension.yaml file defines a client extension of type batch: ...
Published Date: May 9, 2024 6:54 PM