community
cancel
Showing results for 
Search instead for 
Did you mean: 

Alteryx Designer Knowledge Base

Definitive answers from Designer experts.

Moving from Dev to Prod

Alteryx Certified Partner
Alteryx Certified Partner
Created on
PRODUCT: Alteryx Designer
VERSION: N/A
LAST UPDATE: 04/30/2018

ATTACHMENT: N/A 


Use constants to define your environment and move to PROD dynamically.

 

One enterprise use case that I've repeatedly seen is a need to test workflows in an environment separate and distinct from production. Once ready for production, the workflow is then moved and pointed to production libraries. Unfortunately, this often requires the workflow to be updated. At a minimum, the dependencies must be altered to point to different input/output files. This article is not a how-to demonstration and won't solve for all needs, but hopefully it will communicate an approach that might help you create a customized solution for your enterprise needs.

 

If you are not familiar with user constants in Alteryx here's the help documentation link. Using a formula or by referencing the constant within your workflow, you can minimize the effort to making updates to your workflow tool configurations. The path of the data can be stored as a constant. By addressing the path virtually, you can make many updates within the workflow by a single configuration modification!

 

In the configuration of the Workflow Constants, I've added an "Environment" constant. At run-time any formula that reads that constant can take a unique logic path. You can combine the constants so that if the environment is test, then the QA path is used. Alternatively, you can define a PATH constant and make all of your data tools point to that constant directly. Below is a demonstration of a workflow that references a constructed QA output (11) as well as a PROD output (17) by each of these methods.

 

capture2.png

 

The first output is created by using a variable, FullyQualifiedOutputName. This field was constructed by the use of these formulae:

 

IF 
[User.Environment] = 'DEV'  THEN [User.PathDev] ELSEIF
[User.Environment] = 'Test' THEN [User.PathQA]  ELSEIF
[User.Environment] = 'PROD' THEN [User.PathPROD]
ELSE
"ERROR"
ENDIF
[OutputPath]+'\MyOutput.yxdb'

 

Alternatively, the output path could be configured using the following:

 

%User.PathProd%\outputnameplaceholder.yxdb

 

You can see the outputs in the results pane above. Both approaches work. It is up to you to construct a methodology that works best for you.  If you're reading this article and would like to contribute to the article, please add your comments.  Here are some other KB articles on the subject:

 

Cheers, 

Mark