Changing argument name pushes its default value to all related invoke interface

Let’s say I have a workfile A with input argument “ArgA” and I set default value “valueA” (just for when I want to test only workfile A).

Workfile A is invoked by workfile B, C and D, and the value they pass for input argument “ArgA” is respectively “valueB”, “valueC”, and “valueD”.

If I decide to change the input argument name of workfile A from “ArgA” to “ArguA”, I noticed that instead of just :

  • updating the input argument name in the invoke interfaces in workfile B, C and D,
  • and removing the link to their respective value “valueB”, “valueC”, and “valueD” (which is bad enough!),

it actually also sets their value to the default value “valueA” (copied from workfile A)…

Why not just leave it empty so it is easier to see that the link between input argument and workfile variable is missing ?
At least when I remove my test values, and run the process, it will actually throw an error because the passed variables are empty!

Now with hard-coded values being passed, it will be more difficult to identify that something is broken.

Hi @UrsulaLJD

One possible reason for automatically setting the values to the default value is to provide a fallback option and ensure that the system doesn’t break when the input argument is changed. By setting the default value, it guarantees that the workfiles B, C, and D can still execute without crashing due to missing input values.

However, you’re right that this approach can make it more challenging to identify issues when hard-coded values are passed. If the workfiles are not updated accordingly, it may lead to unexpected behavior or errors that are harder to detect.

Thanks!!

You can write a workflow analyzer and customize with the needed best practices to suit your needs.