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
Using Client Extensions
Using Client Extensions Liferay DXP 2024.Q1+/Portal 7.4 GA112+ Using client extensions, you can extend Liferay without using OSGi modules. Deploy them to any Liferay environment, whether you host...
Published Date: May 9, 24, 6:45 PM
Using the Checkout Step Client Extension
Using the Checkout Step Client Extension Liferay DXP 2024.Q1+/Portal 7.4 GA112+ You can use a client extension to create a new checkout step. This tutorial uses an example client extension from...
Published Date: May 9, 24, 6:45 PM
Using the Payment Integration Client Extension
Using the Payment Integration Client Extension Liferay DXP 2024.Q1+/Portal 7.4 GA112+ You can use a client extension to integrate with a new payment method in Liferay. This client extension from...
Published Date: May 9, 24, 6:45 PM
Using the Shipping Engine Client Extension
Using the Shipping Engine Client Extension Liferay DXP 2024.Q1+/Portal 7.4 GA112+ You can use a client extension to add a new shipping engine to Liferay. This client extension from the sample...
Published Date: May 9, 24, 6:45 PM
Creating Video Shortcut Providers
Creating Video Shortcut Providers Liferay DXP 7.4+ By default, Liferay's external video shortcuts support YouTube, Vimeo, Facebook, and Twitch. However, you can extend this feature to support...
Published Date: May 9, 24, 6:50 PM
Liferay Development
Liferay Development Liferay's development platform makes developers faster and more efficient by providing a baseline set of features to build upon. Rather than start from scratch, you can start...
Published Date: May 9, 24, 6:52 PM
Building a Custom Ticketing System
Building a Custom Ticketing System Liferay makes it easy for you to build digital solutions. For example, you can create a custom ticketing application with the styling and features needed for your...
Published Date: May 9, 24, 6:52 PM
Building Applications
Building Applications For maximum compatibility with all of Liferay's deployment options, you can combine Liferay's Objects, Client Extensions, and other features and tools to build real-world...
Published Date: May 9, 24, 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, 24, 6:52 PM
Defining a Custom Data Schema
Defining a Custom Data Schema The ticketing application requires custom data fields and selections. You use Liferay objects and picklists to define a custom data schema. Creating Custom Picklists...
Published Date: May 9, 24, 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, 24, 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, 24, 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, 24, 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, 24, 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, 24, 6:52 PM
Data Frameworks
Data Frameworks
Published Date: May 9, 24, 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, 24, 6:52 PM
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, 24, 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, you'll create a Time Off Request application...
Published Date: May 9, 24, 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, 24, 6:52 PM
Implementing a Documentation Referral System
Implementing a Documentation Referral System The ticketing system can be further enhanced with a documentation referral system. The system searches automatically for relevant documentation based on...
Published Date: May 9, 24, 6:52 PM
Deploying a Custom Application
Deploying a Custom Application You can use a custom element client extension to render a JavaScript application as a widget on a Liferay site page. The application is served by Liferay and...
Published Date: May 9, 24, 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, 24, 6:52 PM
Cache
Cache
Published Date: May 9, 24, 6:52 PM
Data Scopes
Data Scopes
Published Date: May 9, 24, 6:52 PM
Expando
Expando Accessing Custom Fields with Expando
Published Date: May 9, 24, 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, 24, 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, 24, 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, 24, 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, 24, 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, 24, 6:52 PM
Donut Charts
Donut Charts Donut charts are percentage-based. A donut chart is similar to a pie chart, but it has a hole in the center. Each data set must be defined as a new instance of the SingleValueColumn...
Published Date: May 9, 24, 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, 24, 6:53 PM
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...
Published Date: May 9, 24, 6:53 PM
Liferay Faces Bridge
Liferay Faces Bridge Liferay Faces Bridge enables you to deploy JSF web apps as portlets without writing portlet-specific code. It also contains innovative features that make it possible to...
Published Date: May 9, 24, 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, 24, 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, 24, 6:53 PM
Liferay Faces Version Scheme
Liferay Faces Version Scheme In this article, you'll learn which Liferay Faces artifacts should be used with your portlet and explore the Liferay Faces versioning scheme by discovering what each...
Published Date: May 9, 24, 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, 24, 6:53 PM
Portlets
Portlets Liferay DXP started off as a portal server for Java-based web applications called portlets (see JSR 168, JSR-286, and JSR-362). Portlets process requests and generate responses like any...
Published Date: May 9, 24, 6:53 PM
Using Bean Portlet
Using Bean Portlet Portlet 3.0, the JSR 362 standard, features a style of portlet development called Bean Portlets that use Contexts and Dependency Injection (CDI). Bean Portlets fully leverage all...
Published Date: May 9, 24, 6:53 PM
Reference
Reference
Published Date: May 9, 24, 6:53 PM
CDI Portlet Predefined Beans
CDI Portlet Predefined Beans Liferay DXP provides injectable portlet artifacts for CDI called Portlet Predefined Beans, as specified by JSR 362. There are two types of predefined beans: Portlet...
Published Date: May 9, 24, 6:53 PM
Using JSF
Using JSF Liferay Faces is an umbrella project that provides support for the JavaServer[™] Faces (JSF) standard in Liferay DXP/Portal. Here are the Liferay Faces topics: Introduction to Liferay...
Published Date: May 9, 24, 6:53 PM
Reference
Reference
Published Date: May 9, 24, 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, 24, 6:53 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, 24, 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, 24, 6:52 PM
Upgrade Processes
Upgrade Processes
Published Date: May 9, 24, 6:52 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, 24, 6:53 PM
Upgrading Your Database Tables
Upgrading Your Database Tables Liferay DXP 7.4 U10+ or Liferay Portal 7.4 GA14+ An upgrade of your application may require making changes to your database tables. Liferay's Upgrade framework makes...
Published Date: May 9, 24, 6:53 PM
Developing a Java Web Application
Developing a Java Web Application
Published Date: May 9, 24, 6:53 PM
Reference
Reference
Published Date: May 9, 24, 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, 24, 6:53 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, 24, 6:52 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, 24, 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, 24, 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, 24, 6:52 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, 24, 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, 24, 6:53 PM

Capabilities

Product

Contact Us

Connect

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