[Feature Request]: Support for Enumerated Parameters (Dropdown/Combo Box) in Pipeline/Workflow Run Dialog
- Dominant language
- Java
- Stars
- 1.5k
- Forks
- 476
- Avg merge
- 18h 32m
- Merged PRs (30d)
- 216
Description
### What would you like to happen?
Currently, parameters in Apache Hop are treated as free-text fields. While this offers flexibility, it often leads to execution errors when a user types an incorrect value (e.g., typing "TRUE" instead of "1").
To prevent these errors and remove the need for manual validation steps inside every pipeline, I propose adding a way to define Allowed Values for parameters.
Proposed Change
Metadata Definition: In the Pipeline/Workflow settings (Parameters tab), add a new column called "Allowed Values" (optional).
If left empty: The parameter behaves as a standard text field.
If populated (e.g., 0,1 or Incremental,Full): The UI should recognize this as a list of valid options.
Run Configuration Dialog (UI):
When clicking "Run", the "Value" column in the Run Options dialog should check if there are "Allowed Values" defined.
If defined, instead of a text input, a Dropdown (Combo Box) should be rendered, forcing the user to select one of the predefined options.
Benefits
Data Governance: Ensures that only valid values are passed to the pipeline.
Reduced Complexity: Eliminates the need for "Filter Rows" or "Switch/Case" steps just to validate if a parameter is correct.
Improved UX: Users don't have to guess or remember the exact strings required; they can simply choose from a list.
Fail-Fast: Prevents the pipeline from starting with invalid configurations.
Example Use Case
A parameter hash_update could be restricted to 0 or 1. Instead of a blank field where a user might type "yes", they would be presented with a dropdown containing only 0 and 1.
### Issue Priority
Priority: 3
### Issue Component
Component: Hop Gui
Contributor guide
Research direction
Start in the Hop GUI Pipeline/Workflow settings Parameters tab and the Run Options dialog described in the issue. Trace how parameter values are defined and rendered, then define the Allowed Values behavior for empty and populated fields; done means populated values render as a dropdown and empty values remain text inputs, with invalid choices prevented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100