Version control is a smart system that tracks changes to files, creating a timeline of modifications. Why does it matter? Well, it’s a game-changer for collaboration, allowing teams to work together without stepping on toes.
Plus, it acts like a safety net, so you can experiment fearlessly and roll back if needed. Businesses love it for risk mitigation, compliance, and fostering innovation. In a nutshell, version control is a must-have tool for any data-driven team!
In this blog, we’re going to delve into the magical world of version control in Alteryx Designer and Alteryx Server. It is important to keep your workflows organized, track changes, and collaborate seamlessly. That’s where version control comes to the rescue! Trust me, and it’s the secret sauce that can make all the difference in your business setting.
Version Control and Alteryx Designer
First things first, let’s talk about Alteryx Designer. While it doesn’t have a specific built-in version control feature, don’t fret! You can still get some version control capabilities by comparing workflows.
Imagine this scenario:
You are working on a workflow. You save it and share it with your coworker. The next day he tells you that it is not working as you said it was. How do you know what is wrong? You decide to sit down and take a look at the workflow again and compare it with what your coworker sent you. You confirm both workflows use the same source of data. At face value, the two workflows look exactly the same.
Somehow even though everything looks the same, the results are different. The example above is a simple workflow that could take you 5 minutes to check the logic and find the difference, but imagine if we were talking about a workflow with over 100 tools. Don’t even get me started with workflows with hundreds of tools and macros.
Now let’s use the Compare Workflow feature in Alteryx Designer (found under the Options navigation tab):
You have now easily identified the change your coworker applied to the workflow but forgot to tell you about it. He changed the filter to a different year, messing up the logic completely!
Even though Alteryx Designer does not have a straightforward version control option, you can compare workflows and quickly find out the changes.
Version Control and Alteryx Server
But here’s the catch – while this manual approach can save the day for smaller projects, it might become a bit unwieldy for larger teams or more complex workflows. Just imagine multiple team members working on different parts of a project simultaneously. Things could get messy, and the risk of conflicts and errors could increase. That’s where Alteryx Server steps in to take version control to a whole new level.
Cue the applause! Alteryx Server brings forth the true power of version control. Whenever you upload a new version of your workflow to Alteryx Server, it cleverly saves and manages these versions, creating a timeline of your workflow’s evolution.
Watch out for the best practices around Alteryx Server. Whenever you are uploading a workflow to the Server, you have two options, either upload a brand new workflow or update a previous version of a workflow (version control). However, this is not a prompt you receive and decide. By accident, users may upload brand new workflows when they are actually meant to create a new version of a workflow.
If you are trying to create a new version of a workflow, the best method is to open the workflow directly from a Gallery Connection (screenshots #1 and #2). This way, you are opening the active version of the workflow, and whenever you just save it using Ctrl + S(screenshot #3), you will see a prompt asking if you would like to create a new version of the workflow on the Server. By following these steps, you will create a new version of the workflow on the Gallery (screenshot #4).
Accidentally Creating a New Workflow Instead of New Version
If, by accident, you create a new version of a workflow, there is an easy fix. On the workflow page on the Gallery, you can replace the workflow with a different workflow, thus creating a new version of the workflow. In this scenario, the workflow you have the page open will become a previous version of the workflow, and the one you select will become the active workflow.
The other workflow that now became the newer version will cease to exist. Think of it as the other workflow getting incorporated into this workflow and becoming a new version.
Alternative Methods for Version Control
Like any other software, you may find different ways of implementing version control outside of the software itself. This could mean you are creating “workflow_v75_final.yxmd” or some more advanced methods like leveraging Git.
Since Alteryx assets are nothing more than just XML files, you could implement Git to manage different versions of a workflow. Leveraging Git is definitely an alternative, albeit not used that much, and would be outside of the support Alteryx will provide you with. If you are comfortable with Git, why not give it a try?
However, most people that leverage Alteryx do not have that kind of experience with Git. Creating new files and naming them “v1”, “v2”… wouldn’t be the most logical approach either. These are all alternatives, but I personally believe the Alteryx Server method is the best one in this scenario.
Conclusion
There are different options and best practices around version control. I recommend you evaluate your current processes and see if they make sense. The idea is to have the best system for you and your company. Alteryx offers you different solutions for each of the products mentioned today.
In my opinion, the ability of versioning control through Alteryx Server is key for any company to properly maintain a high level of data governance and SOX compliance with their Alteryx workflows.
Happy version controlling, and may your data analysis endeavors be ever so enchanting. If you have any additional questions regarding version control, reach out to our team of experts!