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
Ticket Management with Cron Jobs
Ticket Management with Cron Jobs Use Cron jobs to automate managing tickets. For example, have a job to run at a regular schedule to delete any tickets that have a resolution type of duplicate or...
Published Date: May 9, 2024 6:52 PM
Applying a Custom Theme
Applying a Custom Theme You can use different front-end client extensions to customize the look and feel of your site. Specifically, theme CSS type client extension can be used as an alternative to...
Published Date: May 9, 2024 6:52 PM
Building a Time Off Requester
Building a Time Off Requester Liferay 7.4+ With Liferay Objects, you can build entire applications without writing code or deploying modules. Here, create a Time Off Request application using...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
Cache
Cache
Published Date: May 9, 2024 6:52 PM
Expando
Expando Accessing Custom Fields with Expando
Published Date: May 9, 2024 6:52 PM
Data Frameworks
Data Frameworks
Published Date: May 9, 2024 6:52 PM
Data Scopes
Data Scopes
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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....
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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,...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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....
Published Date: May 9, 2024 6:52 PM
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...
Published Date: May 9, 2024 6:52 PM
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
MVC Render Command
MVC Render Command MVC Render Commands are classes that handle which page to render. They are invoked by MVCPortlet render URLs and requests. If your render logic is simple you can implement all of...
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

Capabilities

Product

Education

Contact Us

Connect

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