Pipelines

Pipelines predated controllers and are similar in terms of functionality they provide.

Note:

If you're creating a new site, we recommend controllers instead of pipelines. We also recommend using Storefront Reference Architecture (SFRA) as the basis of your storefront. For more information, see Getting Started with SFRA.

When you create a pipeline, you can specify a group. For example, you could create a Cart group and add pipelines to the group.

In UX Studio, the Cartridge view shows a pipeline group as a folder that contains the pipelines assigned to the group.

Pipeline Properties

Each pipeline has several properties:

Property Description
Name Unique identifier.
Type

Viewing or process:

  • Use viewing pipelines to create an output via an interaction node. They should contain public start nodes.
  • Use process pipelines to perform processes. They should terminate only with end nodes.
Description Optional text.
Group A string representing a functional category. For example, you can organize pipelines for customer, checkout, or other functional areas.
Note: Although you might see the backoffice and job pipeline types, these are legacy types that are deprecated in the current version of Studio.

Pipelines can include:

  • Script nodes
  • Pipelets
  • Elements that interact with subpipelines
    • Call node
    • Jump node
  • Elements that facilitate flow control
    • Decision
    • Join
    • Loop

File Location

Pipelines are stored in XML files in the file system, both locally on your PC and on the server. Pipelines are defined and stored within the context of a cartridge.

\<cartridgename>\cartridge\pipelines

Pipelines within a cartridge are available to all sites that have been configured to use that cartridge.

When the storefront application attempts to reference a pipeline in a cartridge, it searches for the pipeline in the cartridge's path and uses the first one it finds in the cartridge. Therefore, it's best to use unique pipeline names to ensure that the framework locates the correct pipeline.

The application tries to match the pipeline in each cartridge configured for the site, and uses the first one located.

For example, assume you have the following effective cartridge path configured:
mycartridge:storefront_richUI:storefront:bc_api:core

If you have a Product-Show pipeline in both the mycartridge and the storefront cartridge, the application uses the mycartridge pipeline, because it's the first one found in the path.