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
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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,...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
Developing a Java Web Application
Developing a Java Web Application
Published Date: May 9, 2024 6:53 PM
Reference
Reference
Published Date: May 9, 2024 6:53 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
Using Upgrade Processes
Using Upgrade Processes Liferay DXP 7.4 U10+/Portal 7.4 GA14+ An upgrade of your application may require making changes to your database tables. Liferay's upgrade framework makes it easy to make...
Published Date: May 9, 2024 6:53 PM
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...
Published Date: May 9, 2024 6:53 PM
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...
Published Date: May 9, 2024 6:53 PM
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...
Published Date: May 9, 2024 6:53 PM
Liferay Faces Portal
Liferay Faces Portal Liferay Faces Portal is distributed in a .jar file. You can add Liferay Faces Portal as a dependency for your portlet projects to use its Liferay-specific utilities and UI...
Published Date: May 9, 2024 6:53 PM
MVC Action Command
MVC Action Command MVC Action Commands handle actions as separate classes. With Action Commands, you can organize action logic in MVCPortlets that have many actions. Action URLs in the portlet's...
Published Date: May 9, 2024 6:53 PM
Reference
Reference
Published Date: May 9, 2024 6:53 PM
Using JSF
Using JSF Liferay Faces is deprecated due to a future migration to Jakarta EE 10. Instead, use client extensions or Liferay Objects if possible. Alternatively, use Liferay's MVC Portlet. Liferay...
Published Date: May 9, 2024 6:53 PM
Reference
Reference
Published Date: May 9, 2024 6:53 PM
Liferay Faces Alloy
Liferay Faces Alloy Liferay Faces Alloy is distributed in a .jar file. You can add Liferay Faces Alloy as a dependency to your portlet projects, to use AlloyUI in a way that is consistent with JSF...
Published Date: May 9, 2024 6:53 PM
Using MVC
Using MVC If you're an experienced developer, this is not the first time you've heard about Model View Controller. If there are so many implementations of MVC frameworks in Java, why did Liferay...
Published Date: May 9, 2024 6:53 PM
Invoking Actions with MVC Portlet
Invoking Actions with MVC Portlet A portlet's Action phase applies state changes. You can bind your portlet's action-handling methods to UI components using portlet action URLs. They are...
Published Date: May 9, 2024 6:53 PM
Rendering Views with MVC Portlet
Rendering Views with MVC Portlet If you want users to access your portlet's views, you must implement navigation to them. Portlet render URLs help you do this. Here you'll deploy an example...
Published Date: May 9, 2024 6:53 PM
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:...
Published Date: May 9, 2024 6:53 PM
Chart Tag Library
Chart Tag Library Lines, splines, bars, pies and more, the Chart tag Library provides everything you need to model data. Each taglib gives you access to the corresponding Clay component. These...
Published Date: May 9, 2024 6:53 PM
Bar Charts
Bar Charts Bar charts contain multiple sets of data. A bar chart models the data in bars. Each data series (created with the addColumns() method) is defined with a new instance of the...
Published Date: May 9, 2024 6:53 PM
Gauge Charts
Gauge Charts Gauge charts are percentage-based. A gauge chart shows where percentage-based data falls over a given range. Each data set must be defined as a new instance of the SingleValueColumn...
Published Date: May 9, 2024 6:53 PM
Line Charts
Line Charts Line charts contain multiple sets of data. A Line chart displays the data linearly. Each data series (created with the addColumns() method) is defined with a new instance of the ...
Published Date: May 9, 2024 6:53 PM
Pie Charts
Pie Charts Pie charts are percentage-based. A pie chart models percentage-based data as individual slices of pie. Each data set must be defined as a new instance of the SingleValueColumn object....
Published Date: May 9, 2024 6:53 PM
Predictive Charts
Predictive Charts Predictive charts let you visualize current data along with predicted/forecasted data within a given value range. Predicted/forecasted data is surrounded by a highlighted area of...
Published Date: May 9, 2024 6:53 PM
Refreshing Charts to Reflect Real Time Data
Refreshing Charts to Reflect Real Time Data The polling interval property is an optional property for all charts. It specifies the time in milliseconds for the chart's data to refresh. You can use...
Published Date: May 9, 2024 6:53 PM
Spline Charts
Spline Charts Spline charts contain multiple sets of data. A spline chart connects points of data with a smooth curve. Each data series (created with the addColumns() method) is defined with a new...
Published Date: May 9, 2024 6:53 PM
Clay Tag Library
Clay Tag Library The Liferay Clay tag library provides a set of tags for creating Clay UI components in your app. AUI taglibs are deprecated as of Liferay 7.1. We recommend that you use Clay...
Published Date: May 9, 2024 6:53 PM
Clay Buttons
Clay Buttons Buttons come in several types and variations. This tutorial covers the different styles and variations of buttons you can create with the Clay taglibs. Types Primary button: Used for...
Published Date: May 9, 2024 6:53 PM
Clay Dropdown Menus and Action Menus
Clay Dropdown Menus and Action Menus You can add dropdown menus to your app via the clay:dropdown-menu and clay:actions-menu taglibs. The Clay taglibs provide several menu variations for you to...
Published Date: May 9, 2024 6:53 PM
Clay Form Elements
Clay Form Elements The Liferay Clay tag library provides several tags for creating form elements. An example of each tag is shown below. Checkbox Checkboxes give the user a true or false input. "...
Published Date: May 9, 2024 6:53 PM
Clay Alerts
Clay Alerts Clay alerts come in two types: embedded and stripe. Both types, along with several examples of each, are shown below. Embedded Alerts Embedded alerts are usually used inside forms. The...
Published Date: May 9, 2024 6:53 PM
Clay Badges
Clay Badges Badges help highlight important information such as notifications or new and unread messages. Badges have circular borders and are only used to specify a number. This covers the...
Published Date: May 9, 2024 6:53 PM
Clay Icons
Clay Icons The Liferay Clay taglibs provide several icons that you can use in your apps. Use the clay:icon tag and specify the icon with the symbol attribute: You can include icons in your app...
Published Date: May 9, 2024 6:53 PM
Clay Labels and Links
Clay Labels and Links Liferay Clay taglibs provide tags for creating labels and links in your app. Both of these elements are covered below. Labels The Liferay Clay taglibs provide a few different...
Published Date: May 9, 2024 6:53 PM
Clay Management Toolbar
Clay Management Toolbar The Management Toolbar gives administrators control over search container results in their apps. It lets you filter, sort, and choose a view type for search results, so you...
Published Date: May 9, 2024 6:53 PM
Liferay Portlet Objects For JSPs
Liferay Portlet Objects For JSPs You may have noticed the tag in your JSPs. Similar to the theme:defineObjects tag, when you include this tag in your JSP, you gain access to several variables ...
Published Date: May 9, 2024 6:53 PM
Liferay UI Tag Library
Liferay UI Tag Library The Liferay UI tag library provides tags that implement commonly used UI components. These tags make your markup consistent, responsive, and accessible. You can find a list...
Published Date: May 9, 2024 6:53 PM
Liferay UI Icon Lists
Liferay UI Icon Lists An icon list displays icons in a horizontal list, instead of in a pop-up navigation menu like an icon menu. You can see an example of an icon list menu in a message board...
Published Date: May 9, 2024 6:53 PM
Liferay UI Icons
Liferay UI Icons The Liferay UI taglibs provide several icons you can include in your apps. To add an icon to your app, use the liferay-ui:icon tag and specify the icon with either the icon,...
Published Date: May 9, 2024 6:53 PM
Liferay UI Tabs
Liferay UI Tabs Tabs create dividers that organize content into individual sections. Content can be embedded or included from another JSP. To add tabs to your app, use the tag and specify each...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util Body Bottom
Using Liferay Util Body Bottom The body bottom tag is not a self-closing tag. It lets you add additional HTML or scripts to the bottom of the body tag. content placed between the opening and...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util Get URL
Using Liferay Util Get URL The get URL tag scrapes the URL provided by the url attribute. If a value is provided for the var attribute, the content from the screen scrape is scoped to that...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util Include
Using Liferay Util Include The include tag lets you include other JSP files in your portlet's JSP, theme, or web content. This can increase readability as well as provide separation of concerns for...
Published Date: May 9, 2024 6:53 PM
Liferay Util Tag Library
Liferay Util Tag Library The Liferay Util taglib is used to pull other resources into a portlet or theme. You can use it to specify which resources to insert at the bottom or top of the page's...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util Body Top
Using Liferay Util Body Top The body top tag is not a self-closing tag. The content placed between the opening and closing of this tag is moved to the top of the body tag. When something is passed...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util Buffer
Using Liferay Util Buffer The buffer tag is not a self-closing tag. The content placed between the opening and closing of this tag is saved to a buffer and its output is assigned to the Java...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util Dynamic Include
Using Liferay Util Dynamic Include The dynamic include tag lets you specify a point or points in a JSP or theme where a developer can inject additional HTML, resources, or functionality, using the...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util HTML Bottom
Using Liferay Util HTML Bottom The HTML bottom tag is not a self-closing tag. Content placed between the opening and closing of this tag is moved to the bottom of the tag. When something is passed...
Published Date: May 9, 2024 6:53 PM
Using Liferay Util Whitespace Remover
Using Liferay Util Whitespace Remover The whitespace remover tag removes line breaks and tabs from code blocks included between the opening and closing of the tag. Below is an example configuration...
Published Date: May 9, 2024 6:53 PM
Using a JSP and MVC Portlet
Using a JSP and MVC Portlet An easy way to start developing a web application is to add markup to a JSP file and render it using a portlet Java class. The W3E7 example application demonstrates...
Published Date: May 9, 2024 6:53 PM
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...
Published Date: May 9, 2024 6:53 PM
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...
Published Date: May 9, 2024 6:53 PM

Capabilities

Product

Education

Contact Us

Connect

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