Pipeline Editor

Edit SFCC pipeline XML as a graph, follow scripts, templates and routes, set node breakpoints and keep scrolling smooth

The Pipeline Editor opens SFCC pipeline XML as an interactive graph. Edit start nodes, pipelets, decisions and transitions visually, follow the scripts and templates they use, open a route in the browser and set breakpoints on nodes. The XML stays the file you commit, upload and deploy, and the graph writes every change back to it

Select a node to open its Details panel. A Script node shows its script with Go To and Browse, and its Dictionary Input and Output rows follow the script's @input and @output. Edits are written back to the XML, and the toolbar status tells you where that is

Open a pipeline

Open any XML file in a pipelines folder, for example app_custom/cartridge/pipelines/Cart.xml. The graph opens in a tab named "Cart Pipeline Editor", placed before the XML source tab

To switch views, right-click the file in the Project view, the editor or the editor tab and choose Show Pipeline Source or Show Pipeline Editor

Create a pipeline

Right-click a cartridge folder and choose New › Pipeline . The New Pipeline dialog shows the target folder. Enter a name and the plugin creates <cartridge>/cartridge/pipelines/<name>.xml with a starter pipeline and opens it in the graph

Edit the graph

ControlWhat it does
SidebarShows or hides the flow sidebar with the Flow and Pipelets tabs. Drag a node from it onto the graph
DetailsShows or hides the details panel for the selected node or transition
Search nodes or breakpointsFinds a node or breakpoint in this pipeline. Entries in the search box lists the start nodes, and the node type filter narrows the results
GroupsBrowses pipeline groups in the project
Back, ForwardGo to the previous or next focused node
Undo, RedoUndo or redo the last editor change
RefreshReloads the pipeline XML from the editor document
Breakpoint, Skip breakpoint, BreakpointsSet or remove a breakpoint, disable it without removing it, and list nodes with breakpoints, see Breakpoints
More actionsHolds the toolbar buttons that don't fit a narrow tab

Drag nodes to arrange them and drag between connectors to add a transition. Copy and paste nodes, move the selection with the arrow keys and use the minimap to find your way around a large pipeline

Saving

The editor writes graph changes to the XML document on its own, shortly after each change. The status in the toolbar tells you where it is

StatusMeans
DirtyPipeline changes are waiting to be written to XML
SavingWriting pipeline changes to XML
SavedPipeline changes are written to XML
No changesPipeline XML is up to date

The IDE then saves the file like any other document, and with Auto Upload on, the saved pipeline is uploaded. Review the XML in Show Pipeline Source or in your Git diff before you commit

Follow scripts, templates and routes

Resource fields in the Details panel have Browse to pick an indexed script, template or pipeline, and Go To to open it. Double-click a node to open the resource behind it

For a script node, the dictionary inputs and outputs come from the @input and @output annotations of the linked script

cartridge/scripts/catalog/LoadProduct.ds
/**
 * @input ProductID : String
 * @output Product : dw.catalog.Product
 */
function execute(args) {
    // read args.ProductID and set args.Product
}

Select a start node to get three extra buttons around it:

  • The top one opens the route on the storefront, for example https://<host>/on/demandware.store/Sites-RefArch-Site/default/Cart-Show
  • The middle one copies that URL and shows it in an "Endpoint URL copied" message
  • The bottom one opens References with the scripts, templates and XML that call the route. Click one to open it

The endpoint uses the host of the active connection and the selected site scope. With Global scope selected the editor asks you to "Select a site scope before opening a storefront route."

Breakpoints

Select a node and click Breakpoint to set a breakpoint, click it again to remove it. Skip breakpoint disables the selected breakpoint without removing it, and Breakpoints lists every node that has one. You can also click the gutter of the XML source on a line that belongs to a node

Pipeline breakpoints show up as SFCC Pipeline in the IDE breakpoints dialog. They live in the IDE, not in the XML, so they never reach the instance. To pause on them, start a debug session, see Pipeline debugging

