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
Data Set View Sorting
Data Set View Sorting Liferay DXP 2024.Q1 U112 [Beta Feature](../../../system-administration/configuring-liferay/feature-flags.md#beta-feature-flags) While managing data set views, you can set...
Published Date: Sep 3, 24, 5:28 PM
Data Set View Visualization Modes
Data Set View Visualization Modes Liferay DXP 2024.Q1+/Portal 7.4 GA112+ [Beta Feature](../../../system-administration/configuring-liferay/feature-flags.md#beta-feature-flags) To customize the...
Published Date: May 9, 24, 6:54 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, 24, 6:54 PM
Using a Site Initializer Client Extension
Using a Site Initializer Client Extension Liferay 7.4 2023.Q4+/GA100+ Site Initializer client extensions can quickly create a site, complete with configurations and content. Start with the sample...
Published Date: Oct 16, 24, 4:13 PM
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...
Published Date: Oct 16, 24, 4:13 PM
Integrating External Applications
Integrating External Applications Custom Element and IFrame client extensions register applications with Liferay and render them as widgets on site pages. When you create one of these frontend...
Published Date: May 9, 24, 6:54 PM
Creating a Basic Custom Element
Creating a Basic Custom Element Liferay 7.4+ Custom element client extensions use Liferay's frontend infrastructure to register external, remote applications with the Liferay platform and render...
Published Date: May 9, 24, 6:54 PM
Using an IFrame Client Extension
Using an IFrame Client Extension Liferay 7.4+ IFrame client extensions use Liferay's frontend infrastructure to register external applications as HTML elements. They're added to Liferay pages as...
Published Date: May 9, 24, 6:54 PM
Using Routes with Custom Elements
Using Routes with Custom Elements Liferay 7.4+ Custom element client extensions use Liferay's frontend infrastructure to register external applications with the Liferay platform and render them as...
Published Date: May 9, 24, 6:54 PM
Integrating Microservices
Integrating Microservices Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 You can define microservice client extensions to run your own code in response to events in your Liferay...
Published Date: May 9, 24, 6:54 PM
Object Action YAML Configuration Reference
Object Action YAML Configuration Reference You can define an object action client extension with a client-extension.yaml file. Usage Details This client-extension.yaml defines an object action and...
Published Date: May 9, 24, 6:54 PM
IFrame YAML Configuration Reference
IFrame YAML Configuration Reference You can define an IFrame client extension with a client-extension.yaml file. Data Usage This client-extension.yaml file defines an IFrame client extension: ...
Published Date: May 9, 24, 6:54 PM
Custom Element YAML Configuration Reference
Custom Element YAML Configuration Reference You can define a custom element client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a custom...
Published Date: May 9, 24, 6:54 PM
Notification Type YAML Configuration Reference
Notification Type YAML Configuration Reference You can define a notification type client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a...
Published Date: May 9, 24, 6:54 PM
Object Validation Rule YAML Configuration Reference
Object Validation Rule YAML Configuration Reference To define an Object Validation Rule client extension, add the objectValidationRule type to your client-extension.yaml file. Usage Details This...
Published Date: May 9, 24, 6:54 PM
Using a Microservice Client Extension
Using a Microservice Client Extension A microservice client extension is a standalone server process that relies on OAuth 2 for communication with Liferay. The microservice is a resource server and...
Published Date: May 9, 24, 6:54 PM
Workflow Action YAML Configuration Reference
Workflow Action YAML Configuration Reference You can define a workflow action client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a workflow...
Published Date: May 9, 24, 6:54 PM
Liferay Internals
Liferay Internals Liferay is a complex open-source platform built on several key technologies and architectural principles. Liferay is written mostly in Java and built on the OSGi framework, which...
Published Date: Jul 18, 24, 8:39 PM
Architecture
Architecture The Liferay DXP/Portal architecture has three parts: Core: Bootstraps DXP and its frameworks. The Core provides a runtime environment for managing services, UI components, and...
Published Date: May 9, 24, 6:55 PM
Contributing to Liferay Development
Contributing to Liferay Development The first thing to do in learning to fix bugs or contributing a feature is to become familiar with how to build the system. The Liferay Portal build system now...
Published Date: May 9, 24, 6:55 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: May 9, 24, 6:55 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: May 9, 24, 6:55 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: May 9, 24, 6:55 PM
Extending Liferay
Extending Liferay Liferay DXP/Portal is highly customizable. Its modular architecture contains components you can extend and override dynamically using APIs.
Published Date: Jul 18, 24, 8:39 PM
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...
Published Date: Jul 18, 24, 4:48 PM
Adding a Language
Adding a Language Liferay currently supports about 50 languages out-of-the-box. Translation is complete for many of these languages, and some are still in the translation process. Each language has...
Published Date: Jul 18, 24, 8:39 PM
Generating Translations Automatically
Generating Translations Automatically Liferay DXP supports 50 languages out-of-the-box. Each locale has its own language properties file containing keys for its language. When you create an...
Published Date: Jul 18, 24, 8:39 PM
Fundamentals
Fundamentals Liferay development projects consist primarily of simple .jar files. These contain a few extra configuration files that make them OSGi modules, but they're easily understandable by...
Published Date: May 9, 24, 6:55 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: May 9, 24, 6:55 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: May 9, 24, 6:55 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: May 9, 24, 6:55 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: May 9, 24, 6:55 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: May 9, 24, 6:55 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: May 9, 24, 6:55 PM
Using an OSGi Service
Using an OSGi Service Liferay APIs are readily available as OSGi services. You can access a service by creating a field of that service type and annotating the field with @Reference, like this: ...
Published Date: May 9, 24, 6:55 PM
7.4 Breaking Changes
7.4 Breaking Changes Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay 7.4, starting with the latest quarterly...
Published Date: May 9, 24, 6:55 PM
7.2 Breaking Changes
7.2 Breaking Changes This document presents a chronological list of changes that break existing functionality, APIs, or contracts with third party Liferay developers or users. We try our best to...
Published Date: May 9, 24, 6:55 PM
Using the Gogo Shell
Using the Gogo Shell The Gogo shell provides a way to interact with the module framework. Among other things, you can Dynamically install/uninstall bundles (modules) Examine package...
Published Date: May 9, 24, 6:55 PM
Command Line Gogo Shell
Command Line Gogo Shell If you're in a development environment, you can interact with the module framework locally from the command line. Gogo shell should only be run from the command line in...
Published Date: May 9, 24, 6:55 PM
Gogo Shell Commands
Gogo Shell Commands The Gogo shell executes Felix Gogo basic commands and Liferay commands. The Gogo shell is accessible in the Control Panel (recommended) and from the command line. Here are some...
Published Date: May 9, 24, 6:55 PM
Reference
Reference 7.4 Breaking Changes 7.3 Breaking Changes 7.2 Breaking Changes Exported Third-Party Packages Portal Developer Properties
Published Date: May 9, 24, 6:55 PM
7.3 Breaking Changes
7.3 Breaking Changes This document presents a chronological list of changes that break existing functionality, APIs, or contracts with third party Liferay developers or users. We try our best to...
Published Date: May 9, 24, 6:55 PM
Exported Third Party Packages
Exported Third Party Packages Liferay provides over one-hundred third party Java packages at run time. The com.liferay.portal.bootstrap module exports the packages by specifying individual packages...
Published Date: May 9, 24, 6:55 PM
Portal Developer Properties
Portal Developer Properties There are Portal Properties that facilitate development. Liferay's portal-developer.properties file includes all of them. The portal-developer.properties file is enabled...
Published Date: May 9, 24, 6:55 PM
Creating and Managing Objects
Creating and Managing Objects Liferay 7.4+ Liferay Objects provides a convenient UI for creating custom applications that meet your business needs without writing code. You can also use Objects to...
Published Date: May 9, 24, 6:54 PM
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...
Published Date: May 9, 24, 6:54 PM
Objects
Objects Liferay 7.4+ With Liferay Objects, you can build and deliver applications without having to write code or deploy modules. Each application built with Objects is integrated with Liferay's...
Published Date: May 9, 24, 6:54 PM
Defining Object Actions
Defining Object Actions Liferay 7.4 U60+/GA60+ Object actions define operations that you can run manually or automatically for object entry events. To add an action, Open the Global Menu (...
Published Date: May 9, 24, 6:54 PM
Understanding Action Types
Understanding Action Types Liferay 7.4 U60+/GA60+ Actions define custom operations triggered by object entry events. Liferay provides these action types: TypeDescription NotificationSend email or...
Published Date: May 9, 24, 6:54 PM
Auditing Object Events
Auditing Object Events Liferay 7.4 U72+/GA72+ You can use Liferay's audit framework to track events for custom object definitions and their entries. To track entry events, you must enable entry...
Published Date: May 9, 24, 6:54 PM
Exporting and Importing Object Definitions
Exporting and Importing Object Definitions Liferay 7.4 U68+/GA68+ You can export and import object definitions as .json files. These files include the definition's complete schema (e.g.,...
Published Date: May 9, 24, 6:54 PM
Fields
Fields Liferay 7.4 2023.Q4+/GA102+ Object fields are data definitions that represent database columns and store different types of values. All objects include default system fields, but you can...
Published Date: May 9, 24, 6:54 PM
Using Manual Actions
Using Manual Actions Liferay 7.4 U60+/GA60+ When you use the standalone trigger for object actions, the actions become manual instead of automatic. Trigger these actions using these methods: ...
Published Date: May 9, 24, 6:54 PM
Activating and Deactivating Objects
Activating and Deactivating Objects Custom objects are activated when published. While active, you can use the object to create entries via the Liferay UI or dedicated REST APIs. If needed, you can...
Published Date: May 9, 24, 6:54 PM
Creating Objects
Creating Objects Liferay 7.4 2023.Q4+/GA102+ Liferay Objects provides development capabilities in the Liferay UI. Using Objects, you can build fully integrated Liferay applications without writing...
Published Date: May 9, 24, 6:54 PM
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...
Published Date: May 9, 24, 6:54 PM
Extending System Objects
Extending System Objects Liferay 7.4 U86+/GA86+ With Liferay Objects, you can extend supported system services. Currently, only these services are integrated with the Objects framework: Account...
Published Date: May 9, 24, 6:54 PM
Adding and Managing Custom States
Adding and Managing Custom States Liferay 7.4+ Some use cases may require assigning multiple states to an object entry at the same time. For example, when building an Order application, you may...
Published Date: May 9, 24, 6:54 PM
Attachment Fields
Attachment Fields Attachment fields are for uploading files to your instance's Document Library. When uploaded, the file is linked to the entry's attachment field, and each field can only be linked...
Published Date: May 9, 24, 6:54 PM
Adding Fields to Objects
Adding Fields to Objects Liferay 7.4 2023.Q4+/GA102+ Fields are data definitions that represent database columns and store different types of values. By default, all objects include these system...
Published Date: May 9, 24, 6:54 PM

Capabilities

Product

Contact Us

Connect

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