Important Community update: The process for changing your account details was updated on June 25th. Learn how this impacts your Community experience and the actions we suggest you take to secure your account here.

Alteryx Designer Desktop Discussions

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

Chained apps - Cannot get data to flow from app 1 to app 2

Paulomi
8 - Asteroid

I am building a chained app, and this is how it operates - 

 

App 1 - Takes in file input from the user, reads it, and outputs it to a .yxdb file. 

App 2 -  Uses the .yxdb file in a File Input to build a list of filters values, based on the input data. 

 

The issue I am facing is this - I can take in file input in App 1, but the filter list does not get updated on App 2. It uses the same filter values as the one that was used to build the app. 

 

But if I run App 1 separately, and then App 2 separately, then the correct list gets populated, but not while the apps are chained to run one after the other. It does not work on Designer or Gallery. 

 

Any idea where I could be going wrong? Thanks in advance. 

7 REPLIES 7
CharlieS
17 - Castor
17 - Castor

Hi @Paulomi 

 

It sounds like you have the difficult part figured out: writing a file that app 2 references to provide the desired interface. What you need to do differently is where/how that file is saved. When you run the apps separately the first app finishes and write the file, then the second app starts by reading the file. When apps are chained, the subsequent apps are queued up and don't have a chance to go back and read that file before they begin, so what you need to do is write the file so that it's accessible to the subsequent apps. This is done by writing the file to the relative temporary/working directory.

Instead of writing the file to:
C:\Folder\Folder\Folder\File.yxdb

 

Just use:
File.yxdb

 

When you don't specify a path, the file will be written to the working directory of the workflow. In the case of chained apps, this directory is shared so the Interface tools in your second app can point to just "File.yxdb" (again without the path) and it will find the file in the working directory that was written by the first app. 

 

If this all makes sense, give it a shot and share your results here. 

Paulomi
8 - Asteroid

Hi @CharlieS You're right, writing to the working directory does help. But, that is exactly how my workflow is configured right now. I should have added this point in my original question. But, it writes the first app output to the existing directory where the workflow is present. The second app references from the same directory. Yet, I get the issue. 

NISHA_373
6 - Meteoroid

Did you get the solution? I am facing similar issue. I have saved all chained app and its output in the same share drive directory yet the output is not flowing from first app to second app and to third app. But if I a running the app workflow individually data get stored in the output

ShrutiMathur
5 - Atom

Hi, is this issue resolved, I am getting the same error on Alteryx Gallery

kirk_kenery
6 - Meteoroid

I am also getting this error. I am also using version 2023.1

Bren_Spill
12 - Quasar

@Paulomi - I have encountered this issue a lot and work around it by working through the steps below. I use a .\ file path to make sure outputs are written to the same folder as the .yxwz file. I do this after I publish to server and the temporary folder that Alteryx will write to has been created.

 

After publishing to server, right click on the workflow tab for the main app and select Open Containing Folder. This will bring you to the temporary file location that Alteryx server can see and will write files to while the chain is running. Move all of the files that are in the externals folders into the root folder where the .yxwz files are sitting. Then go through each app in the chain and point the inputs and outputs to the files that you just moved - quickest way is to copy the path from the folder location and paste it into the input/output tool file path section. I sometimes delete the empty externals folders, and usually leave cleanse tools in the externals as these don't seem to cause any issues.


Once you have connected up all of the inputs and outputs to the temp location, change file paths to all relative, making sure that they all have the .\ format. Run the app wizard in desktop and make sure the outputs in the temporary folder are updating.


Next you can re-publish to server (but might want to double check the file paths once more). Before re-publishing delete all of the files from the temporary folder except for the .yxzp files and the package_abcdefg.lock file. This will create errors but that’s ok. Then go ahead and hit save and go to Workflow Options and then Manage workflow assets. Review the assets to make sure there are no references to files that are not in the temporary folder and uncheck all of the outputs. Hit Done and then Save.


As mentioned above, because we removed the input and output files from the temporary folder you’re going to get errors when you republish the chained app to the server but that's ok. Test in the server and see how it looks. it's common to see a different error at this stage which will say that the server can't find a specific file path. That file path referenced in the error won't be the same as the temporary file location you have been working from, and means that one of your file paths is not set up correctly.


This seems like a convoluted process, but it works consistently for me when running chained apps in our server. Once you do it a few times it becomes quick and easy to work through the steps. If your server is set up differently these specific steps might not work. Let me know if it works out for you.

Bren_Spill
12 - Quasar

Update - when checking file paths, make sure to check file paths within interface tools and in Interface Designer where you have specified which app should be opened once the current workflow has run successfully.

Labels