Be sure to review our Idea Submission Guidelines for more information!
Submission GuidelinesHello,
After used the new "Image Recognition Tool" a few days, I think you could improve it :
> by adding the dimensional constraints in front of each of the pre-trained models,
> by adding a true tool to divide the training data correctly (in order to have an equivalent number of images for each of the labels)
> at least, allow the tool to use black & white images (I wanted to test it on the MNIST, but the tool tells me that it necessarily needs RGB images) ?
Question : do you in the future allow the user to choose between CPU or GPU usage ?
In any case, thank you again for this new tool, it is certainly perfectible, but very simple to use, and I sincerely think that it will allow a greater number of people to understand the many use cases made possible thanks to image recognition.
Thank you again
Kévin VANCAPPEL (France ;-))
Thank you again.
Kévin VANCAPPEL
Hi,
Add to the feature where you can open a workflow to show how to use a tool. Allow a user (and share this within an organization) to add a tool template workflow to a tool so one can open the template workflow and then copy the tools in the template into the workflow being worked on. There are instances where we use the same tool combinations like for dynamic file naming and output.
Regards.
In short:
Add an option to cache the metadata for a particular tool so that it doesn't forget when using tool that have dynamic metadata such as batch macros or alteryx metadata engine can't resolve such as python tool.
Longer explanation:
The Problem:
One of the issues I often encounter when making dynamic workflows or ones that require calling external services is that Alteryx often forgets the metadata of what columns to expect. This causes the workflow to forget configuration of downstream tools when a workflow is first opened or when the metadata engine refreshes. There is currently the option to disable the metadata engine from automatically refreshing but this isn't a good option because you miss out on much of the value it brings.
Some of the common tools where I encounter this issue:
Solution:
Instead could we add an option to cache the metadata for a particular tool, this would save the metadata from the last time the workflow ran to within the workflows XML so that it persists when closed and reopened. Then when the metadata engine runs when it gets to this tool instead of resolving the metadata from the tool it instead uses the saved version in the XML. Obviously when it actually runs it would ignore this and any errors would still occur.
This could be an option in navigation pane of each tool. Mockup below:
This would make developing dynamic workflows far easier and resolve issues of configuration being lost when the metadata changes and alteryx forgets the options.
One of things I like to do is select a bunch of tools and to see the collective performance of particular part of a workflow. It would be super cool if these stats were aggregated.
I could imagine then you could run alternative solutions side by side and then just select the tools involved to compare.
Maybe this pointless but my guess is that memory usage could be as important as processing time and is probably a simple addition to the performance profiling feature.
Currently, Control Containers only report in case they are activated:
Info: Control Container (3): Control Container Activated.
...
Info: Control Container (3): Control Container Completed.
It would be very helpful to also get information on disabled Control Containers:
Info: Control Container (3): Control Container Deactivated.
Most of the time I don't want/need the column that I parsed. Provide a check box for if you want the root column output.
There are times where new versions of Alteryx come out, but there are situations where you cannot keep the Desktop and Server versions in sync.
As an example, at his time of the year, we are getting ready for year-end and al the workflows located on the server have been tested and signed off on. Now there is a new version of desktop with new features, but advise everyone to stay on the current version in case we need to make a fix. Typically, if we updated Designer desktop and try to publish the server -- you will get a versioning error.
I propose that when saving to the server, I can choose the compatible version and Designer/Server can let me know if there is any features I am using that will not work. If I don't use any features from a newer version, the workflow will publish.
So, let's say my server and Designer are at version 2022.1 and I decided to download version 2022.2. Typically, if I open and make any change with the new version -- I would get an error saving to the server - even if I am not using new features. However, what I am saying is that there is an option asking me what version I would like to save the workflow to the server as and I can choose 2022.1. Designer or server can check if I did or did not use any incompatible features, and if not, can save to the with the appropriate version.
Thanks,
Seth
Currently, Cache and Run Workflow cannot be used if there's a second branch of data which goes around the tool which you want to cache. This slows down intermediate runs especially in complex workflows with a lot of inter-dependencies.
For example:
If you want to cache at the formula "Do something", Alteryx will not allow this because a single temporary cache file at this tool will not be sufficient:
My suggestion is that Alteryx allows multiple cache files for one single cache event. In this case:
Proposed process:
This way, I could use Cache and Run Workflow much more often which would save me a lot of time.
When the user has no internet connection or when the Help > Source setting is set to "Offline", clicking on a custom tool's help icon will always navigate to
which is practically never desirable for custom tools.
Specifying an offline help URL
Developers should have a way to (optionally) specify an offline help URL. This configuration could behave the same as `help_url` which already supports specifying both URLs and local files. If the offline help URL is not set, it would fallback to the `help_url` configuration.
{
"tools": {
"MyCustomTool": {
"configuration": {
"help_url": "https://mywebsite.com/help/my-custom-tool",
"offline_help_url": "file://help/my-custom-tool.html"
}
}
}
}
All built-in tools have their names, descriptions, help URLs, etc. localized to the currently selected locale. Custom tools should also be able to do this.
Specify localized configuration values
Developers should have a way to specify localized values for any locales they choose to support. Similar to the deprecated .yxlang files, this can be done with supplementary `ayx_workspace.[locale].json` files that redefine a subset of configurations which support internationalization.
/* ayx_workspace.jp.json */
{
"tools": {
"MyCustomTool": {
"configuration": {
"long_name": "カスタムツール",
"description": "これは日本語です",
"help_url": "https://mywebsite.com/help/jp/my-custom-tool"
}
}
}
}
All built-in Designer tools have an associated example workflow that can be opened by right-clicking a tool and selecting Open Example. This feature is invaluable in helping users familiarize themselves with a tool and explore all of its features. Custom tools should be able to specify example workflows of their own.
It is currently possible to specify an example workflow, but
Specifying an example workflow
Developers should have a way to specify the example workflow associated with any custom tool. This would likely be done in the `ayx_workspace.json` file.
{
"tools": {
"MyCustomTool": {
"configuration": {
"example_path": "configuration\\MyCustomTool_1_0\\example.yxmd"
}
}
}
}
Note that a workflow may depend on some external files as well. It would be ideal if an `assets_path` could be defined to easily allow any arbitrary assets to be included with your tool. (This is currently possible, but must be done by manually modifying the .yxi archive; it isn't handled by the SDK). This would easily allow for example workflows to be specified as a path relative to `assets_path`, and if the workflow contains any relative paths to files within the assets folder, they can be resolved.
{
"tools": {
"MyCustomTool": {
"configuration": {
"assets_path": "configuration\\MyCustomTool_1_0\\assets",
"example_path": "example\\example.yxmd"
}
}
}
}
Localization of the example workflow would also be supported when localization of the plugin configuration is supported.
When a plugin is created, it can be labelled with any tool category, existent or non-existent. If the category does not exist, Designer will create it and give it a default icon. It would be nice if a category icon could also be specified, specifically for this case.
Specifying a tool category icon
Developers would have a way to (optionally) specify the tool category icon for their plugin. This would likely be part of `ayx_workspace.json`.
{
"name": "My Plugin",
"tool_category": "Custom Category",
"tool_category_icon_path": "configuration\\tool_category_icon.png",
"package_icon_path": "configuration\\package_icon.png",
...
}
Behavior when installing a plugin
If a plugin has a tool category icon specified, Designer should do the following when installing the plugin:
This prevents changing the icons of existing categories (including built-in categories), but would prevent subsequent plugin versions from updating their tool category icons.
Use case
The company Acme Corporation develops a plugin for interfacing with Acme-related products, and would like all its tools to be grouped in a new category called "Acme" whose icon is the Acme icon.
It would be nice to create our own custom categories to be able to organize tools. It would be similar to how the Favorites category works, but any number of additional categories can be created.
Creating a new category
The user would have a way to create a new category and enter the following information:
Adding and removing tools from custom categories
The user would have a way to add tools to or remove tools from the custom categories.
When working in the Designer, I sometimes have to undo changes. And this experience is quite often very confusing and annoying.
For every change in the workflow, you have to press undo once. However, quite often, one user interaction results in other actions such as automatic move of the donwstream tool, change of size of a tool container etc. In such cases, you have inserted a single tool but need to press undo a couple of times to get back to the original situation. It is, however, often not clear how often. In most cases, I fail using undo at the end and revert my changes by hand.
Please change undo towards undoing one user-action in one undo step.
In case there might be users who like the current behaviour, you might make this a user setting how to deal with the undo history.
One of the most frequent issues I have with my workflow is when the Join Tool reorders columns for no reason. There is an option in the configuration to have the columns revert to the incoming order. It would be nice if the workflow automatically had this set as a default, or provide a toggle option in the settings for this to happen. In many of my flows I've had to create macros to keep the integrity of the column order or remember to go into the settings of this tool and re order the columns before a workflow run.
I would really love to have a tool "Dynamic change type" or "Dynamic re-type" which is used just as "Dynamic Rename".
Col 1 | Col 2 | Col 3 | Col 4 |
Double | Int32 | V_String | Date |
123.456 | 17 | Hello | 2023-10-30 |
3.4e17 | 123 | Bye | 2024-01-01 |
Name | New Type |
Col 1 | Double |
Col 2 | Int32 |
Col 3 | V_String |
Col 4 | Date |
In many programming languages, errors can be thrown and caught so that the final program does not fail even if a procedure or function produces an error.
I would like to propose something similar for Alteryx, using the Control Containers. Already now, a Control Container outputs the log in the container to its output stream on the upper right corner:
Still, the workflow produces an error:
My idea is to optionally avoid the error output to the log but only report the error through the control container's output log. The error message in the output log should be "degraded" to a warning. The output log of the control container should stay unchanged. The configuration of the Control Container could look like this (addition in red):
This would help a lot if stuff produced by others is used (e.g., third party macros) which might fail while this might be normal behaviour for the workflow.
I would like a way to disable all containers within a workflow with a single click. It could be simply disable / enable all or a series of check boxes, one for each container, where you can choose to disable / enable all or a chosen selection.
In large workflows, with many containers, if you want to run a single container while testing it can take a while to scroll up and down the workflow disabling each container in turn.
The function isnumber(<arg>) (in formula-like tools) does not do what I would expect from it:
It returns whether the data format of the argument is numeric. It does not return whether the argument actually represents a number (even though it might be a string).
Currently, you would have to help yourself by something like
REGEX_Match(<arg>, "^[+-±]?\d*([.,]+\d*)?([eE][+-]?\d+)?$")
which is quite clumpsy.
From my perspective, the right setup would have been:
I understand if the functionality of isnumber(<arg>) needs to be preserved. Then, a new function could be called isfloat(<arg>): "Is the argument something which could be converted to a float?" That would still be misleading but better than nothing.
When I run a Standard Workflow in the Designer, I can continue to work on other workflows, I can even run two workflows in parallel.
In contrast, when running an Analytical App in the Designer, the entire program is blocked and neither another workflow can be edited or run.
I propose to allow access to the Designer GUI also when running Analytical Apps.
User | Likes Count |
---|---|
7 | |
7 | |
5 | |
3 | |
3 |