Capability

Personalization

Liferay provides powerful out-of-the-box features for building and delivering personalized experiences to users. Personalization features empower you to deliver novel site experiences that differ based on defined user segments, design and execute A/B Tests, and more.

Feature
Deployment Approach
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...
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...
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...
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...
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...
MVC Resource Command
MVC Resource Command MVC Resource Command classes retrieve resources: images, XML, or any other kind of resource from a DXP/Portal instance without triggering any actions or renders. Requests or...
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:...
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...
Geomap Chart
Geomap Chart A Geomap Chart shows data based on geography, given a specified color range---a lighter color representing a lower rank and a darker a higher rank usually. The default configuration...
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...
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...
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...
Step Charts
Step Charts Step charts contain multiple sets of data. A step chart steps between the points of data, resembling steps. Each data series (created with the addColumns() method) is defined with a new...
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...
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...
Liferay UI Icon Help
Liferay UI Icon Help The icon help tag lets you communicate additional information to your users in an unobtrusive way. It renders as an iconic question mark that provides more information through...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
Client Extensions UI Reference
Client Extensions UI Reference Liferay's widget client extensions (custom element and iframe) register applications with Liferay, adding them as widgets to site pages. Additionally, you can style...
Using Job Scheduler
Using Job Scheduler Liferay Self-Hosted Liferay PaaS Job Scheduler is a flexible framework built on Liferay's scheduler engine for running and scheduling business logic. This framework uses the...
Servlets
Servlets
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...
Bundling and Copying Files from an Existing Theme
Bundling and Copying Files from an Existing Theme By using gulp's kickstart task, you can copy the files from a previously created theme into any theme you choose. This functionality is useful in...
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: ...
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...
Embedding Widgets Using Templates
Embedding Widgets Using Templates You can embed a widget in your theme to make it available on all pages using the chosen template file. When you are embedding a widget, you will need to reference...
Bundling Resources
Bundling Resources
Bundling and Installing Resources into Your Theme via Themelets
Bundling and Installing Resources into Your Theme via Themelets Themelets are small, modular pieces of code that you can reuse in multiple themes. Unlike themes themselves, themelets may only...
Bundling a Thumbnail Preview into Your Theme
Bundling a Thumbnail Preview into Your Theme A theme's thumbnail is the visual representation of how the theme looks when it is applied to a Site. The thumbnail is shown in the theme selection menu...
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...
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...
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...
Setting Up an Environment and Creating a Theme
Setting Up an Environment and Creating a Theme Creating a theme is the first step in theme development. Once you have your own theme, you can deploy it to your Liferay DXP instance, and use it for...
Theme CSS YAML Configuration Reference
Theme CSS YAML Configuration Reference You can define a theme CSS client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a theme CSS client...
Bundling Independent UI Resources via Theme Contributors
Bundling Independent UI Resources via Theme Contributors Theme contributors are modules that contain CSS and JavaScript resources and apply them to every page. They are independent from specific...
Upgrading a Theme
Upgrading a Theme Themes developed for previous versions of Liferay DXP must be upgraded in order to be deployed to a new version. The gulp upgrade task updates Liferay version references and theme...
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....
Using a Theme Sprite Map Client Extension
Using a Theme Sprite Map Client Extension Liferay DXP 2023.Q4+/Portal GA100+ With a theme sprite map client extension, you can override the default Clay sprite map used for icons on a page. Start...
Editor Config Contributor YAML Configuration Reference
Editor Config Contributor YAML Configuration Reference Liferay DXP 2024.Q1+/Portal GA112+ This feature is currently behind a release feature flag (LPS-186870). Read Release Feature Flags for more...
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...
Theme Sprite Map YAML Configuration Reference
Theme Sprite Map YAML Configuration Reference You can define a theme sprite map client extension with a client-extension.yaml file. Usage Details This client-extension.yaml defines a theme sprite...
Theme Favicon YAML Configuration Reference
Theme Favicon YAML Configuration Reference You can define a theme favicon client extension with a client-extension.yaml file. Usage Details This client-extension.yaml file defines a theme favicon...
Data Sets
Data Sets Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). Data sets are like virtual containers that help organize and manage related...
Creating Data Sets
Creating Data Sets Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). You can create data sets from different resources available through...
Data Set Visualization Modes
Data Set Visualization Modes Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). To customize the data display in your data set, use the...
Batch YAML Configuration Reference
Batch YAML Configuration Reference Use a client-extension.yaml file to define a batch client extension. Usage Details This client-extension.yaml file defines a client extension of type batch: ...
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...
Importing/Exporting Data
Importing/Exporting Data Liferay Self-Hosted Liferay SaaS Liferay PaaS Liferay 7.4 If you want to import or export data from Liferay, you use batch client extensions. Use and reuse your data...
Data Set Actions
Data Set Actions Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). While managing data set, define actions to be used in the data set...
Managing Data Sets
Managing Data Sets Liferay DXP 2024.Q1+/Portal GA112+ Currently, this feature is behind a release feature flag (LPS-164563). Once you create a data set, you can customize how users see it....
Using an Editor Config Contributor Client Extension
Using an Editor Config Contributor Client Extension Liferay DXP 2024.Q2+/Portal GA120+ Editor Config Contributor client extensions override existing CKEditor configuration in a...