Dev Space

Customize & extend the power of Alteryx. SDKs, APIs, custom tools, and more!

Is there a way to bulk distribute custom tools?

Highlighted
Nebula
Nebula

Hey all,

 

We currently have well over 1000 alteryx users, and we're in a lock-down corporate env which does not allow folks to approve admin installs on their local machines.

 

So - if we build a custom tool (potentially with a .yxi file) then we need to figure out how to distribute this to all of our users without having to repackage and re-roll-out all of Alteryx Designer.

 

Do any of you know a way to do a bulk-push for tools built with the SDK?   IF we were doing this with a simple macro - it's very easy, every machine is set up to point to a shared macro-search-path, so it takes seconds (just drop a new tool in that location, and suddenly everyone has it) - but for SDK tools I can't figure out how to do this...

 

thank you all

Sean

Highlighted
Fireball

Non-admin installed tools end up in C:\Users\Username\AppData\Roaming\Alteryx\Tools.  I have 2 thoughts:

 

  1. Use a batch script to copy tools from a shared location to the user's AppData folder.  These are not live updates, so the batch would need to be re-run for new or updated tools.
  2. You might try deleting C:\Users\Username\AppData\Roaming\Alteryx\Tools and replacing it with a symlink to a shared folder.  This has the benefit of always being up to date.  I have not tried this and do not know if it would work.  Also, with this method, if the user's computer is off the network the user will not have access to the tools.
Highlighted
Fireball

@SeanAdams-

 

We're in a similar environment with similar current user count, so I appreciate your post!

 

Non-admin installs seems the way to go, and I've brought this up with the internal team for this very reason (custom python tool installations).

 

Another avenue that we are pursuing is moving the bulk of our user base to the Server environment, so that only the smaller group of Designer 'developers' would need the installation of the custom YXI tools. Once the YXI tools are installed on the Alteryx Server instances, the bulk of our user base can run the apps/workflows from there.

 

@tlarsen7572- Even with copying the files into that directory, the tool YXI still needs to be 'installed', so that the pip venv (or possibly conda env with 2019.4) is created on the users machine. The script that copies the files would also need to make sure that this venv is in place. See the SnakePlane invoke build command (with update_requirements=True) for an example of this migration script logic that also checks the venv.

 

Note - One thing that I'm moving towards is putting all the 'business logic' into a package on an internal python index that the custom tools can import from directly. This will hopefully reduce the amount of custom business code 'living' on user machines and centralize the code where it can be updated and pulled down to machines as required. Admittedly ... still working on this plan ...

Highlighted
Fireball

@c2willis, good point about venv.  I forgot about that.