Search Results

Capability
Feature
Deployment Approach
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: May 9, 24, 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: May 9, 24, 6:55 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: May 9, 24, 6:55 PM
Building Liferay Source
Building Liferay Source This section aims to provide instructions for building Liferay Portal from source as quickly as possible. Using a nightly snapshot bundle no longer requires a full build...
Published Date: May 9, 24, 6:55 PM
Organizing the Source
Organizing the Source It is important to have a solid understanding of how the Liferay source is organized when working on fixing a bug or adding a new feature to the product. The Liferay Source...
Published Date: May 9, 24, 6:55 PM
UI Architecture
UI Architecture
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
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
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
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
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
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
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
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
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
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
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
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

Capabilities

Product

Contact Us

Connect

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