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
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
| Control | What it does |
|---|---|
| Sidebar | Shows or hides the flow sidebar with the Flow and Pipelets tabs. Drag a node from it onto the graph |
| Details | Shows or hides the details panel for the selected node or transition |
| Search nodes or breakpoints | Finds a node or breakpoint in this pipeline. Entries in the search box lists the start nodes, and the node type filter narrows the results |
| Groups | Browses pipeline groups in the project |
| Back, Forward | Go to the previous or next focused node |
| Undo, Redo | Undo or redo the last editor change |
| Refresh | Reloads the pipeline XML from the editor document |
| Breakpoint, Skip breakpoint, Breakpoints | Set or remove a breakpoint, disable it without removing it, and list nodes with breakpoints, see Breakpoints |
| More actions | Holds 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
| Status | Means |
|---|---|
| Dirty | Pipeline changes are waiting to be written to XML |
| Saving | Writing pipeline changes to XML |
| Saved | Pipeline changes are written to XML |
| No changes | Pipeline 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
/**
* @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=falseRemove -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
| Installation | Custom VM options file |
|---|---|
| JetBrains Toolbox | Toolbox › 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 restart | What to check |
|---|---|
The log still says osr | Make 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 slow | Compare with a small pipeline and wait for indexing to finish |
| A license message appears in the editor | That is not a rendering issue, see Purchase & License |
Undo the change
- Remove the
-Djcef.remote.enabled=falseline from the custom VM options, or restore its old value - If you used Apply for Next Restart, open Find Action (
Cmd+Shift+AorCtrl+Shift+A), search for Registry and resetide.browser.jcef.out-of-process.enabled - Restart the IDE
Troubleshooting
| Symptom | What to do |
|---|---|
| The file opens as XML only | Check that it is in a pipelines folder, then use Show Pipeline Editor |
| "Opening the pipeline editor..." stays on screen | Use Reconnect editor. Open XML source opens the file as text in the meantime |
| Pipeline XML Changed after reconnecting | The 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 Browse | Its 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 slow | See Performance |