Workflow Builder - CzendaZdenda/qgis GitHub Wiki

A idea that has come up more than once in discussion among developers and users is the implementation of a "Module Chaining" or "Workflow" system. This system would offer the ability to interconnect the modules, effectively piping one modules output into another's module input. Cf. issue #46.

Some thoughts on this matter follow. This is completely open for discussion.

Ideally, this would be accompanied by a graphical editor, probably a connect the boxes-style interface to the underlying logic.

Of course, not only layers, but also every other parameter could be shared this way. Control & feedback parameters would be no exception, but would be controlled differently by default: Every control input would be connected to the workflow's master control, which ensures that the modules are executed in the correct order and, on the other hand, every feedback output can be connected directly to a common feedback output. These special cases would not be displayed on the GUI.

Given that a module workflow is basically a processes description, just like a regular module, the workflow builder can be implemented as a processing "backend", just like SAGA or OTB. The saved workflows would then be added to the common list of modules.

This later feature would also allow us to treat module serialization as a special case of workflows: A saved module would be a workflow with only 1 module, plus some defaults for the values. This can be apparent or transparent to the user, as deemed more friendly.