Search Results

All Results 6974
Sort By
Resource Type
Applicable Versions
Deployment Approach
Capability
Feature
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...
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...
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...
Overriding JSPs
Overriding JSPs You can override JSPs completely using OSGi fragments. This approach is powerful but can make things unstable when the host module is upgraded. By overriding an entire JSP, you...
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...
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...
Waiting for Life Cycle Events
Waiting for Life Cycle Events Liferay registers life cycle events like portal and portlet initialization into the OSGi service registry. Your OSGi classes can listen for these service registrations...
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...
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...
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,...
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...
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...
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...
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...
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...
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...
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...
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...
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...