Extending System Objects

Available Liferay 7.4 U46+/GA46+

With Liferay Objects, you can extend supported system services. Currently, only these services are integrated with the Objects framework: Account, Commerce Order, Commerce Product, Commerce Product Group, Postal Address, and User.


The Postal Address object is only used to store account addresses. For this reason, you can only relate it to custom Objects that are related to the Accounts object. See Using Accounts with Custom Objects for more information.

Extend system services integrated with the Objects Framework.

When extending system Objects, you can add relationships, actions, and validations to them.


System Objects

Custom Objects







Adding Relationships

You can create relationships between system and custom Objects to link their entities. System Objects support both One to Many and Many to Many relationships. See Defining Object Relationships for more information.


Since system Objects don’t support custom layouts, you cannot add layout tabs to the Object for displaying Many to Many relationships or the parent side of a One to Many relationship.

Adding Actions

You can add custom actions to system Objects that are triggered when entries are added, updated, or removed. Currently, system Objects support Webhook, Groovy Script, and Notification actions. See Defining Object Actions for more information.

Adding Validations

You can add Groovy and Expression Builder validations to system Objects. When triggered, these validations check for valid field entries and show custom error messages for invalid entries. Currently, Objects only supports validations for a system Object’s default fields and does not support validations for its custom Expando fields. See Adding Custom Validations for more information.

Additional Information