Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx Server Discussions

Find answers, ask questions, and share expertise about Alteryx Server.
SOLVED

Migrating Workflow handling Alias Between Environments

xAJBx
7 - Meteor

I have been able to successfully implement an Express application that handles both the API exchange between my Dev and Prod Alteryx environments. 

 

Here is the github repository of the express app to facilitate this. https://github.com/xAJBx/wiz-teryx 

 

I have built an Alteryx workflow that allows me to build a relationship between Dev and Prod Alias'.  This relationship table is referenced during the migration process to edit the downloaded Alteryx workflow's xml to reflect the Prod Alias.

 

The migration is successful but validation fails and the alias cannot be resolved on the Prod server.

 

Opening up the Prod server's migrated workflow in Designer shows 1 error.  I open the workflow dependencies and reflects that the correct Prod server Alias cannot be resolved.

 

Doing nothing but saving the workflow back to the Prod server as Version 2 results in a successful validation and workflow can now be ran on Production server.

 

Images are numbered for order in the process to get the migrated workflow to run post migration.

 

Any insight to resolve my issue would be appreciated.

 

Note: I have tried not validating the workflow during the migration which results in the same results that the Prod server cannot resolve alias at runtime. 

8 REPLIES 8
fmvizcaino
17 - Castor
17 - Castor

Hey @xAJBx ,

 

Luckily, I was dealing with that same exact issue yesterday and I was able to find a solution.

 

Basically, when you publish the workflow to the gallery, a temporary alias is sent with your workflow, but unfortunately, that only happens if you publish using designer, when you download the package using the API, that same temporary alias doesn't come together and that is 'needed' when publishing the workflow using the API.

 

Doing nothing but saving the workflow back to the Prod server as Version 2 results in a successful validation and workflow can now be ran on Production server.

That is the reason this works and make us go bananas about it.

 

There are 2 workarounds, one suggested by Alteryx using the galleryalias.xml and service accounts and another workaround suggested by me

1. https://community.alteryx.com/t5/Alteryx-Server-Knowledge-Base/quot-Unable-to-Translate-Alias-quot-W...

 

2. It has manual steps in it, but if you don't have a lot of data connections being created, it is easier to be done.

  1. When saving the workflow to the gallery using designer, a folder is created in a staging folder in alteryx server (\ProgramData\Alteryx\Service\Staging\) and there you will find the so wanted temporaryalias.xml
  2. You can create a workflow with input tools only and publish that from designer to prod server. 
  3. Go to the prod server staging folder and copy that file.
  4. Pack that file together in all your workflows before sending them using the API
  5. Get yourself a beer and have a nice weekend! 😁

To help you understanding the temporaryalias.xml

 

https://community.alteryx.com/t5/Alteryx-Server-Knowledge-Base/Gallery-Data-Connections-FAQ/ta-p/452...

 

 

Best,

Fernando Vizcaino

 

xAJBx
7 - Meteor

You're the man!  thank you!

mercra
8 - Asteroid

@fmvizcaino We've run into the same problem and are working with Alteryx and their engineer forwarded me this.   I love the creativity to get past this issue.  A few questions though... Is the temporaryalias file different per user? Do we have to have all gallery data connections in the temporaryalias (so the workflow that creates it the first time would need all data connections)?   Thanks for the help!

fmvizcaino
17 - Castor
17 - Castor

Hi @mercra ,

 

Before I answer your question, could you please inform your server version and tell me if you are using multiple credentials, run as account or service account?

 

Best,

Fernando Vizcaino

mercra
8 - Asteroid

We're on 2022.3.1.450

We use multiple RunAs - 3 or so.

fmvizcaino
17 - Castor
17 - Castor

Hi @mercra ,

 

I`ve heard (just heard, haven`t tested yet) 23.1 removed this need for the temporaryalias file. If you can wait or upgrade your dev environment to test, that would be the first option, I believe.

 

That said, the temporaryalias is an encrypted file with a list of the available connections for that user, so yes, it is different for everyone, but you can use the same file either way. 

One thing that I haven`t tested is if the encrypted file is different for each user, meaning that you would need to create 3 different alias files, depending on your credential.

 

Bottom line, if you have a single node and only 3 credentials, I would rather go with the other option. Open the server`s designer using the 3 credentials to load the GalleryAlias file and by doing that, you don`t need to worry about the temporaryalias anymore. Only keep in mind that, you need to repeat this process everytime you create or update a connection (the same would apply if you were using the temporaryalias file)

 

Best regards,

Fernando Vizcaino

mercra
8 - Asteroid

If 23.1 removes this pain point I'd be in heaven.   There is an alteryx architect helping me, I'll see if he can confirm 23.1 fixes this.  

 

I agree with your assessment that creating GalleryAlias with designer for 3 users x 1 worker is likely easiest approach for now.

 

Thanks for the help!

fmvizcaino
17 - Castor
17 - Castor

Please let me know if you find this information to be 100% correct 😁