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.

Category
Category
Understanding the npmbundlerrc Structure
Understanding the npmbundlerrc Structure The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. The liferay-npm-bundler is configured via a...
Liferay npm Bundler
Liferay npm Bundler The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. The liferay-npm-bundler is a bundler (like Webpack or Browserify)...
Poshi Basics
Poshi Basics New features, improvements, and system upgrades can sometimes introduce unexpected behaviors and bugs. Running suites of automated tests is an advantageous method of identifying issues...
Creating the Testcase File
Creating the Testcase File Test Scenario Write your first testcase file using the test scenario below: You would like to test that your name does not appear on any learn.liferay.com article. The...
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...
Understanding the Liferay npm Bundler Loader
Understanding the Liferay npm Bundler Loader The Liferay npm bundler is deprecated of Liferay 2024.Q4/Portal GA129, and it's planned for future removal. liferay-npm-bundler's mechanism is...
Poshi Test Automation
Poshi Test Automation Poshi is a test automation framework that is simple, easy to understand, and does not require prior development experience to get started. Poshi tests can be written to...
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...
Setup
Setup Prerequisites A supported version of Java. Google Chrome. Gradle or Gradle Wrapper 6.6.1 or higher. Setting up the Poshi Standalone Gradle Project Create a new directory, example...
Functions
Functions In Poshi, Functions handle extra WebDriver commands that an element might require to interact with a page object or element. Functions combine the basic methods defined in the...
Poshi Layers
Poshi Layers
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...
Testcases
Testcases A testcase file in Poshi is a collection of test scenarios grouped in blocks of code called test blocks. The three main test blocks: setUp, test, and tearDown, are made up of multiple...
Macros
Macros A macro is a set of functions that perform a task. Macros are where locators (paths) and functions are brought together to script interactions that a user performs on the system being...
Using Variables
Using Variables Though not a Poshi layer, variables are a large part of Poshi tests. Variables, like in other programming languages, are used to store data which can be referenced and reused in...
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...
Reference
Reference Node Version Information
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...
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...
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...
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...
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...
7.4 Breaking Changes
7.4 Breaking Changes Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay 7.4, starting with the latest quarterly...
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...
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...
Auto-Deploying Fragments
Auto-Deploying Fragments Liferay Portal 7.3 GA1+ or Liferay DXP 7.3+ If you're developing page fragments with your own tooling, you can deploy them by packaging them in ZIP files for importing via...
Developing Page Fragments
Developing Page Fragments Page fragments are the building blocks for content pages. They're made from the three components of web pages: CSS, HTML, and JavaScript. To create a page you combine...
Best Practices for Using Fragment Configurations
Best Practices for Using Fragment Configurations When you are creating page fragments for your site with your own configurations, it's your responsibility to use them in their HTML presentation...
Applying Styles to Fragments
Applying Styles to Fragments When you add a fragment to a page, you can use the sidebar menu to configure the fragment, including the Styles configuration tab. Use the Styles tab in the sidebar...
Creating Form Fragments
Creating Form Fragments Liferay 7.4 U45+/GA45+ The form components fragments are for building your object's forms in a content page. If Liferay's form fragments don't satisfy your use case, create...
Validating Fragment Configurations
Validating Fragment Configurations When defining fragment configuration options, you can add validation properties to text type fields that determine rules for valid entries. Determine what type of...
Using the Fragments Editor
Using the Fragments Editor Liferay DXP includes a built-in editor for developing content page fragments. To access the editor, open the Site Menu ( Site Menu ) and navigate to Design → Fragments....
Using Custom Fields in Page Fragments
Using Custom Fields in Page Fragments If you've added custom fields to Liferay's users or pages, you can access them in fragments. To get the value of a page custom field, use ...
Including Default Resources in Fragments
Including Default Resources in Fragments You can include images files (e.g. .gif, .jpg, .jpeg, or .png) direct in your fragment sets. Keeping images with your fragments, rather than in other...
Defining Fragment Drop Zones
Defining Fragment Drop Zones Drop zones are integral to building your content pages. With them, you can create unique page layouts and dynamic displays by defining areas within fragments where...
Fragments Toolkit Command Reference
Fragments Toolkit Command Reference The Fragments Toolkit is deprecated as of Liferay 2024.Q1+/Portal GA112+. See Alternatives for the Fragments Toolkit for more information. The Fragments...
Using the Fragments Toolkit
Using the Fragments Toolkit The Fragments Toolkit is deprecated as of Liferay 2024.Q1+/Portal GA112+. See Alternatives for the Fragments Toolkit for more information. The Fragments Toolkit helps...
Developing Page Fragments Reference
Developing Page Fragments Reference The Developing Fragments Reference provides essential information on key aspects of fragment development in Liferay. It covers command references, configuration...
Adding Configuration Options to Fragments
Adding Configuration Options to Fragments Liferay DXP 7.2 SP1 Configurable options make your fragments flexible, minimizing the maintenance of similar fragments. For example, instead of creating...
Creating a Contributed Fragment Set
Creating a Contributed Fragment Set Contributed fragment sets are deployable modules containing page fragments. Fragments in a contributed set can be used like regular fragments, but aren't...
Setting the Order of Elements in a Fragment
Setting the Order of Elements in a Fragment Liferay 7.4+ The Slider or Tab fragments are typically used to show different areas of information. Sliders present this information in a carousel of...
Page Fragment Editor Interface Reference
Page Fragment Editor Interface Reference The page fragment editor's interface is organized into two tabs: Code Editor Configuration The sections below cover how to use these portions of the...
Fragment Specific Tags and Attributes Reference
Fragment Specific Tags and Attributes Reference Along with standard HTML, CSS, and JavaScript, you can use Liferay-specific tags and attributes to define editable sections, embed widgets, and more....
Fragment Configuration Types Reference
Fragment Configuration Types Reference Below are the available configuration types for fragments. See Adding Configuration Options to Fragments for more on how to make a fragment configurable. ...
Using Glowroot with Liferay
Using Glowroot with Liferay Liferay DXP 2023.Q4+/Portal GA100+ Liferay bundles Glowroot, the open source Java application monitoring tool. The tool displays helpful statistics about your system...
Troubleshooting JVM Issues with Glowroot
Troubleshooting JVM Issues with Glowroot Liferay DXP 2023.Q4+/Portal GA100+ Glowroot displays a dashboard for identifying system issues quickly. Click the Errors tab to see a list of tracked...
Invoking Liferay Services From Scripts
Invoking Liferay Services From Scripts Many scripting scenarios require invoking Liferay services. Liferay *ServiceUtil classes are the fastest and most convenient way to invoke Liferay services in...
Troubleshooting Templates with Glowroot Freemarker Plugin
Troubleshooting Templates with Glowroot Freemarker Plugin Liferay DXP 2023.Q4+/Portal GA100+ Glowroot can troubleshoot FreeMarker templates to pinpoint slow transactions. Configuring the...
Troubleshooting Liferay Performance Issues with Glowroot
Troubleshooting Liferay Performance Issues with Glowroot Liferay DXP 2023.Q4+/Portal GA100+ Use Glowroot to identify and diagnose performance issues in your Liferay installation. The following...
Script Examples
Script Examples Here are some examples to help you use scripts in DXP. Most of the examples originated from the Liferay blog post 5 Tips to Improve Usage of the Liferay Script Console. Example 1:...
Running Scripts From the Script Console
Running Scripts From the Script Console The Script Console provides a single view for executing Groovy scripts and printing their output. It has predefined variables that facilitate working with...
Developing Glowroot Plugins
Developing Glowroot Plugins Liferay DXP 2023.Q4+/Portal GA100+ Glowroot provides various out-of-the-box plugins. You can also build your own with the use of their plugin API. Here are some tips...
Using the Script Engine
Using the Script Engine Liferay provides a robust script engine for executing Groovy scripts. You can execute scripts to perform maintenance tasks involving data cleanup, user maintenance...
Liferay Performance Use Cases with Glowroot
Liferay Performance Use Cases with Glowroot Liferay DXP 2023.Q4+/Portal GA100+ Use Glowroot to diagnose and inform you on making performance improvements to your Liferay installation. Here are a...
Organizations API Basics
Organizations API Basics You can Create and Manage Organizations from the Application menu, but you can also use Liferay's REST APIs. Call these services to manage organizations. Adding an...
Postal Address API Basics
Postal Address API Basics Liferay DXP/Portal 7.4+ Use Liferay's REST APIs to manage postal addresses. Add Postal Address to Account Then, follow these steps: Download and unzip Postal Address...
User Management APIs
User Management APIs You can use headless APIs to interface with important Liferay user management features, including user accounts, organizations, and roles. Here are resources to help you...
Regions API Basics
Regions API Basics Liferay 7.4 U24+ and GA24+ Use Liferay's REST APIs to create and manage regions. Adding a Region Then, follow these steps: Download and unzip Regions API Basics. curl...
Account Users and Roles APIs
Account Users and Roles APIs You can manage Account Users and Account Roles from the Applications menu, but you can also use Liferay's REST APIs. Call these services to create and manage account...
Countries API Basics
Countries API Basics Liferay 7.4 U24+ and GA24+ Use Liferay's Rest APIs to create and manage countries. Adding a Country Then, follow these steps: Download and unzip Countries API Basics. ...