guan404ming commented on PR #54783:
URL: https://github.com/apache/airflow/pull/54783#issuecomment-3217154737
| Approach | Pros | Cons | Viewpoint |
|----------|------|------|-----------|
| **`...?params={...}` (JSON encoding)** | - Clear structure (no conflict
between params and options)<br>- Good extensibility | - Requires JSON
encode/URL encode, hard to write and debug<br>- Higher cognitive load for users
| Concern about `options` vs `params` conflict |
| **`...?_options=...&key=value` (flat query)** | - Intuitive syntax,
consistent with Airflow 2.x<br>- No encoding needed, easy to debug<br>- Lower
cost for users to prepare URLs | - `_options` and `params` are not on the same
logical level<br>- Need to reserve `_options` to avoid conflicts with normal
keys | Preference for simplicity, consistency, and usability |
I created this table to summarize the discussion. Personally, I find Jens's
concern reasonable if we try to think from user’s perspective. The flat query
style feels more comfortable and approachable. Especially since some users of
this feature may not be technical. I think reserving `_options` is a suitable
solution to balance usability with potential conflicts where Wei and I concern
about.
> From what I last discussed with @guan404ming, single options would behave
like multiple options if users pass them through the URL.
I initially implemented it this way. However, after manual testing, I found
it was not consistent with our original one-click design in single option.
Therefore, I switched to preloading with default options and I think it would
be more consistent and user-friendly. Next, I will adjust the preload
implementation and update the demo with screenshots covering:
1. Single option preloading
2. Multiple option preloading
3. Key-value pair params
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]