1. Commerce Core

Compositional extensibility

Version:

Compositional extensibility is a simple class supplied by plugins as a way of extending a commerce entity. Components can be added or removed by a plugin into a commerce entity by adding to the components property. This is usually done via a PipelineBlock or a RuleAction.

Only one of a specific type of component is allowed in a commerce entity. This should be enforced on the persistence of an entity. Other plugins do not need knowledge of components supplied by other plugins, unless required.

The existence of a component in an entity may trigger business actions. For example, if a delivery component is on a line item of a shopping cart upon order creation, the delivery pipeline invokes business processes.

If you have suggestions for improving this article, let us know!