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
Configuration
Configuration In order to give test writers easy access to commonly used functions, paths, or macros, Poshi resources were created to store existing Poshi files as dependencies. These resources can...
公開日: 2024/05/09 18:55
Poshi Resources
Poshi Resources To give Poshi test writers easy access to commonly used functions or other files, Poshi resources were created to store existing Poshi files as dependencies that can be loaded apart...
公開日: 2024/05/09 18:55
Configuration Framework
Configuration Framework Setting and Accessing Configurations Categorizing a Configuration Scoping Configurations Portlet Level Configuration Configuration Form Renderer DDM Form Annotations ...
公開日: 2024/11/22 22:50
Categorizing a Configuration
Categorizing a Configuration When you register a configuration interface, the UI for your application is generated in System Settings → Platform → Third Party. If you prefer a different section and...
公開日: 2024/11/22 22:50
Node Version Information
Node Version Information Liferay DXP uses Node (and NPM) for many different frontend components. Specifically, the Liferay Theme Generator and Liferay's JavaScript application tools require the use...
公開日: 2024/05/09 18:55
Core Frameworks
Core Frameworks
公開日: 2024/11/22 22:50
Using the Bootstrap 3 Compatibility Layer in Liferay 7.4
Using the Bootstrap 3 Compatibility Layer in Liferay 7.4 As of Liferay DXP 7.4 GA1, the Bootstrap 3 compatibility layer is removed from the built-in packages in Liferay frontend applications. If...
公開日: 2024/05/09 18:55
Traditional Java-Based Development
Traditional Java-Based Development 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...
公開日: 2024/07/18 20:39
Using Poshi Resources
Using Poshi Resources Once the Poshi resources jar file is loaded onto your Poshi project, you are now able to use Liferay's commonly used functions, paths, and macros. To distinguish between files...
公開日: 2024/05/09 18:55
Reference
Reference Node Version Information
公開日: 2024/05/09 18:55
DDM Form Annotations
DDM Form Annotations The auto-generated configuration interface UI may be too simplistic for some configurations. You can use the Dynamic Data Mapping (DDM) form annotations to customize your...
公開日: 2024/11/22 22:50
Configuration Form Renderer
Configuration Form Renderer When you create a configuration interface, a configuration UI is automatically generated. But in some cases you want customize the look and feel of the UI. For example,...
公開日: 2024/11/22 22:50
Configuration Model Listener Reference
Configuration Model Listener Reference Use model listeners in your own configurations to listen for events and execute code in response. Creating a model listener requires only three steps: ...
公開日: 2024/11/22 22:50
Completely Custom Configuration
Completely Custom Configuration A configuration UI is generated automatically when you create a configuration interface. But in some cases you want a completely custom UI for your configuration....
公開日: 2024/11/22 22:50
Portlet Level Configuration
Portlet Level Configuration With the configuration framework, you can set your application's configuration for different levels of scope. Where Instance and Site-scoped configurations use...
公開日: 2024/11/22 22:50
Hiding the Configuration UI
Hiding the Configuration UI Liferay generates a configuration UI automatically after a configuration interface deploys. But you may have certain use cases where you want to hide the UI. For...
公開日: 2024/11/22 22:50
Field Options Provider
Field Options Provider You can populate a drop-down list manually in the @Meta.AD annotation of the configuration interface. But you can also populate the option labels and values automatically...
公開日: 2024/11/22 22:50
Setting and Accessing Configurations
Setting and Accessing Configurations You can use Liferay's configuration framework to add a settings UI for a MVC Portlet. See the Example Portlet Then, follow these steps: Download and unzip...
公開日: 2024/05/09 18:53
Scoping Configurations
Scoping Configurations In Liferay DXP, you can set an application's configuration to different levels of scope: System, Instance, Site, or Portlet. For example, if you create an application to have...
公開日: 2024/05/09 18:53
Dependency Injection
Dependency Injection
公開日: 2024/05/09 18:53
Using Direct Synchronous Messaging in Previous Versions
Using Direct Synchronous Messaging in Previous Versions Synchronous messaging was removed and is no longer supported for Liferay DXP 7.4 U49/Liferay Portal 7.4 GA49 and above. Direct synchronous...
公開日: 2025/01/18 2:48
Listening for Messages
Listening for Messages You can listen for messages sent to any registered Message Bus destination, whether it's built-in to DXP/Portal, defined by third-parties, or created by you. Messages sent to...
公開日: 2024/05/09 18:53
Message Bus
Message Bus The Message Bus provides a loosely coupled way to exchange messages. A class sending a message invokes the Message Bus to send the message to a destination, while other classes...
公開日: 2024/05/09 18:53
Listening for Registration Events
Listening for Registration Events Liferay DXP 2023.Q3/Portal GA92 and Below The messaging API supports listening for destination and message listener registration events. Here are some reasons to...
公開日: 2025/01/18 2:48
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...
公開日: 2025/01/18 2:48
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...
公開日: 2024/05/09 18:53
Using Default Synchronous Messaging in Previous Versions
Using Default Synchronous Messaging in Previous Versions Synchronous messaging was removed and is no longer supported for Liferay DXP 7.4 U49/Liferay Portal 7.4 GA49 and above. In default...
公開日: 2025/01/18 2:48
Tuning Messaging Performance
Tuning Messaging Performance Messaging performance is tuned at the destinations. Performance depends on the destination type, the amount of processing the message listeners require, and the thread...
公開日: 2024/05/09 18:53
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...
公開日: 2024/05/09 18:53
Logs
Logs The OSGi Log Service Extender enables bundles to provide OSGi logging configuration using embedded properties files META-INF/osgi-logging.properties or META-INF/osgi-logging-ext.properties....
公開日: 2024/12/03 15:11
Portlet Descriptor to OSGi Service Property Map
Portlet Descriptor to OSGi Service Property Map Here's a map of portlet XML descriptor values to OSGi service properties for publishing OSGi Portlets. The properties centralize and simplify portlet...
公開日: 2024/05/09 18:53
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...
公開日: 2024/05/09 18:53
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...
公開日: 2024/05/09 18:52
Data Frameworks
Data Frameworks
公開日: 2024/05/09 18:52
Servlets
Servlets
公開日: 2024/05/09 18:54
Data Scopes
Data Scopes
公開日: 2024/05/09 18:52
Cache
Cache
公開日: 2024/05/09 18:52
Expando
Expando Accessing Custom Fields with Expando
公開日: 2024/05/09 18:52
Enabling Assets
Enabling Assets Many of Liferay's applications (e.g. Blogs, Documents and Media, Message Boards, etc.) are asset-enabled out of the box. You can publish assets with the Asset Publisher widget or...
公開日: 2024/05/09 18:52
Implementing an Item Selector
Implementing an Item Selector Item selectors are pop-up dialogs for selecting assets, such as documents, videos, or users. By configuring the item selector's criteria and defining its usage, you...
公開日: 2024/05/09 18:52
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...
公開日: 2024/05/09 18:52
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....
公開日: 2024/05/09 18:52
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....
公開日: 2024/05/09 18:52
Advanced Queries
Advanced Queries Service Builder doesn't limit you to elements in service.xml. If simple finders aren't sufficient for getting data out of your application, there are three other ways to make the...
公開日: 2025/01/11 16:12
Business Logic with Service Builder
Business Logic with Service Builder Once you've generated model, persistence, and service code with Service Builder, you can begin adding business logic. Entities generated by Service Builder...
公開日: 2024/05/09 18:52
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...
公開日: 2024/05/09 18:52
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...
公開日: 2024/05/09 18:52
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...
公開日: 2024/05/09 18:52
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,...
公開日: 2024/05/09 18:52
Invoking a Service Locally
Invoking a Service Locally Service Builder services that are deployed to DXP/Portal can be invoked from other classes in the same JVM. These services are local to the classes. Service Builder...
公開日: 2024/05/09 18:52
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...
公開日: 2024/05/09 18:52
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,...
公開日: 2024/05/09 18:52
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...
公開日: 2024/05/09 18:52
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...
公開日: 2024/05/09 18:52
Generating Model, Persistence, and Service Code
Generating Model, Persistence, and Service Code Service Builder makes it easy to define models and generate model, persistence, and service code for them. You'll experience this by defining a model...
公開日: 2024/05/09 18:52
Understanding and Extending Generated Classes
Understanding and Extending Generated Classes Service Builder generates both tables for your entity and model, persistence, and service classes for it. Here you'll examine generated classes for an...
公開日: 2024/05/09 18:52
Multithreading Process
Multithreading Process Liferay DXP 7.4 U10+ or Liferay Portal 7.4 GA14+ Your Upgrade Processes may involve making complex changes to large data sets. If performance is critical, use the...
公開日: 2024/05/09 18:52
Upgrading Data Schemas
Upgrading Data Schemas When you upgrade Liferay, you might run into incompatibility issues with your custom modules' data schemas. There are three ways you can resolve these issues: You can run...
公開日: 2024/05/09 18:52
Using Upgrade Processes in Earlier Versions
Using Upgrade Processes in Earlier Versions Liferay DXP 7.4 U10/Portal 7.4 GA14 and Below Follow these steps to create an upgrade process for your module: Open your module's bnd.bnd file, and...
公開日: 2024/12/03 15:10
CDI Portlet Predefined Beans
CDI Portlet Predefined Beans Liferay DXP provides injectable portlet artifacts for CDI called Portlet Predefined Beans, as specified by JSR 362. There are two types of predefined beans: Portlet...
公開日: 2024/05/09 18:53