Search Results

All Results 7013
Sort By
Resource Type
Applicable Versions
Deployment Approach
Capability
Feature
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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,...
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...
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...
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...
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...
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....
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...
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...
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...
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...
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...
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: ...
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...
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...
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...
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...
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...
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...
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...
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.
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...
Portlets
Portlets Liferay DXP started off as a portal server for Java-based web applications called portlets (see JSR 168, JSR-286, and JSR-362). Portlets process requests and generate responses like any...
Portlet 3.0 API Opt In
Portlet 3.0 API Opt In A portlet must specify version 3.0 to opt in to the Portlet 3.0 API. The 3.0 Portlet API version can be specified in the following ways. Standard Portlet @PortletApplication...
Servlets
Servlets
Data Frameworks
Data Frameworks
Asset Framework
Asset Framework The asset framework is behind many of Liferay's most powerful features. It provides tools for displaying and interacting with any type of content and data. For example, if you build...
Using Asynchronous Messaging
Using Asynchronous Messaging Message Bus's asynchronous option provides fire and forget behavior; send a message and continue processing without waiting for a response. An asynchronous message is...
Using Direct Synchronous Messaging in Previous Versions
Using Direct Synchronous Messaging in Previous Versions Liferay DXP 7.4 U48/Portal GA49 and Below Unsupported The messaging API this tutorial covers is unavailable after Liferay DXP 7.4...
Tuning Messaging Performance
Tuning Messaging Performance Liferay DXP 2023.Q3/Portal GA92 and Below Unsupported The messaging API this tutorial covers is unavailable after Liferay DXP 2023.Q3/Portal GA92. Messaging...
Portlet IDs
Portlet IDs Below is a listing of the portlet IDs for the default portlets in Liferay DXP. You can use these IDs to embed portlets in your theme's sitemap. Collaboration PortletID...
Accessing Custom Fields With Expandos
Accessing Custom Fields With Expandos When you need additional fields in your application, you can always add them in your service model definition and re-run Service Builder. This adds new columns...
Cache
Cache
Service Builder
Service Builder An application without reliable business logic or persistence isn't much of an application at all. Unfortunately, writing your own persistence code often takes a great deal of time....
Using Domain-Specific Language Queries
Using Domain-Specific Language Queries Liferay 7.4+ DSL Query is an acronym for Domain-Specific Language Query. The foundation is based upon using a domain-specific language for the...
Using Dynamic Query
Using Dynamic Query Liferay's Dynamic Query API wraps Hibernate's Criteria API. It helps you think in terms of objects and member variables instead of tables and columns. Complex queries can be...
Configuring service.properties
Configuring service.properties Service Builder generates a service.properties file in your *-service module's src/main/resources folder. Liferay uses this file's properties to alter your service's...
Sorting Entity Instances
Sorting Entity Instances Often, you want to retrieve multiple instances of a given entity and list them in a particular order. The service.xml file lets you specify the default order of your...
Service Builder Basics
Service Builder Basics Using Service Builder helps you learn it. You'll use it to learn the basics: Generating Model, Persistence, and Service Code: Define a basic model, generate code from it,...
Defining Entities
Defining Entities Entities are the heart and soul of a service. They represent the map between the model objects in Java and your database fields and tables. Service Builder automatically maps your...
Connecting Service Builder to an External Database
Connecting Service Builder to an External Database Service builder creates the necessary tables for the service in the lportal database with all other data used by Liferay. If you want to store the...
Defining Entity Columns
Defining Entity Columns An entity's columns represent its attributes. These attributes map table fields to Java object fields. Here you'll examine the sample project from Understanding and...
Defining Entity Finder Methods
Defining Entity Finder Methods Finder methods retrieve entity objects from the database based on specified parameters. For each finder defined, Service Builder generates several methods to fetch,...
Configuring Global Service Options
Configuring Global Service Options A service's global options apply to all its entities. Here are the options: Dependency Injector Package path Multiversion concurrency control Namespace...
Adding Model Hints
Adding Model Hints Once you've used Service Builder to define model entities, you may want to refine how users enter that data. Model hints specify entity data restrictions and other formatting....
Defining Entity Relationships
Defining Entity Relationships Relationships between database entities or Java objects are necessary for most applications. Take Liferay's Message Boards application as an example. Each Message...
Modifying Database Fields in Development
Modifying Database Fields in Development As you develop an application, you might need to add fields to your database. This is a normal process of iterative development: you get an idea for a new...
Tag Libraries
Tag Libraries You have access to a powerful set of taglibs for creating commonly used UI components in your apps, themes, and web content. The following taglibs are covered in this section: AUI:...

Showing 6,901 to 6,960 of 8,806 entries.