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
Capability
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
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
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: Nov 22, 24, 10:50 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, 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
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: Jan 18, 25, 2:48 AM
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
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
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
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
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
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
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
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, 24, 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, 24, 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, 24, 10:50 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
Reference
Reference 7.4 Breaking Changes 7.3 Breaking Changes 7.2 Breaking Changes Exported Third-Party Packages Portal Developer Properties
Published Date: Nov 22, 24, 10: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, 24, 10:50 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
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
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: Nov 22, 24, 10:50 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, 24, 6:57 PM
Developer Guide
Developer Guide Below are developer-related articles for site building.
Published Date: May 9, 24, 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, 24, 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, 24, 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, 24, 10:52 PM
Fragments Toolkit Command Reference
Fragments Toolkit Command Reference 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...
Published Date: May 9, 24, 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, 24, 6:57 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, 24, 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, 24, 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, 24, 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, 24, 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, 24, 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, 24, 6:57 PM

Capabilities

Product

Education

Contact Us

Connect

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