on 08-21-201907:47 AM - edited on 08-08-202303:35 PM by DanH
Guide to Gallery Data Connections - FAQ
Gallery Data Connections allow Gallery administrators to create. share, and permission out database connections to multiple users. The feature allows the Alteryx Gallery and Database Administrators more governance over what connections are being made as well as which users are making the connections. Additionally, they make it easy for Designer users to quickly connect to a database, without needing to know the database details themselves.
What are the advantages of using a Gallery Data Connection?
Centralized area for Administrators to create and share database connections.
Avoids the need for IT to create database connections on each users machine individually.
Easy permissions management - access to the connections can be enabled or disabled instantly.
Users no longer need to know the connection information to connect to their data.
What actually happens when you create the connection on the Gallery?
When you create a Gallery Data Connection, a record is created in MongoDB under the AlteryxGallery > dataConnections collection.
What happens when the connection is used in Designer?
The user is authenticated. With Windows Authentication, the user who is logged into the machine/running Designer is authenticated automatically - it is not possible to change this. This means that this user must be a domain account that can authenticate to that server, and only that user's connections will be synced.
As soon as a user links their Gallery to Designer, a sync takes place that grabs all the connections they have access to and creates a file called GalleryAlias.xml in the user's* profile:
*99% of the time this will be the user logged into the machine, but there is also the possibility that the user is right-clicking and running Designer as a different user.
This file will be updated/synced when you:
Open the Manage Data Connection window from Options > Advanced Settings > Manage Data Connections.
Click Sync All in the Manage Data Connections Window:
What happens when you execute a workflow on the gallery that uses a Gallery Data Connection?
The Gallery 'translates' the connection from an XML file. One of the following will be used:
The Gallery performs a permissions check.
For versions <= 2020.4: The permissions check ONLY applies to the user who uploaded the workflow.
For version 2021.1+: The permission check applies to all users who wish to run or schedule the workflow on the Gallery.
If the connection has not been shared with the uploader, it will error:
Unable to translate alias SQL_on_Gallery
The workflow is executed and the connection to the database is attempted. Any further errors will be around the connection string/driver itself, i.e.
Error SQLDriverConnect: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.
What does 'translate the alias' mean?
This refers to the unpackaging and reading of the XML file to translate the alias name (SQL_on_gallery) to the actual connection string. This must first happen before the connection to the database will even be attempted.
If this fails for any reason, you get the following error:
Unable to translate alias X
What is the __TemporaryAlias.xml file, and when is it used?
When you publish a workflow to the Gallery that contains one of these connections, a file called __TemporaryAlias.xml is packaged with the workflow.
You can see this file when you click Manage workflow assets during publication:
By default, this asset is checked - it should be checked so that the workflow can use this XML to translate the alias.
Once the workflow runs, it is pulled down and unpackaged into the Staging folder, where the workflow itself is pulled down.
Which of the two XML files are used?
The Designer first will try to use the __TemporaryAlias.xml file. This is the preferred way, because as mentioned this XML file is packaged with the workflow,, meaning it can successfully translate on whatever machine (worker) it runs on:
If you don't package the __TemporaryAlias file, it will then try to use the GalleryAlias.xml file. As mentioned, since this is in the User's profile, you would need the Run As user to have this file synced and available in their profile. This method is not preferred. Another issue with this method is that the file will need to be synced on all worker machines.
What are the most important things to know to make sure my workflow will run successfully on the Gallery?
Always package the connection when publishing to the Gallery. As a reminder, this is the default setting when publishing.
In version <= 2020.4: From a permissions perspective, once the workflow is on the Gallery, it doesn't matter who runs the workflow for the translation to happen. Only the uploader of the workflow needs to have the connection shared with them.
In version 2021.1+: All users who wish to run this workflow or schedule this workflow will need to have the connection shared with them. Artisans that publish from Designer should make their Gallery admin aware of which users need to run the workflow so that the Gallery admin can share the connection with those users.