I have a Run Command tool that copies / pastes a blank template Excel file (with just formatting/pivot tables) to a network folder location as part of my workflow. When I am testing this workflow, I often check the "Disable All Tools that Write Output" runtime option to stop all the Excel files from being populated while I'm tweaking things.
Is there a way to potentially reference in the MetaData of the software to see if the "Disable All Tools that Write Output" option is checked and then feed that into the data going into the RunCommand tool so these blank templates are also not populated? The problem for me is that the RunCommand tool is not recognized as a tool that can Write Output.
Any suggestions?
Solved! Go to Solution.
Can you put it into a container and disable the container? Should be a quick fix.
I could do this, but would prefer to not have to seek out that container and remember to disable it every time we want to test the workflow. Really looking for a way to potentially reference that the Alteryx option for "Disable All Tools that Write Output" is enabled in the MetaData or something.
Disable Output is in the XML of a workflow, but this does not include the run command tool, because a run command tool isn't always writing an output. It is an interesting thought though, and is worth submitting as an idea at https://community.alteryx.com/t5/Alteryx-Designer-Ideas/idb-p/product-ideas
My suggestion to reduce your number of clicks and "container hunting" would be to put all of your Output Data tools and Run Command tools in the same container and use the disable container button as an alternative to the runtime option to disable output. I understand that this may not be the most elegant from a workflow organization perspective (maybe make the connections wireless?) but I think that this is the most efficient way to achieve your desired result with the least amount of work.
Is there anyway to reference the XML settings of the Alteryx Designer when running my workflow? I'm thinking about having a Formula tool or something that would potentially look in the XML of Alteryx Desginer for "DisableAllOutput value = True" and then if that were true refuse to pass any records into the RunCommand tools.
Technically you can read a workflow's XML in via an Input Data tool and specify it is a delimited file and choose none for the delimiter.
I have attached a workflow that has an example of a container being disabled based on a condition. I haven't ever taken the approach you are suggesting of reading the underlying XML from a workflow setting and using that as a condition, but it could potentially work. Can you keep me updated if you get it successfully running?
One caveat. I think that you have to File->Save or CTRL+S to save your workflow after disabling output in order for the XML value to be applied to the file.
Hi!
I have an Idea post out in the Designer Ideas board to add two options to all tool containers for "Disable When Browse is disabled" and "Disable when Output is disabled". This would solve the problem by simply letting you configure a tool container to follow these workflow settings, and putting important items (like run command) inside of a tool container on their own.
Please take a look and Like the idea/add a comment if you think it would be helpful!
Thanks @Claje that might help a bit more than trying to over-engineer this 🙂
I was able to get this working today via the attached picture. Your idea of reading in the XML of the .yxmd was brilliant as I always save my workflow when turning Outputs off, so the XML would be updated before I run it. I append the "True" value to my workflow and it stops any files from being Deleted in the downstream RunCommand tool if I have Outputs off. Thanks for the inspiration!