Search

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...
Last Modified: Apr 27, 2024 5:45 AM
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...
Last Modified: Apr 27, 2024 5:45 AM
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...
Last Modified: Apr 27, 2024 5:46 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...
Last Modified: Apr 27, 2024 5:45 AM
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....
Last Modified: Apr 27, 2024 5:46 AM
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...
Last Modified: Apr 27, 2024 5:46 AM
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...
Last Modified: Apr 27, 2024 5:46 AM
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...
Last Modified: Apr 27, 2024 5:47 AM
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 dependencies...
Last Modified: Apr 27, 2024 5:48 AM
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...
Last Modified: Apr 27, 2024 5:47 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...
Last Modified: Apr 27, 2024 5:48 AM
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...
Last Modified: Apr 27, 2024 5:48 AM
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...
Last Modified: Apr 27, 2024 5:47 AM
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...
Last Modified: Apr 27, 2024 5:47 AM
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...
Last Modified: Apr 27, 2024 5:48 AM
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...
Last Modified: Apr 27, 2024 5:40 AM
Liferay Internals
Liferay Internals
Last Modified: Apr 27, 2024 5:39 AM
Contributing to Liferay Development
Contributing to Liferay Development Fixing a Bug or Contributing a New Feature Building Liferay Source Organizing the Source
Last Modified: Apr 27, 2024 5:41 AM
Extending Liferay
Extending Liferay Liferay DXP/Portal is highly customizable. Its modular architecture contains components you can extend and override dynamically using APIs.
Last Modified: Apr 27, 2024 5:42 AM