Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
The Product Idea boards have gotten an update to better integrate them within our Product team's idea cycle! However this update does have a few unique behaviors, if you have any questions about them check out our FAQ.

Alteryx Designer Desktop Ideas

Share your Designer Desktop product ideas - we're listening!
Submitting an Idea?

Be sure to review our Idea Submission Guidelines for more information!

Submission Guidelines

Design Patterns, Order of execution, Conditional execution & Orchestration

We have discussed on several occasions and in different forums, about the importance of having or providing Alteryx with order of execution control, conditional executions, design patterns and even orchestration.

I presented this idea some time ago, but someone asked me if it was posted, and since it was not, I’m putting it here so you can give some feedback on it.

 

The basic concept behind this idea is to allow us (users) to have:

  • Design Patterns
    • Repetitive patterns to be reusable.
    • Select after and Input tool
    • Drop Nulls
    • Get not matching records from join
  • Conditional execution
    • Tell Alteryx to execute some logic if something happens.
    • Record count
    • Errors
    • Any other condition
  • Order of execution
    • Need to tell Alteryx what to run first, what to run next, and so on…
    • Run this first
    • Execute this portion after previous finished
    • Wait until “X” finishes to execute “Y”
  • Orchestration
    • Putting all together

This approach involves some functionalities that are already within the product (like exploiting Filtering logic, loading & saving, caching, blocking among others), exposed within a Tool Container with enhanced attributes, like this example:

OnCanvas.png

 

 

The approach is to extend Tool Container’s attributes.

This proposition uses actual functionalities we already have in Designer.

So, basically, the Tool Container gets ‘superpowers’, with the addition of some capabilities like: Accepting input data, saving the contents within the container (to create a design pattern, or very commonly used sequence of tools chained together), output data, run the contents of the tools included in the container, etc.), plus a configuration screen like:

 

ToolcontainerConfig_Comment.png

 

 
  1. Refers to the actual interface of the Tool Container.
  2. Provides the ability to disable a Container (and all tools within) once it runs.
    • Idea based on actual behavior: When we enable or disable a Tool Container from an interface Tool.
  3. Input and output data to the container’s logic, will allow to pickup and/or save files from a particular container, to be used in later containers or persist data as a partial result from the entire workflow’s logic (for example updating a dimensions table)
    • Based on actual behavior: Input & Output Data, Cache, Run Command Tools, and some macros like Prepare Attachment.
  4. Order of Execution: Can be Absolute or Relative. In case of Absolute run, we take the containers in order, executing their contents. If Relative, we have the options to configure which container should run before and after, block until previous container finishes or wait until this container finishes prior to execute next container in list.
    • Based on actual behavior: Block until done, Cache, Find Replace, some interface Designer capabilities (for chained apps for example), macros’ basic behaviors.
  5. Conditional Execution: In order to be able to conditionally execute other containers, conditions must be evaluated. In this case, the idea is to evaluate conditions within the data, interface tools or Error/Warnings occurrence.
    • Based on actual behavior: Filter tool, some Interface Tools, test Tool, Cache, Select.
  6. Notes: Documentation text that will appear automatically inside the container, with options to place it on top or below the tools, or hide it.

 

This should end a brief introduction to the idea, but taking it a little further, it will allow even to have something like an Orchestration layout, where the users can drag and drop containers or patterns and orchestrate them in a solution, like we can do with the Visual Layout Tool or the Interactive Chart tool:

Alteryx Choreographer.png

 

I'm looking forward to hear what you think.

Best

36 Comments
Aguisande
15 - Aurora
15 - Aurora

Hi @JohnPelletier 

I guess we can setup a call to discuss your questions.

NicoleJ
Alteryx
Alteryx
Status changed to: Accepted
 
NicoleJ
Alteryx
Alteryx

Designer team is currently planning on a new type of container that allows for container sequencing. Stay tuned for more info to come in the coming months!

 

NJ

akadwa
7 - Meteor

Setting the order of execution of processes within a workflow is an absolute imperative. I'm so glad that you already submitted this and in a much better way than I would have explained!👏😀

To add to this idea:

1) I think it is essential that the process for setting the execution order can be set and viewed graphically (i.e. by having physical arrows joining between each container) so that a user would know exactly what the sequence of execution of processes within a workflow is just by looking at the workflow and without having to go into the settings of each container.

2) Setting the execution order at a container level should not turn off the AMP engine, the AMP engine would still work to optimize processing within each container that is currently being processed based on the execution sequence of that container.

3) It would also be useful to be able to switch the AMP engine on/off at a container level instead of just a workflow level.

 

 

NicoleJ
Alteryx
Alteryx
Status changed to: Coming Soon

Now, there are a LOT of truly amazing ideas in this one beautiful post @Aguisande... ❤️ We think Control Containers will take care of a bulk of them!!

 

However, once you've had a chance to play around, please do let us know if there are additional gaps to be solved, and would love to see those submitted as separate ideas (or support for existing ideas if they are already on the Community). We are super excited for you to get your hands on this upcoming functionality!! 😁

NicoleJ
Alteryx
Alteryx
Status changed to: Implemented

It brings us incredible joy to announce that Control Containers are finally here - and they are awesome. Check out more details about this amazing new tool in this blog article!

 

Now @Aguisande - you had a ton of incredible ideas in this original post, and Control Containers should take care of most of these elements... but if you feel there is still room to grow with this functionality, we'd love to hear more (in a new idea) that helps us understand how we can continue to enhance & improve Control Containers in the future! 😁

 

Cheers!!!

 

NicoleJ_0-1684359054856.gif