Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Workflow to Parse XML for all Workflows in a directory

TimN
13 - Pulsar

Hi,

I'm new to Python and there is probably a better way but my goal is to extract details (SQL, formulas, etc.) from all of my existing workflows.  I'm stuck on two things:

 

1. How do I know from the XML, the order that a tool gets executed?

2. How do I know what tools are part of a container?

 

Thank You,

 

Tim

Attached is a sample of my output.  I add the WF File name as well.

 

 

7 REPLIES 7
BrandonB
Alteryx
Alteryx

If your objective is documentation, you may want to take a look at the Auto Documentation analytic app: https://community.alteryx.com/t5/Engine-Works/Auto-Documentation/ba-p/545827

TimN
13 - Pulsar

Hi Brandon,

Thanks, I do use that but this would allow be to dive into my entire library of WFs.  I've used that WF to generate a PDF to document a single workflow.

 

Regards,

 

Tim

BrandonB
Alteryx
Alteryx

In theory you could just turn that into a macro and feed in the list of workflow file paths from a directory tool in as a control parameter and set the output to dynamically change the file name. 

TimN
13 - Pulsar

Yes, I have that working.  I scan yxmd, yxmc and yxwz files.  I get eveything I need accept for the order that the tools run in and whether or not a tool is in a container.  The macro uses python to "flatten" xml but I need to figure out how to add order and container info. 

 

 

TimN_0-1606165720515.png

 

BrandonB
Alteryx
Alteryx

They have another version that accounts for containers: https://gitlab.com/keyrus-us/public/alteryx_auto_doc_revamp/-/tree/master

 

I haven't personally worked with it yet, but it may have the information that you are looking for there

TimN
13 - Pulsar

Thanks.  I'll take a look.

TimN
13 - Pulsar

I found this on Github.  This is different from Keyrus and so far gives flexibility.  You can extend it from the user case it was built for with Python.  

 

https://github.com/shiv-io/Alteryx-Metadata-Parser/blob/master/LICENSE 

Labels