oo

Object Action YAML Configuration Reference

You can define an object action client extension with a client-extension.yaml file.

Usage Details

This client-extension.yaml defines an object action and an OAuth user agent:

easy-object-action-1:
    name: Easy Object Action 1
    oAuth2ApplicationExternalReferenceCode: easy-oauth-application-user-agent
    resourcePath: /easy-object/action/1
    type: objectAction

easy-oauth-application-user-agent:
    type: oAuthApplicationUserAgent

The required resourcePath property defines the object action handler’s location. Point to any implementation of an object action handler that’s accessible as an external application (for example, a Java Spring Boot application). This value is combined with the homePageURL value of the associated OAuth2 application profile to form the complete URL.

Object action client extensions require OAuth2 application profiles to secure requests triggered by object actions in Liferay. The client-extension.yaml defines an additional OAuth user agent client extension for this profile, and the oAuth2ApplicationExternalReferenceCode property references that client extension’s key value.

The sample workspace demonstrates adding an object action client extension.

Restricting Client Extension Scope

By default, object action client extensions are available to all object definitions in all Liferay instances.

To restrict access by object definition, add the allowedObjectDefinitionNames property along with a list of objects that can use the action:

easy-object-action-1:
    allowedObjectDefinitionNames:
        - C_EasyObject
        - User

In this example, easy-object-action-1 only appears as an option when defining actions for the C_EasyObject and User objects.

To restrict access by instance, add the dxp.lxc.liferay.com.virtualInstanceId property with the desired virtual instance’s ID:

easy-object-action-1:
    allowedObjectDefinitionNames:
        - C_EasyObject
        - User
    dxp.lxc.liferay.com.virtualInstanceId: easy-virtual-host-1.com

In this example, easy-object-action-1 only appears as an option for the C_EasyObject and User objects in the easy-virtual-host-1.com instance.

YAML Properties

These properties are specific to object action client extensions:

Name Data Type Description
allowedObjectDefinitionNames List Scope the client extension to specified object definitions (e.g., C_EasyObject, User)
dxp.lxc.liferay.com.virtualInstanceId String Scope the client extension to a specified virtual instance using its ID (e.g., easy-virtual-host-1.com).
resourcePath String (partial URL) (Required) The path to the object action handler. This value is combined with the OAauth2 application profile’s homePageURL value for a complete URL.
oAuth2ApplicationExternalReferenceCode String (Required) The external reference code for an OAuth2 application profile, needed for securing requests.