Search Results

All Results 6951
Sort By
Resource Type
Applicable Versions
Deployment Approach
Capability
Feature
Overriding OSGi Services
Overriding OSGi Services Liferay's OSGi container is a dynamic environment in which services can be added, removed, or overridden as needed. This framework registers Liferay components with the...
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...
Liferay Classloader Hierarchy
Liferay Classloader Hierarchy All Liferay DXP/Portal applications live in an OSGi container. DXP/Portal is a web application deployed on your application server. Its Module Framework bundles...
OSGi and Modularity
OSGi and Modularity Modularity makes writing software, especially as a team, fun! Here are some benefits to modular development on Liferay: Liferay's runtime framework is lightweight, fast, and...
The Benefits of Modularity
The Benefits of Modularity Dictionary.com defines modularity as the use of individually distinct functional units, as in assembling an electronic or mechanical system. The distinct functional units...
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...
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....
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...
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...
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...
Deploying WARs (WAB Generator)
Deploying WARs (WAB Generator) You can create applications as Java EE-style Web Application ARchive (WAR) artifacts or as Java ARchive (JAR) OSGi bundle artifacts. Bean Portlets, PortletMVC4Spring...
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...
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...
JARs Excluded from WABs
JARs Excluded from WABs [Liferay-generated web application bundles (WABs) are stripped of third party JARs that contain packages that Liferay exports already. Deploying the same third party...
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: ...
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...
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...
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...
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...
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...
Digital Asset Management
Digital Asset Management Use Liferay’s Digital Asset Management (DAM) features to store, organize, and reuse documents, images, and other media across your site. The Documents and Media library...
Developer Guide
Developer Guide This guide provides comprehensive information and references to help you effectively use the Document API, understand adaptive media modules, and create video shortcut providers.
Search API Basics
Search API Basics Generally Available in Liferay DXP 2025.Q4+/Portal 2026.Q1+ You can search for content from a Liferay search page, but you can also use the /search API endpoints. If you're...
Site APIs
Site APIs Use Liferay’s REST APIs to manage site elements programmatically. This guide introduces the Navigation Menu API and shows how to create, retrieve, update, and delete navigation menus...
Search Suggestions API
Search Suggestions API DXP 7.4 U36+/Portal GA36+ You can return suggestions using the /suggestions headless API. This API is used by Liferay's Search Bar Suggestions feature. There are two primary...
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...
Account Groups API Basics
Account Groups API Basics Liferay DXP/Portal 7.4+ You can manage account groups from the Applications menu or use Liferay's REST APIs. Call these services to create and manage account groups. ...
Liferay DXP 2024.Q2 Breaking Changes
Liferay DXP 2024.Q2 Breaking Changes Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay DXP 2024.Q2. As the...
2023 Deprecations and Breaking Changes
2023 Deprecations and Breaking Changes Liferay quarterly releases introduce new features and enhancements while phasing out older or less-used functionality. Some features move to Maintenance Mode,...
Deprecations and Breaking Changes Reference
Deprecations and Breaking Changes Reference Liferay quarterly releases introduce new features and enhancements while phasing out older or less-used functionality. Some features move to Maintenance...
Upgrading Liferay
Upgrading Liferay Liferay is continuously being enhanced with new features as new versions are released. To access these features in your current project, you must upgrade your Liferay instance to...
2023.Q4 Default Setting and Feature Flag Changes
2023.Q4 Default Setting and Feature Flag Changes Most new versions of Liferay DXP include changes to the default settings. If you rely on the defaults from your old version, you should review the...
2024 Deprecations and Breaking Changes
2024 Deprecations and Breaking Changes Liferay quarterly releases introduce new features and enhancements while phasing out older or less-used functionality. Some features move to Maintenance Mode,...
2024.Q1 Default Setting and Feature Flag Changes
2024.Q1 Default Setting and Feature Flag Changes Most new versions of Liferay DXP include changes to the default settings. If you rely on the defaults from your old version, you should review the...
Liferay DXP 2024.Q1 Breaking Changes
Liferay DXP 2024.Q1 Breaking Changes Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay DXP 2024.Q1. As the...
2024.Q2 Default Setting and Feature Flag Changes
2024.Q2 Default Setting and Feature Flag Changes Most new versions of Liferay DXP include changes to the default settings. If you rely on the defaults from your old version, you should review the...
Liferay DXP 2024.Q3 Breaking Changes
Liferay DXP 2024.Q3 Breaking Changes Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay DXP 2024.Q3. As the...
Liferay DXP 2025.Q4 Breaking changes
Liferay DXP 2025.Q4 Breaking changes Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay DXP 2025.Q4. As the...
Renamed Language Keys
Renamed Language Keys In Liferay DXP/Portal 7.4, module language keys were centralized to a module called portal-language-lang. Source location: ...
Data Cleanup
Data Cleanup Liferay executes data cleanup processes to repair databases with obsolete data. This lightens the load during an upgrade, improving performance and reducing overhead. As of Liferay...
Example: Removing Intermediate Journal Article Versions
Example: Removing Intermediate Journal Article Versions These instructions and code samples demonstrate removing intermediate Journal Article versions. In the script console, you can remove...
Migrating the Database
Migrating the Database For support, maintenance, or performance reasons, you may decide to migrate from the database you use to one of the other databases Liferay supports. Though the exact steps...
Database Tuning for Upgrades
Database Tuning for Upgrades Performing an upgrade impacts the database differently from daily running in production. Because of this, you should tune your database for the upgrade process before...
Troubleshooting Upgrades
Troubleshooting Upgrades Liferay has many out-of-the-box tools and features to identify and solve issues that may arise when performing an upgrade. To troubleshoot, you can upgrade modules...
Common Upgrade Issues
Common Upgrade Issues Skipping an upgrade step or creating custom references to the Liferay database, can cause upgrade issues. The following questions and answers address some common situations. ...
General Settings Reference
General Settings Reference All fragments have general settings. Some options are standard (e.g., visibility and frame), while others are unique to each fragment. Follow these steps to access a...
Styles Reference
Styles Reference All fragments have a Styles settings section except for the Collection Display fragment. Use the style settings to configure your fragments' look and feel. Many of these options...
Localizing Fragment Configuration Fields
Localizing Fragment Configuration Fields Liferay DXP/Portal 7.4+ When using Liferay Fragments, you can localize the following Fragment configuration fields to match your target audience's...
Creating Dropdown Menus with Fragments
Creating Dropdown Menus with Fragments Liferay DXP/Portal 7.4+ Liferay provides the Dropdown fragment to create advanced drop-down menus (A). With it, you can define drop zones for additional page...
Managing Fragments
Managing Fragments Liferay DXP provides tools for managing fragments in the Liferay UI. With out-of-the-box tools, you can edit fragment code, export/import fragment sets between sites, and more. ...
Mapping and Linking Fragment Elements
Mapping and Linking Fragment Elements You can map and link fragments together as reusable components for your digital experiences (e.g., form submissions and navigation actions). Not all...
Duplicating Fragments
Duplicating Fragments When building a page or template with fragments, you can duplicate configured fragments to save time. A duplicated fragment includes the original fragment's settings,...
Saving Fragment Compositions
Saving Fragment Compositions Layout and composition are the foundation of your page design. They make pages easier to read and navigate, resulting in a richer and more consistent user experience....
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...
Using Form Fragments
Using Form Fragments Liferay DXP 2023.Q3+/Portal GA92+ Liferay includes form fragments for building forms in content pages. To build a form, add a form container to a content page or page template...
Using Fragments to Build Multi-Step Forms
Using Fragments to Build Multi-Step Forms Liferay DXP 2024.Q4+/Portal GA129+ You can use fragments to create a single-step form or create a multi-step form with the Stepper fragment or by changing...
Configuring Templates
Configuring Templates Once you've configured a widget, Configuration Templates can save those settings in a reusable template. Configuration templates are only available for widgets placed on a...
Creating Forms Using Form Fragments
Creating Forms Using Form Fragments Use form fragments to create and manage forms on content pages or page templates. With form fragments, you can map fields to objects, organize layouts, and...
Communication Between Widgets
Communication Between Widgets Portlet widgets can communicate with each other using public render parameters and events. Some Liferay portlets provide a configuration UI to help you get the most...
Translating Fields in Form Containers
Translating Fields in Form Containers Liferay DXP 2025.Q1+/Portal GA132+ Localize text inputs in form containers directly in the Page Editor to provide multilingual support for fields listed in...