Skip to main content

Frank!Flow (Graphical Editor)

Frank!Flow is a browser-based graphical editor for Frank configurations. It provides a drag-and-drop interface to build and edit adapter pipelines visually, as an alternative to writing XML directly.

What Frank!Flow Does​

  • Displays the configuration as a flow diagram (pipes connected by forwards)
  • Allows adding, removing, and rearranging pipes by dragging
  • Generates valid configuration XML from the visual representation
  • Reads existing XML configurations and renders them as diagrams

Running Frank!Flow with Docker Compose​

Frank!Flow runs as a separate container alongside the Frank!Framework. Add it to your docker-compose.yml:

services:
frank:
image: frankframework/frank-framework:latest
ports:
- "8080:8080"
volumes:
- ./configurations:/opt/frank/configurations
environment:
- management.gateway.inbound.class=org.frankframework.management.gateway.HttpInboundGateway

frank-flow:
image: frankframework/frank-flow:latest
ports:
- "8081:8080"
volumes:
- ./configurations:/opt/frank/configurations

Required Configuration​

The management.gateway.inbound.class property must be set on the Frank!Framework container. This enables the HTTP management interface that Frank!Flow uses to communicate with the running framework.

Shared Volume​

Both containers must share the same configurations volume. Frank!Flow reads and writes configuration XML files directly. Changes made in Frank!Flow are immediately visible to the Frank!Framework after a configuration reload.

Using Frank!Flow​

  1. Open http://localhost:8081 in a browser
  2. The left panel shows available configurations and their XML files
  3. Select a configuration file to open it as a flow diagram
  4. Use the canvas to:
    • Add a pipe — drag from the component palette onto the canvas
    • Connect pipes — drag from a forward exit to another pipe
    • Edit properties — click a pipe to open its property panel
    • Delete — select and press Delete
  5. Changes are saved directly to the XML file on the shared volume
  6. Reload the configuration in the Frank!Console to apply changes

XML Compatibility​

Frank!Flow generates standard Frank configuration XML. Configurations created in Frank!Flow can be edited as XML and vice versa.

Note: When using Frank!Flow, the xsi:noNamespaceSchemaLocation attribute on the <Configuration> root element is not required. Frank!Flow resolves element types through its own metadata. However, the attribute does not cause problems if present.

Limitations​

  • Frank!Flow edits one configuration file at a time
  • Complex XPath expressions in attributes are displayed as text (not visually interpreted)
  • Module and include references are shown but not resolved visually
  • Frank!Flow does not start/stop adapters — use the Frank!Console for runtime control