Capability

Sites

Liferay sites are customizable spaces for building personalized digital experiences. Each site includes applications for creating content, designing pages, and more. With these features, you can bring your custom solutions to life, whether intranets, public sites, customer portals, or e-commerce storefronts. In fact, you can leverage Liferay's multi-site capabilities to create multiple such sites in the same Liferay instance.

Feature
Deployment Approach
Capability
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, 2024 10:50 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, 2024 8:39 PM
Creating a Model Listener
Creating a Model Listener Model listeners listen for persistence method calls that signal changes to a specified model (such as update or add methods). Most of the methods model listeners use are...
Published Date: Jul 18, 2024 8:39 PM
Adding a Language
Adding a Language Liferay ships with over 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 its own...
Published Date: Jul 18, 2024 8:39 PM
Creating Service Wrappers
Creating Service Wrappers With Service Wrappers, you can override default service methods to add extra functionality. For example, you may want the value of a field you've added to Liferay's User...
Published Date: Jul 18, 2024 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, 2024 4:48 PM
Customizing JSPs with Dynamic Includes
Customizing JSPs with Dynamic Includes The liferay-util:dynamic-include tag is a placeholder into which you can inject content---JavaScript code, HTML, and more. The example project demonstrates...
Published Date: Jul 18, 2024 8:39 PM
Overriding Global Language Translations with Language Properties
Overriding Global Language Translations with Language Properties Liferay DXP/Portal implements headings, labels, and messages for many locales using language translations. You can override these...
Published Date: Jul 18, 2024 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, 2024 8:39 PM
Overriding Module Language Translations
Overriding Module Language Translations For Liferay DXP 7.4 U4/Portal 7.4 GA8+, the Language Override tool is the recommended approach. Overriding language translations in specific applications...
Published Date: Jul 18, 2024 8:39 PM
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...
Published Date: Jul 18, 2024 8:39 PM
Using Portlet Filters
Using Portlet Filters Portlet filters intercept requests and responses at the start of each portlet request processing phase so you can add functionality there. This makes them useful for auditing...
Published Date: Jul 18, 2024 8:39 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, 2024 10:50 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, 2024 6:55 PM
Using Servlet Filters
Using Servlet Filters Servlet filters can both pre-process requests as they arrive and post-process responses before they go to the client browser. You can apply functionality to requests and...
Published Date: Oct 18, 2024 4:07 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: Jan 18, 2025 2:48 AM
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...
Published Date: May 9, 2024 6:55 PM
Module Life Cycle
Module Life Cycle In OSGi, all components, Java classes, resources, and descriptors are deployed via modules (OSGi bundles). The MANIFEST.MF file describes the module's physical characteristics,...
Published Date: Nov 22, 2024 10:50 PM
Bundle Classloading Flow
Bundle Classloading Flow The OSGi container searches several places for imported classes. It's important to know where it looks and in what order. Liferay DXP's classloading flow for OSGi bundles...
Published Date: Nov 22, 2024 10:50 PM
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...
Published Date: May 9, 2024 6:55 PM
UI Architecture
UI Architecture
Published Date: Nov 22, 2024 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, 2024 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, 2024 10:50 PM
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...
Published Date: Nov 22, 2024 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, 2024 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, 2024 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, 2024 10:50 PM
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...
Published Date: May 9, 2024 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, 2024 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: Nov 22, 2024 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, 2024 10:50 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: Nov 22, 2024 10:50 PM
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...
Published Date: May 9, 2024 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: Nov 22, 2024 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, 2024 10:50 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: Nov 22, 2024 10:50 PM
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...
Published Date: Jun 27, 2025 6:49 PM
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.
Published Date: May 9, 2024 6:50 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: Nov 22, 2024 10:50 PM
Adaptive Media Modules Reference
Adaptive Media Modules Reference Adaptive Media's Modules Some modules in the Adaptive Media app are mandatory and must be enabled for Adaptive Media to function, while others can be disabled. The...
Published Date: May 9, 2024 6:50 PM
Creating Video Shortcut Providers
Creating Video Shortcut Providers Liferay DXP 7.4+ By default, Liferay's external video shortcuts support YouTube, Vimeo, Facebook, and Twitch. However, you can extend this feature to support...
Published Date: May 9, 2024 6:50 PM
Configuring Caching for Documents and Media
Configuring Caching for Documents and Media Liferay 7.3 U23+, Liferay 7.4 U21+, GA21+ By default, Documents and Media files are not cached by browsers or servers. This is because file visibility...
Published Date: May 9, 2024 6:50 PM
Configuring Documents and Media Previews
Configuring Documents and Media Previews Liferay 7.4 U84+/GA84+ By default, Liferay uses PDFBox to generate previews for files added to the document library. This is because PDFBox is the only...
Published Date: May 9, 2024 6:50 PM
Enabling Document Creation and Editing with Microsoft Office 365
Enabling Document Creation and Editing with Microsoft Office 365 Before you can use Office 365™ to create and edit Documents and Media files, you must configure DXP to connect with an application...
Published Date: May 9, 2024 6:50 PM
DevOps
DevOps :::: 2 :gutter: 3 3 3 3 ::: Local Integrations Configuring Documents and Media Previews Enabling Antivirus Scanning for Uploaded Files Configuring Cache Control for Documents and Media...
Published Date: May 9, 2024 6:50 PM
Enabling LibreOffice / OpenOffice Integration
Enabling LibreOffice / OpenOffice Integration LibreOffice and OpenOffice are open source productivity suites that you can integrate with Liferay. By default Liferay includes PDFBox, which generates...
Published Date: May 9, 2024 6:50 PM
Enabling FFmpeg for Audio and Video Previews
Enabling FFmpeg for Audio and Video Previews Documents and Media provides integration with the FFmpeg multimedia framework for generating audio and video file previews. To use this integration, you...
Published Date: May 9, 2024 6:50 PM
Enabling Document Creation and Editing with Google Drive
Enabling Document Creation and Editing with Google Drive Liferay DXP provides integration with Google Drive so you can create and edit Google Docs, Sheets, and Slides via the Documents and Media...
Published Date: May 9, 2024 6:50 PM
Enabling Links to Google Drive Documents
Enabling Links to Google Drive Documents Liferay supports Google Drive in Documents and Media. When enabled, you can create shortcuts to your Google Drive files that enable you to view and manage...
Published Date: May 9, 2024 6:50 PM
Google Drive Integration
Google Drive Integration Integrate Google Drive with Liferay DXP to create, edit, and manage Google Docs, Sheets, and Slides directly from Documents and Media. This integration provides two main...
Published Date: May 9, 2024 6:50 PM
SharePoint Integration
SharePoint Integration Integrate SharePoint with Liferay DXP for managing SharePoint libraries within Documents and Media. Create and manage repositories that mount SharePoint libraries, and...
Published Date: May 9, 2024 6:50 PM
Setting Storage Quotas for Documents and Media
Setting Storage Quotas for Documents and Media You can define storage quotas in Documents and Media by enabling the data.limit.dl.storage.max.size portal property. Once you define a value for this...
Published Date: May 9, 2024 6:50 PM
Creating SharePoint Repositories in Documents and Media
Creating SharePoint Repositories in Documents and Media Once you've added a SharePoint OAuth2 configuration, you can use it to create repositories in Documents and Media that are mounted to...
Published Date: May 9, 2024 6:50 PM
Enabling Liferay's REST Connector to SharePoint
Enabling Liferay's REST Connector to SharePoint Requires DXP Subscription; Compatible with SharePoint 2016 and SharePoint Online Liferay's REST Connector to SharePoint integrates Documents and...
Published Date: May 9, 2024 6:50 PM
Documents and Media
Documents and Media The Documents and Media application stores and manages files in your Liferay instance. This includes files uploaded directly to Documents and Media, as well as those uploaded in...
Published Date: May 9, 2024 6:50 PM
Generating Images Using AI
Generating Images Using AI Liferay DXP 2024.Q2+/Portal GA120+ The Documents and Media application provides integration with OpenAI's ChatGPT engine using the AI Creator tool. With an OpenAI API...
Published Date: May 9, 2024 6:50 PM
Documents and Media UI Reference
Documents and Media UI Reference The Documents and Media application is used to store, view, and manage files for your Liferay DXP instance. It's available in all sites and can be enabled for asset...
Published Date: May 9, 2024 6:50 PM
Accessing Documents with WebDAV
Accessing Documents with WebDAV You can access the Document Library from your desktop file manager via WebDAV. WebDAV is a protocol based on HTTP for managing files stored on web servers. WebDAV is...
Published Date: May 9, 2024 6:50 PM
Publishing and Sharing
Publishing and Sharing
Published Date: May 9, 2024 6:50 PM
Documents and Media Permissions Reference
Documents and Media Permissions Reference Liferay 7.4 U76+/GA76+ Manage access to Documents and Media assets using application and resource permissions. With role-based access control, you can...
Published Date: May 9, 2024 6:50 PM