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
Creating a Standard Application
Creating a Standard Application To create applications based on a custom object takes four steps: create the object, create at least one form view, create at least one table view, and deploy the...
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
Creating A Liferay Workspace
Creating A Liferay Workspace You can create a Liferay Workspace manually or with Blade CLI. Creating a Liferay Workspace Manually To create a Liferay Workspace manually, you must have Gradle...
Publicatiedatum: 26-apr-2024 20:57
What is Liferay Workspace?
What is Liferay Workspace? Liferay Workspace is a set of folders and Gradle scripts that represents the Liferay-opinionated way of handling a full development life cycle: Creating projects ...
Publicatiedatum: 26-apr-2024 20:57
Changes Between Bundler 1.x and 2.x
Changes Between Bundler 1.x and 2.x This article outlines the key changes between liferay-npm-bundler version 1.x and 2.x. Automatically Formatting Modules for AMD In version series 1.x of the...
Publicatiedatum: 26-apr-2024 20:57
Migrating Your Project to Use liferay-npm-bundler's New Mode
Migrating Your Project to Use liferay-npm-bundler's New Mode Since issue #303, two modes of operation are available for the liferay-npm-bundler. You can preprocess files before the bundler runs, or...
Publicatiedatum: 26-apr-2024 20:57
Default Bundler Loaders
Default Bundler Loaders Several loaders are available for the liferay-npm-bundler by default: babel-loader: processes source files with Babel. This avoids an extra build step before the bundler....
Publicatiedatum: 26-apr-2024 20:57
Liferay npm Bundler
Liferay npm Bundler :::: 2 :gutter: 3 3 3 3 ::: Liferay npm Bundler :link: ./liferay-npm-bundler/liferay-npm-bundler-intro.md ::: ::: Understanding the Liferay npm Bundler Loader :link:...
Publicatiedatum: 26-apr-2024 20:57
Other Tools
Other Tools Liferay CLI Tool Liferay npm Bundler Liferay npm Bundler Understanding Bundler Loaders Changes Between Bundler 1.x and 2.x Default Bundler Loaders How Liferay and Loader...
Publicatiedatum: 26-apr-2024 20:57
Migrating a Plain JavaScript, Billboard JS, JQuery, Metal JS, React, or Vue JS Project to Use Liferay npm Bundler 2.x
Migrating a Plain JavaScript, Billboard JS, JQuery, Metal JS, React, or Vue JS Project to Use Liferay npm Bundler 2.x Follow these steps to migrate the framework projects shown below to use...
Publicatiedatum: 26-apr-2024 20:57
How JavaScript Modules are Formatted for AMD
How JavaScript Modules are Formatted for AMD Liferay AMD Loader is based on the AMD specification. All modules inside an npm OSGi bundle must be in AMD format. This is done for CommonJS modules by...
Publicatiedatum: 26-apr-2024 20:57
How AMD Loader Configuration is Exported
How AMD Loader Configuration is Exported If you don't understand how Liferay AMD Loader works under the hood, please read [Liferay AMD Module Loader](./understanding-bundler-loaders.md) first. ...
Publicatiedatum: 26-apr-2024 20:57
Migrating a liferay-npm-bundler Project from 1.x to 2.x
Migrating a liferay-npm-bundler Project from 1.x to 2.x liferay-npm-bundler 2.x offers more stability and includes more features out-of-the-box. If you already created a project using the 1.x...
Publicatiedatum: 26-apr-2024 20:57
Understanding the npmbundlerrc Structure
Understanding the npmbundlerrc Structure The liferay-npm-bundler is configured via a .npmbundlerrc file placed in the widget project's root folder. You can create a complete configuration manually...
Publicatiedatum: 26-apr-2024 20:57
OSGi Bundles and npm Package Structure
OSGi Bundles and npm Package Structure To deploy JavaScript modules, you must create an OSGi bundle with the npm dependencies extracted from the project's node_modules folder and modify them to...
Publicatiedatum: 26-apr-2024 20:57
Liferay npm Bundler
Liferay npm Bundler The liferay-npm-bundler is a bundler (like Webpack or Browserify) that targets Liferay Portal as a platform and assumes you're using your npm packages from widgets (as opposed...
Publicatiedatum: 26-apr-2024 20:57
Poshi Advantages
Poshi Advantages Simplified Syntax To make it easier for less technical testers to read and write test automation, Poshi uses a simplified Groovy-like script syntax. It is less wordy than most...
Publicatiedatum: 26-apr-2024 20:57
Understanding Test Results and Debugging Tests
Understanding Test Results and Debugging Tests Poshi tests are run on the terminal or command line. When a test run is completed there are multiple ways to view the test results and diagnose test...
Publicatiedatum: 26-apr-2024 20:57
Syntax Validation
Syntax Validation The Poshi Standalone grade projects includes a validation task that can be used to check your code for syntax errors before running your test. To use this, simply run ./gradlew...
Publicatiedatum: 26-apr-2024 20:57
Running a Test
Running a Test Open the poshi-ext.properties file on your poshi-standalone directory and add the following line, replacing the TestCaseFileName#TestCaseName with the one you created in Creating A...
Publicatiedatum: 26-apr-2024 20:57
Poshi Layers
Poshi Layers :::: 2 :gutter: 3 3 3 3 ::: Functions :link: ./poshi-layers/functions.md Building reliable and reusable functions ::: ::: Paths :link: ./poshi-layers/paths.md Defining Page Objects...
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
Liferay Internals
Liferay Internals :file: landingpage_template.html :file: liferay-internals/landing.html
Publicatiedatum: 26-apr-2024 20:57
Extending Liferay
Extending Liferay Liferay DXP/Portal is highly customizable. Its modular architecture contains components you can extend and override dynamically using APIs.
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
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: ...
Publicatiedatum: 26-apr-2024 20:57
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...
Publicatiedatum: 26-apr-2024 20:57
7.4 Breaking Changes
7.4 Breaking Changes Breaking changes changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay 7.4, starting with the first...
Publicatiedatum: 26-apr-2024 20:58
7.2 Breaking Changes
7.2 Breaking Changes This document presents a chronological list of changes that break existing functionality, APIs, or contracts with third party Liferay developers or users. We try our best to...
Publicatiedatum: 26-apr-2024 20:58
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...
Publicatiedatum: 26-apr-2024 20:58
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...
Publicatiedatum: 26-apr-2024 20:58
Reference
Reference 7.4 Breaking Changes 7.3 Breaking Changes 7.2 Breaking Changes Exported Third-Party Packages Portal Developer Properties
Publicatiedatum: 26-apr-2024 20:58
7.3 Breaking Changes
7.3 Breaking Changes This document presents a chronological list of changes that break existing functionality, APIs, or contracts with third party Liferay developers or users. We try our best to...
Publicatiedatum: 26-apr-2024 20:58
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...
Publicatiedatum: 26-apr-2024 20:58
Portal Developer Properties
Portal Developer Properties There are Portal Properties that facilitate development. Liferay's portal-developer.properties file includes all of them. The portal-developer.properties file is enabled...
Publicatiedatum: 26-apr-2024 20:58
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...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
Dependency Injection
Dependency Injection :file: ../../landingpage_template.html :file: dependency-injection/landing.html
Publicatiedatum: 26-apr-2024 20:56
Aggregating Resource Bundles
Aggregating Resource Bundles When working with a module that shares localized messages, the bnd header must specify the resource bundles you want to associate with the module. Liferay provides a...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
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...
Publicatiedatum: 26-apr-2024 20:56
Listening for Registration Events
Listening for Registration Events Liferay DXP 2023.Q3/Portal 7.4 GA92 and Below The messaging API supports listening for destination and message listener registration events. Here are some reasons...
Publicatiedatum: 26-apr-2024 20:56
JavaScript YAML Configuration Reference
JavaScript YAML Configuration Reference You can define a JavaScript client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a JavaScript client...
Publicatiedatum: 26-apr-2024 20:56
Using a Theme CSS Client Extension
Using a Theme CSS Client Extension Liferay 7.4+ With a theme CSS client extension, you can override the current theme's CSS files (main.css and clay.css) to change the look and feel of a page....
Publicatiedatum: 26-apr-2024 20:56
Using a JavaScript Client Extension
Using a JavaScript Client Extension Liferay 7.4+ With a JavaScript (JS) client extension, you can run your own JavaScript on any page in Liferay without worrying about dependencies on Liferay code...
Publicatiedatum: 26-apr-2024 20:56
Using a CSS Client Extension
Using a CSS Client Extension Liferay 7.4+ CSS client extensions introduce new CSS styling to pages. A deployed CSS client extension on a page adds to the page’s existing styling, including theme...
Publicatiedatum: 26-apr-2024 20:56
Using a Theme Favicon Client Extension
Using a Theme Favicon Client Extension Liferay 7.4+ With a theme favicon client extension, you can override the theme's favicon on the selected page. Start with the sample workspace to build and...
Publicatiedatum: 26-apr-2024 20:56
CSS YAML Configuration Reference
CSS YAML Configuration Reference You can define a CSS client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a CSS client extension definition: ...
Publicatiedatum: 26-apr-2024 20:56
Data Set View Visualization Modes
Data Set View Visualization Modes Liferay DXP 2024.Q1+/Portal 7.4 GA112+ [Beta Feature](../../../system-administration/configuring-liferay/feature-flags.md#beta-feature-flags) To customize the...
Publicatiedatum: 26-apr-2024 20:56
Integrating External Applications
Integrating External Applications Custom Element and IFrame client extensions register applications with Liferay and render them as widgets on site pages. When you create one of these frontend...
Publicatiedatum: 26-apr-2024 20:56
Data Set View Filters
Data Set View Filters Liferay DXP 2024.Q1 U112 [Beta Feature](../../../system-administration/configuring-liferay/feature-flags.md#beta-feature-flags) While managing data set views, you can define...
Publicatiedatum: 26-apr-2024 20:56

Capabilities

Product

Contact Us

Connect

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