DxpLife The practical Liferay DXP knowledge hub
Talk to us

Home/Field Guide/Objects & workflow

CONCEPT 08

Object rules, actions, and permissions

Separate validation, authorization, and side effects across UI, APIs, and integrations.

11 minCheck action support

Three questions for every write

Is the data valid? Require a summary, check field formats and cross-field invariants, and use the available Object validation types. A form-only constraint improves feedback but can be bypassed by API callers.

Who may perform the operation? Review Objects administration permissions, object application permissions such as entry creation, and individual entry permissions such as view or update. Scope and account restrictions, where available and configured, can further constrain the record set. Test with actual roles, because a portal administrator can mask missing grants.

What should happen after the change? An Object action can react to a supported event or expose a standalone operation. Where the selected action supports a condition, specify exactly which state change should trigger it. Keep approval state in workflow when there is a human decision and an auditable queue.

Design a delivery contract

If an approved request triggers fulfillment, send a minimal payload with an entry ERC and a transition identifier. The receiver should authenticate the caller, validate the payload, deduplicate deliveries, and log a correlation ID. Establish which side retries, how failures surface, and how an operator safely replays an event. Verify the trigger fires for the relevant create, update, import, or workflow path on your target release.

Verify the role matrix

Actor Can create? Can read? Can approve?
Partner requestor Own allowed scope Entries granted to that role or user No
Reviewer As policy requires Review queue and permitted entries Assigned tasks only
Fulfillment service Usually no Required records only Only explicit API operations, if required

This table expresses a design intent. Configure and verify each cell. Test denied list and direct-ID reads, relationship traversal, attachment downloads, and standalone action calls. The script engine is disabled by default on newer builds. Prefer built-in conditions or supported extensions, and consult the exact release before planning a Groovy action or validation.

Official references