The kernel ships a task type with id script, labeled "Script", but it runs no script: its execute() returns Advance immediately, so it is a no-op pass-through used as a branch or merge point, or as a placeholder while modeling. The "Script" name is misleading: it implies inline scripting, which the kernel deliberately does not provide (automation is opt-in through the Action and ECA-event task types).
Proposed change
- Plugin id:
scriptbecomespassthrough - Label: "Script" becomes "Pass-through"
- Class: ScriptTask becomes PassThroughTask
- Description: "A node that advances immediately, with no behavior of its own."
Impact
- The plugin id is stored in workflow configs as type: script, and in the BPMN data blob as the pluginid property plus the modeler template id org.drupal.task.script.
- The four orchestra_examples workflow configs use it.
- Around twenty kernel and functional tests use script as the generic node type, and two assertions list the kernel palette ids.
- The modeler palette and template id are generated from the plugin id, so the rename propagates there automatically.
Backward compatibility
Orchestra is pre-1.0 (1.0.0-alpha) and ships no update hooks: id changes ride a fresh install, and existing sites migrate stored config by hand. Workflows with type: script nodes need their stored config rewritten (the node type plus the two blob occurrences) on upgrade; this should be noted in the release notes.
Issue fork orchestra-3605961
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
mably commentedOpened MR !215 (git.drupalcode.org/project/orchestra/-/merge_requests/215): renames the plugin id to passthrough, the label to Pass-through and the class to PassThroughTask, migrates the example workflow configs (node type plus the BPMN blob pluginid and template id) and the tests. Affected kernel tests pass locally (36 tests, 235 assertions).
Comment #5
mably commented