Performance

The graph runs in the IDE's embedded browser, JCEF. The plugin asks for a windowed browser, which scrolls and zooms smoothly. On some IDE builds, out-of-process JCEF forces off-screen rendering instead, and scrolling, trackpad gestures and pinch zoom can feel delayed. If the editor already feels smooth, skip this section

When the plugin detects off-screen rendering it shows a Make Pipeline Editor Smoother balloon with Apply for Next Restart, Open VM Options and Read Docs, a panel above the graph with a Do not show again link, and a Pipeline editor performance button in the toolbar. Do not show again hides only the panel

This changes every embedded browser in the IDE

Turning off out-of-process JCEF affects all JCEF views in this IDE, for example Markdown previews, and removes their process isolation. If something else stops working, undo the change

Apply the setting

Try Apply for Next Restart

Click Apply for Next Restart in the balloon if it is offered. It sets the registry key ide.browser.jcef.out-of-process.enabled to false. The plugin confirms with Pipeline Editor Performance Setting Applied

Or add the VM option

Click Open VM Options, or use Help › Edit Custom VM Options. Keep the existing lines and add this one. If the file already has -Djcef.remote.enabled=true, change it instead of adding a second line

-Djcef.remote.enabled=false

Remove -Dsfcc.pipeline.editor.osr=true or -Dsfcc.pipeline.editor.windowed=false if an earlier test added them, they force off-screen rendering

Restart the whole IDE

Save your work, quit the IDE and start it again. Closing the project or the tab is not enough, JCEF reads the setting only at startup

If Apply for Next Restart is missing, the registry key is already off or the VM options force remote JCEF on. Use the VM option. If the plugin can't open the VM options file, it shows Improve Pipeline Editor Smoothness with Copy VM Option and Copy Manual Steps

InstallationCustom VM options file
JetBrains ToolboxToolbox › the IDE › Settings › Configuration › Java Virtual Machine options › Edit
macOS~/Library/Application Support/JetBrains/<Product><Version>/<product>.vmoptions
Windows%APPDATA%\JetBrains\<Product><Version>\<product>64.exe.vmoptions
Linux~/.config/JetBrains/<Product><Version>/<product>64.vmoptions

Edit only the custom copy. The .vmoptions file inside the IDE installation is replaced by updates, and editing a macOS app bundle can break its signature

Check the result

After the restart, open the same pipeline and repeat the same scroll and zoom. To confirm the mode, open Help › Show Log in Finder (or Explorer) and look for the latest Pipeline editor JCEF rendering mode: line in idea.log. windowed means the fix worked, osr means the editor still renders off-screen

After the restartWhat to check
The log still says osrMake sure you edited the VM options of the IDE you actually launch, removed conflicting lines and restarted fully
The log says windowed but a big graph is slowCompare with a small pipeline and wait for indexing to finish
A license message appears in the editorThat is not a rendering issue, see Purchase & License

Undo the change

  1. Remove the -Djcef.remote.enabled=false line from the custom VM options, or restore its old value
  2. If you used Apply for Next Restart, open Find Action (Cmd+Shift+A or Ctrl+Shift+A), search for Registry and reset ide.browser.jcef.out-of-process.enabled
  3. Restart the IDE

Troubleshooting

SymptomWhat to do
The file opens as XML onlyCheck that it is in a pipelines folder, then use Show Pipeline Editor
"Opening the pipeline editor..." stays on screenUse Reconnect editor. Open XML source opens the file as text in the meantime
Pipeline XML Changed after reconnectingThe XML changed while the editor was locked. Reload XML loads the file and drops the graph changes that weren't written yet. Keep Editor Locked keeps both while you decide
A script or template is missing from BrowseIts cartridge isn't linked or indexing is still running. See Cartridges & Modules
A start node's endpoint button shows "Select an active B2C Commerce connection first."Select a connection in the main toolbar
Scrolling or zoom is slowSee Performance

On this page