Hi,
I'm new to the Alteryx Community, so forgive me if I'm posting in the wrong place.
I have developed a custom tool for Alteryx with a C# GUI and a C++ engine.
But I'm not sure of the best way to create an installer for it.
I have created an NSIS installer that lets the user choose an installation folder and then I write an ini file to <Alteryx>\Settings\AdditionalPlugins like:
[Settings]
x64Path=C:\InstallFolder
x86Path=C:\InstallFolder
ToolGroup=Preparation
This works well enough, however it doesn't seem to provide a mechanism for me to specify a tooltip description of the tool. The only way I can find to specify a description is to add a Node to <Alteryx>\bin\RuntimeData\DefaultSettings.xml like:
<Node MergeId="tool.name" Description="Tool Name">
<Group>Preparation</Group>
<Metatag>deduplication| data</Metatag>
<Tooltip>
<Description>Description of the tool.</Description>
</Tooltip>
</Node>
But I'd rather not have to edit DefaultsSettings.xml - it doesn't seem like the right thing to do.
The .yxi tool installer looks promising as it uses a Config.xml that specifies: Description, ToolVersion, etc. but this only seems to support JavaScript plugins and Macros. Can this support dll based tools?
I watched a video of the "Unlocking the Secrets of the Alteryx APIs and SDK" from London Inspire by @TashaA but that didn't really have much to say about custom tools built using the C#/C++ SDKs.
What is the best way for me to install my custom tool and specify a tooltip description?
(None of the SDK Sample tools have a tooltip description).
Thanks in advance to anyone who can help me.
Solved! Go to Solution.
Unfortunately, as it stands that is the only way.
One option is to use a JS GUI rather than a C# one and then you will be able to have the metadata specified. Depends on the complexity of your UI and what you are doing I guess.
I believe it is on the roadmap to expand YXI to support C#/C++ but no idea if or when will happen.
The NSIS installer is better than my PowerShell based solution I expect, but you are welcome to take a look as you want. https://github.com/jdunkerley/AlteryxAddIns/tree/master/Scripts.
I am hoping the next OmniBus version will use attributes in C# to populate the DefaultSettings.xml file but I haven't finished it yet.
Thanks for this.
I don't think I could make a JS GUI work me. My GUI has only a few basic options but also has an "Advanced..." button that launches a Windows Forms DLL that has a tabbed dialog with loads more settings.
I guess I could prompt the user to allow me to edit DefaultSettings.xml and if they choose "No" they just don't get tooltips.
Slightly off topic, but I know Mr. Dunkerley has the kind of knowledge that few others have, so here goes... Do you have instructions for how to install Custom tools to a non-Admin Alteryx install? I cannot get Alteryx to discover my custom tools when Alteryx is installed under a roaming profile, and it is driving me nuts. Thanks in advance for any forthcoming help.
Hmmm, I'm wondering if I sidestepped that issue by never installing anything into "Program Files"
Possibly. I have always used the Admin install, and encouraged every client to use that too. That puts everything under "C:\Program Files", and the custom tool install works. Just recently I came across someone who had not used the Admin install, and I just could not get the custom tools to appear. I would really hope the Dev team would hop in here and post up a reply, as this is the kind of thing that *should* be easy to find out. The documentation would really benefit from including the details too. Thanks for the response.