Must components reset completely when reconfigured?

I love using the component functionality to allow for easy configuration of parameters. However, I have noticed that when you reconfigure a component that is partly or wholly executed, usually (or always?) the entire component is instantly reset. That is, all nodes within the component are reset, even if they are upstream of the configuration node that has been changed.

This might be for a very good reason that I am not aware of. But if this behaviour is not essential, I would find it very helpful if reconfiguring a component only forced the contents to be reset only as far upstream as is necessary. The reason is that some operations can take a long time, and it is a shame to have to wait for the whole component to execute again if you only need to change a setting that affects steps after the long operation. In such situations, I typically split the component into two components so that the long operation is protected from the subsequent configuration. But in many cases, this results in a less than optimal workflow layout and functionality.

So, would it be possible to change this resetting behaviour of components without breaking their basic functionality?

This issue also seems to apply to selections or edits made via the Table View node in components. This node is useful if you want to enable the user to include or exclude items from a list generated by the component. For example, I have a component that generates a list of names to tag in a set of documents. Including a Table View node as the last step in the component allows the user to open the output of the component and interactively select names that should not be included in the tagging list. The Table View node simply adds a true/false column indicating the selected rows so they can en excluded downstream.

However, instead of just appending the true/false column and continuing the workflow, applying the selection via the interactive view triggers the whole component to execute again. If the operations are not intensive, you might not even notice that this happens. But if they include things like text processing operations applied to thousands of documents, the repeated component execution might take several minutes. This is very unfortunate, given that there is no reason why the upstream nodes need to be executed merely so that a Boolean column can be added to the data table.

The only practical solution is to take the Table View node out of the component, so that it does not trigger the re-execution of upstream nodes. But aside from adding an unnecessary node to the workflow, this defeats much of the intended purpose of the Table View node, which is clearly supposed to integrate with the functionality of components.

(And in case you are wondering, I tried disabling the Table View node’s options to publish or subscribe to selection events, which made no difference to the described behaviour.)

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.