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
Using Object Inheritance
Using Object Inheritance [Release Feature (LPD-34594)](../../../../security-and-administration/administration/configuring-liferay/feature-flags.md#release-feature-flags) Liferay DXP...
Restricting Access to Object Data by Account
Restricting Access to Object Data by Account Liferay 7.4 U58+/GA58+ In scenarios with multiple business accounts, you may want to restrict access to object entries by account. For example,...
Expression Builder Validations Reference
Expression Builder Validations Reference Liferay 7.4 U67+/GA67+ You can create object field validations using Liferay's Expression Builder. This tool provides an integrated editor for quickly...
Validations
Validations Liferay 7.4+ Object validations set rules for determining valid field inputs. You can define validations with Groovy scripts, Liferay expressions, or a specified Composite Key...
Adding Field Validations
Adding Field Validations Liferay DXP 2023.Q3+/Portal GA92+ Validations set rules for determining valid field entries. Each validation has its own trigger, conditions, and error message, which you...
Views
Views Views define how entries appear in an object's application page. All published objects include an autogenerated table that displays all field columns alphabetically. However, you can design...
Adding Filters to Views
Adding Filters to Views Liferay 7.4 U49+/GA49+ When designing a custom view, you can determine which fields appear as filter facets. Also, you can set default filters that apply automatically to...
Deploying Object Widgets to Sites
Deploying Object Widgets to Sites Liferay 7.4+ When an Object is published, Liferay automatically generates a dedicated widget you can deploy to site pages. This includes both site-scoped and...
Using Objects with Salesforce
Using Objects with Salesforce [Release Feature](../../../../security-and-administration/administration/configuring-liferay/feature-flags.md#release-feature-flags) With Liferay, you can create...
Using Objects with SugarCRM
Using Objects with SugarCRM [Release Feature](../../../../security-and-administration/administration/configuring-liferay/feature-flags.md#release-feature-flags) You can create objects that map to...
Renaming Table Columns
Renaming Table Columns Liferay 7.4 U21+/GA21+ With custom views, you can change and localize the display name for table columns so you can serve your global users and ensure the table's naming...
Displaying Object Entries with Collections
Displaying Object Entries with Collections Liferay 7.4 U77+/GA77+ When you publish an object definition, Liferay creates a collection provider for it. For site-scoped objects, you can also create...
Managing Data from External Systems
Managing Data from External Systems [Release Feature](../../../security-and-administration/administration/configuring-liferay/feature-flags.md#release-feature-flags) Liferay Objects provides...
Objects Application Permissions
Objects Application Permissions Liferay DXP 2023.Q4+/Portal GA102+ The Objects application is integrated with the permissions framework, so you can assign application and resource permissions to...
Liferay Theme Objects For JSPs
Liferay Theme Objects For JSPs When you include the tag in your JSP, you gain access to several Liferay theme objects via variables. These objects are described in the table below: ...
Creating Code with Liferay Workspace
Creating Code with Liferay Workspace Liferay Workspace is the developer's tool for creating and managing Liferay development projects. Creating Projects Blade CLI makes it easy to create projects...
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....
Connecting Service Builder to an External Database
Connecting Service Builder to an External Database Service builder creates the necessary tables for the service in the lportal database with all other data used by Liferay. If you want to store the...
CAPTCHA YAML Configuration Reference
CAPTCHA YAML Configuration Reference You can define a CAPTCHA client extension with a client-extension.yaml file. Usage Details This client-extnesion.yaml file defines a CAPTCHA client extension: ...
Clay Navigation Bars
Clay Navigation Bars Similar to dropdown menus, navigation bars display a list of navigation items. The key difference is navigation bars are displayed in a horizontal bar with all navigation items...
Clay Progress Bars
Clay Progress Bars You can add progress bars to your app with the clay:progressbar tag. These indicate the completion percentage of a task and come in three status styles: default (blue), warning...
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...
Using Spring
Using Spring PortletMVC4Spring is a way to develop portlets using the Spring Framework and the Model View Controller (MVC) pattern. While the Spring Framework supports developing servlet-based web...
Using React
Using React Build your own solutions using Liferay and React.
Extending Liferay
Extending Liferay Liferay DXP/Portal is highly customizable. Its modular architecture contains components you can extend and override dynamically using APIs.
Customizing Localization
Customizing Localization Liferay ships with 55 translations, making it ideal for deployments all over the world. Sometimes, however, you must modify a translation or provide a new one. Here you can...
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...
Clay Stickers
Clay Stickers Whereas badges display numbers and labels display short information, stickers are small visual indicators of the content (usually the content type). They can include a small label or...
Using Liferay Util Param
Using Liferay Util Param The param tag lets you set a parameter for an included JSP page. This configuration requires two JSPs. JSP A, the main view of the app, includes JSP B and sets its...
PortletMVC4Spring Annotations
PortletMVC4Spring Annotations PortletMVC4Spring provides several annotations for mapping requests to controller classes and controller methods. @RenderMapping Annotation Examples The following...
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...
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...
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...
Reference
Reference PortletMVC4Spring integrates Spring, the Spring Web Framework, and the MVC design pattern with portlet development. As such, it uses configuration files from each of these areas and...
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...
Actions
Actions Object actions define custom business logic that you can run manually or automatically for object entry events. Examples include delivering entry event data to a webhook URL, sending email...
Deleting Objects
Deleting Objects Liferay 7.4 U26+/GA26+ You can delete draft and published object definitions. Deleting a definition removes its associated data, including the stored entries for published...
Picklist Fields
Picklist Fields Liferay 7.4 U72+/GA72+ Picklists define lists of text values usable as single select or multi-select fields in object definitions. By default, single select fields appear as...
Removing Relationships
Removing Relationships Liferay 7.4 U26+/GA26+ You can remove relationships from both draft and published object definitions. Removing a relationship permanently deletes its field from the related...
Relationships
Relationships Liferay 7.4 U47+/GA47+ Relationships add fields and tables to object definitions for relating their entries with one another. This provides access to entry data in different...