This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
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.
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
Alternatively, the output path could be configured using the following:
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: